有没有一种方法可以在Python 3中对字符串进行URL解码
像这样取出东西:
id%253D184ff84d27c3613d%26quality%3Dmedium
解码两次以获取
id=184ff84d27c3613d&quality=medium
有没有一种方法可以在Python 3中对字符串进行URL解码
像这样取出东西:
id%253D184ff84d27c3613d%26quality%3Dmedium
解码两次以获取
id=184ff84d27c3613d&quality=medium
只需使用urllib.parse.unquote()
:
>>> import urllib.parse
>>> urllib.parse.unquote('id%253D184ff84d27c3613d%26quality%3Dmedium')
'id%3D184ff84d27c3613d&quality=medium'
>>> urllib.parse.unquote('id%3D184ff84d27c3613d&quality=medium')
id=184ff84d27c3613d&quality=medium
试试这个:
from urllib.parse import unquote
s = 'id%253D184ff84d27c3613d%26quality%3Dmedium'
unquote(unquote(s))
它将返回:
> 'id=184ff84d27c3613d&quality=medium'
urllib
和urllib2
整合成一个名为urllib
的模块,并拆分为不同的子模块。这对于Python2也适用。 - Blenderfrom urllib import parse.unquote
? - Óscar Lópezfrom urllib.parse import unquote
的意思是“导入urllib库中的unquote函数”。请参考我的翻译。 - Blender
AttributeError: 'module' object has no attribute 'parse'
的错误,相反我必须直接使用urllib.unquote()
。 - neydroydrecimport urllib.parse
。 - jamylak