☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░
一、引言
在前面章节中介绍了使用urllib包的request模块访问网页的方法。但上节特别说明http报文头Accept-Encoding最好不设置,否则服务端会根据该字段及服务端的情况采用对应方式压缩http报文体,如果爬虫应用没有解压支持会导致应用无法识别收到的响应报文体。本节简单介绍一下怎么处理响应报文体的压缩。
在爬虫爬取网页时,如果在请求头中传递了“‘Accept-Encoding’:‘gzip’”信息则服务器会采用gzip压缩报文,此时客户端必须支持对报文解压缩才能识别报文。解gzip压缩需要安装gzip模块,并在服务器返回http应答报文时判断服务端是否压缩了报文,如果压缩了就进行解压处理,否则直接读取。
二、 对HTTP响应报文的报文体支持压缩的爬虫处理步骤
要进行响应HTTP报文体的压缩,爬虫应用需要进行如下处理:
- 在请求报文的http报文头中的Accept-Encoding中设置能支持的压缩格式
- 读取响应报文后要判断响应报文头中的Content-Encoding的返回值的压缩格式
- 调用对应的解压方法进行报文体解压。
三、案例
- 导入相关模块:

老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI


评论记录:
回复评论: