Estoy jugando con la API Stack Overflow usando Python. Estoy intentando descifrar las respuestas gzip que da la API.¿Cómo puedo crear una instancia de GzipFile a partir del "objeto similar a un archivo" que devuelve urllib.urlopen()?
import urllib, gzip
url = urllib.urlopen('http://api.stackoverflow.com/1.0/badges/name')
gzip.GzipFile(fileobj=url).read()
Según the urllib2 documentation, urlopen
“devuelve un objeto de tipo fichero”.
Sin embargo, cuando corro read()
en el objeto GzipFile He creado a usarlo, me sale este error:
AttributeError: addinfourl instance has no attribute 'tell'
Por lo que yo puedo decir, éste es el del objeto devuelto por urlopen
.
no parece tener buscan tampoco, ya que me da un error cuando hago esto:
url.read()
url.seek(0)
¿Qué es exactamente este objeto, y cómo puedo crear una instancia GzipFile
funcionamiento de ella?
'Content-Encoding: gzip' debe ser manejado por la biblioteca http, pero desafortunadamente no lo es. Este es [problema 9500] (http://bugs.python.org/issue9500) en la base de datos de errores de Python, para el interesado. –
@Magnus: aplausos, es bueno saber que está al menos en el rastreador de errores. –