将URL转换为String(解码URL)

时间:2013-09-27 21:38:50

标签: python url

我的网站看起来像这样:

http://abc.com/hsdl-3201%23008-lite-on-12275800/hsdl-3201%23008-lite-on-12275800

显然,因为有一些奇怪的字符不适合URL格式,并且它们已被编码为%20个字符..我想知道如何轻松解码回包含原始字符的python字符串。

感谢。

2 个答案:

答案 0 :(得分:3)

Python 3

from urllib.parse import unquote

Python 2

from urllib import unquote

然后

unquote('http://abc.com/hsdl-3201%23008-lite-on-12275800/hsdl-3201%23008-lite-on-12275800')
#>>> 'http://abc.com/hsdl-3201#008-lite-on-12275800/hsdl-3201#008-lite-on-12275800'

如果您正在执行此操作以解析表单,请检查unquote_plus,其中空格被编码为"+",因此需要进行解码。

答案 1 :(得分:2)

使用urllib.unquote

来自文档:

  

urllib.unquote(string)用单字符替换%xx转义符   等效。

     

示例:unquote('/%7Econnolly/')产生'/~connolly/'