python处理gzip压缩的http数据 - XII - 博客大巴
python处理gzip压缩的http数据 - [python]
其实关于这个内容DIP里写的很清楚,只是看的时候完全没有遇上问题时记忆那么深刻。本来是想把开心网各群的人数都抓回来看看,到底哪些群人数比较多,(呆子开心网居然不提供人气排序之类的一缸~),结果httplib去GET回来的数据都是gzip压缩过的,这才想起这茬。
照DIP的说法做就没有问题了,其实就是不要把getresponse回来的内存数据直接解压,而是用StringIO转成一个临时压缩文件来解,虽然不大明白为什么要这么做,我想人家应该有人家的难处吧……
1 import StringIO
2 compressedstream = StringIO.StringIO(compresseddata)
3 import gzip
4 gzipper = gzip.GzipFile(fileobj=compressedstream)
5 data = gzipper.read()