¿Hay una manera de URL decodificar una cadena en Python 3URL con Python 3
a tomar algo como esto
id%253D184ff84d27c3613d%26quality%3Dmedium
y decodificarlo dos veces para obtener
id=184ff84d27c3613d&quality=medium
¿Hay una manera de URL decodificar una cadena en Python 3URL con Python 3
a tomar algo como esto
id%253D184ff84d27c3613d%26quality%3Dmedium
y decodificarlo dos veces para obtener
id=184ff84d27c3613d&quality=medium
Justo use 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
Prueba esto:
from urllib.parse import unquote
s = 'id%253D184ff84d27c3613d%26quality%3Dmedium'
unquote(unquote(s))
Volverá:
> 'id=184ff84d27c3613d&quality=medium'
Python3 organizó' urllib' y 'urllib2' en un solo 'urllib' con diferentes submódulos. Esto funcionaría para Python2. – Blender
Gracias por señalarlo, ¿cuál sería la forma correcta en Python3? 'from urllib import parse.unquote'? –
'desde urllib.parse import unquote'. Ver mi respuesta – Blender
obtengo 'AttributeError: 'módulo' objeto no tiene atributo 'parse'', en lugar debo usar' urllib.unquote() 'directamente . – Benjamin
@Benjamin: Estás usando Python2. Esto es para Python3. – Blender
No sé por qué tiene que ejecutarse dos veces, ¿puedes explicar @Blender? –