raw print escape characters python escaping

print - python raw string



Decodificar caracteres escapados en URL (5)

Tengo una lista que contiene URLs con caracteres escapados en ellos. Esos caracteres han sido establecidos por urllib2.urlopen cuando recupera la página 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

¿Hay alguna forma de transformarlos a su forma no escamada en Python?

PD: las URL están codificadas en utf-8



Y si está usando Python3 , puede usar:

urllib.parse.unquote(url)


o urllib.unquote_plus

>>> import urllib >>> urllib.unquote(''erythrocyte+membrane+protein+1%2C+PfEMP1+%28VAR%29'') ''erythrocyte+membrane+protein+1,+PfEMP1+(VAR)'' >>> urllib.unquote_plus(''erythrocyte+membrane+protein+1%2C+PfEMP1+%28VAR%29'') ''erythrocyte membrane protein 1, PfEMP1 (VAR)''


Documentos oficiales

urllib.unquote( cadena )

Reemplace %xx escapes por su equivalente de un solo carácter.

Ejemplo: unquote(''/%7Econnolly/'') produce ''/~connolly/'' .

Y luego solo descifrar.

Actualización: para Python 3, escriba lo siguiente:

urllib.parse.unquote(url)

Python 3 documentos.


import re def unquote(url): return re.compile(''%([0-9a-fA-F]{2})'',re.M).sub(lambda m: chr(int(m.group(1),16)), url)