python encoding python-2.7 utf-8 urldecode

Url decodifica UTF-8 en Python



python urldecode (2)

Los datos son bytes codificados en UTF-8 escapados con comillas URL, por lo que desea decodificar :

url = urllib.unquote(url).decode(''utf8'')

Manifestación:

>>> import urllib >>> url=''example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0'' >>> urllib.unquote(url).decode(''utf8'') u''example.com?title=/u043f/u0440/u0430/u0432/u043e/u0432/u0430/u044f+/u0437/u0430/u0449/u0438/u0442/u0430'' >>> print urllib.unquote(url).decode(''utf8'') example.com?title=правовая+защита

El equivalente de Python 3 es urllib.parse.unquote() , que maneja de manera predeterminada la decodificación por usted:

from urllib.parse import unquote url = unquote(url)

He pasado mucho tiempo hasta donde soy novato en Python.
¿Cómo podría decodificar una URL así?

example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0

a este en Python 2.7: example.com?title==правовая+защита

url=urllib.unquote(url.encode("utf8")) está devolviendo algo muy feo.

Todavía no hay solución, se agradece cualquier ayuda.


Si está utilizando Python 3, puede usar urllib.parse

url = """example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0""" import urllib.parse urllib.parse.unquote(url)

da:

''example.com?title=правовая+защита''