python3.5 urllib.request.urlopen 中文url问题

https://www.zhihu.com/question/22899135

首先,url中的中文要单独处理,不能中英文全部合在一起处理(因为一部分的特殊字符也会被处理掉)。其次。在python3.0+中,已经不支持之前的urllib.quote了,而是需要urllib.parse.quote(str)一种可行的方案import urllibs=‘中文’s=urllib.parse.quote(s)url=’some english url character %s’%(s)urllib.request.urlopen(url)

作者:孙晓飞
链接:https://www.zhihu.com/question/22899135/answer/23746054
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

from urllib.parse import quote
import string

url = r’http://baike.baidu.com/item/人民的名义/17545218’
url = quote(url, safe = string.printable) # safe表示可以忽略的字符
print(url)

作者:知乎用户
链接:https://www.zhihu.com/question/22899135/answer/162163456
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(遇到的问题及解决办法)