python爬虫爬取的网页数据解压缩的处理

网页压缩技术主要两种gzip和deflate

DEFLATE是一个无专利的压缩算法,它可以实现无损数据压缩,有众多开源的实现算法。
GZIP是使用DEFLATE进行压缩数据的另一个压缩库。

现在普遍支持gzip压缩,Deflate只是一种过时的网页压缩

if __name__ == "__main__":
    url='http://www.qq.com/'
    req = request.Request(url)
    response = request.urlopen(req, timeout=120)
    html = response.read()
    encoding = response.info().get('Content-Encoding')
    print(encoding)
    if encoding == 'gzip':
        html = zlib.decompress(html, 16+zlib.MAX_WBITS)
    elif encoding == 'deflate':
        try:
            html = zlib.decompress(html, -zlib.MAX_WBITS)
        except zlib.error:
            html = zlib.decompress(html)

    charset = chardet.detect(html)["encoding"]
    print(charset)
    #print(html)
    print(html.decode(charset,'ignore'))
 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值