您的位置:首页 > 编程语言 > Python开发

python处理经过gzip压缩的网页内容

2016-03-07 14:39 911 查看
1.处理经过gzip压缩的网页内容

Python在进行网页抓取时,有时会获取到经过gzip压缩后的数据(体积小,传输快),导致无法阅读和使用。

如图所示,为http原始报文。可以看到,header区域的“Content-Encoding: gzip”标明了正文是经过gzip压缩后的数据,而body区域蓝色框里面的数据即是gzip的数据源(至于body区域其它额外的字符,可能是一些辅助标记,这里不做关心)。

至于为什么我们从浏览器打开网页时是可读的文字,是因为浏览器自动帮我们进行了解压。

那么,如何通过编程方式进行gzip解压呢?幸运的是,python标准库zlib自带了gzip格式的解压相关函数。

如下图所示,通过python自带的zlib包,即可完成对压缩数据的解压。

至于最后的那个参数为何是“zlib.MAX_WBITS+16”,是因为zlib不是单纯用来处理gzip的,gzip的数据格式决定了要使用这个值;也就是说如果zlib处理其它的压缩格式,这个值就会变化。

参考下文:

http://stackoverflow.com/questions/1838699/how-can-i-decompress-a-gzip-stream-with-zlib
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: