python gzip 字符串压缩_python处理经过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处理其它的压缩格式,这个值就会变化。

参考下文:

你可能感兴趣的:(python,gzip,字符串压缩)