1. ホーム
  2. python

[解決済み] URLのエスケープ文字をデコードする

2023-01-09 22:58:46

質問

エスケープされた文字が含まれるURLのリストがあります。 これらの文字は urllib2.urlopen htmlページを回復するとき。

http://www.sample1webpage.com/index.php?title=%E9%A6%96%E9%A1%B5&action=edit
http://www.sample1webpage.com/index.php?title=%E9%A6%96%E9%A1%B5&action=history
http://www.sample1webpage.com/index.php?title=%E9%A6%96%E9%A1%B5&variant=zh 

Pythonでエスケープされていない形に変換して戻す方法はあるのでしょうか?

追伸:URLはutf-8でエンコードされています。

どのように解決するのですか?

使用方法 urllib パッケージ( import urllib ) :

Python 2.7

から こうぶんしょ  :

urllib.unquote(string)

交換 %xx を1文字に変換してエスケープします。

unquote('/%7Econnolly/') 収量 '/~connolly/' .

パイソン3

から こうぶんしょ  :

urllib.parse.unquote(string, encoding='utf-8', errors='replace')

[...]

unquote('/El%20Ni%C3%B1o/') 収量 '/El Niño/' .