Barry wrote:

> Here's my attempt at petching a webpage which is gzip encoded -
> 
> import urllib.request
> import gzip
> import io
> 
> request = urllib.request.Request(url='http://en.wiktionary.org/wiki/
> baby',headers={'Accept': 'text/html','User-Agent':'Mozilla/5.0
> (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/420.1
> (KHTML, like Gecko) Version/3.0 Mobile/1A542a Safari/419.3'} )
> response = urllib.request.urlopen(request)
> data = response.read()
> 
> compressedstream = io.StringIO(data)
> 
> gzipper = gzip.GzipFile(fileobj=compressedstream)
> data = gzipper.read()
> print(data)
> 
> 
> However it gives the error:
> 
> Traceback (most recent call last):
>   File "test.py", line 9, in <module>
> TypeError: initial_value must be str or None, not bytes
> 
> How should I be doing this for Python 3?

Use io.BytesIO instead of io.StringIO, as Rob Williscroft showed you 
yesterday.

Peter
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to