【发布时间】:2012-01-27 12:39:43
【问题描述】:
有没有办法在 Python 3 中对字符串进行 URL 解码
采取这样的措施
id%253D184ff84d27c3613d%26quality%3Dmedium
解码两次得到
id=184ff84d27c3613d&quality=medium
【问题讨论】:
标签: python html python-3.x
有没有办法在 Python 3 中对字符串进行 URL 解码
采取这样的措施
id%253D184ff84d27c3613d%26quality%3Dmedium
解码两次得到
id=184ff84d27c3613d&quality=medium
【问题讨论】:
标签: python html python-3.x
只需使用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
【讨论】:
AttributeError: 'module' object has no attribute 'parse',而我必须直接使用urllib.unquote()。
import urllib.parse
试试这个:
from urllib.parse import unquote
s = 'id%253D184ff84d27c3613d%26quality%3Dmedium'
unquote(unquote(s))
它会返回:
> 'id=184ff84d27c3613d&quality=medium'
【讨论】:
urllib 和urllib2 组织成一个带有不同子模块的urllib。这适用于 Python2。
from urllib import parse.unquote?
from urllib.parse import unquote。看我的回答。