gpt4 book ai didi

python - 如何在 Python 中处理包含空格的链接

转载 作者:太空狗 更新时间:2023-10-30 02:43:33 27 4
gpt4 key购买 nike

我正在尝试从网页中提取链接,然后在我的网络浏览器中打开它们。我的 Python 程序能够成功提取链接,但有些链接之间有空格,无法使用 request module 打开。

例如 example.com/A, B C 它不会使用请求模块打开。但是,如果我将其转换为 example.com/A,%20B%20C,它将打开。 python 中是否有一种简单的方法可以用 %20 填充空格?

`http://example.com/A, B C` ---> `http://example.com/A,%20B%20C`

我想将它们之间有空格的所有链接转换为上述格式。

最佳答案

urlencode其实就是取一个字典,例如:

>>> urllib.urlencode({'test':'param'})
'test=param'`

你实际上需要这样的东西:

import urllib
import urlparse

def url_fix(s, charset='utf-8'):
if isinstance(s, unicode):
s = s.encode(charset, 'ignore')
scheme, netloc, path, qs, anchor = urlparse.urlsplit(s)
path = urllib.quote(path, '/%')
qs = urllib.quote_plus(qs, ':&=')
return urlparse.urlunsplit((scheme, netloc, path, qs, anchor))

然后:

>>>url_fix('http://example.com/A, B C')    
'http://example.com/A%2C%20B%20C'

取自How can I normalize a URL in python

关于python - 如何在 Python 中处理包含空格的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33049729/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com