Python爬虫入门6:模拟浏览器访问网页的http报文体压缩传输
☞ ░ 前往老猿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爬虫入门6:模拟浏览器访问网页的http报文体压缩传输相关推荐
- python 模拟浏览器selenium_浅谈python爬虫使用Selenium模拟浏览器行为
前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动 ...
- Java中模拟浏览器访问网页(三)
Java中模拟浏览器访问网页(三) 转载:https://blog.csdn.net/qq122627018/article/details/51473150 一.前言 看完上一节中浏览器访问网页的行 ...
- python 模拟浏览器操作_python 使用 mechanize 模拟浏览器访问网页
知道如何快速在命令行或者python脚本中实例化一个浏览器通常是非常有用的. 每次我需要做任何关于web的自动任务时,我都使用这段python代码去模拟一个浏览器. import mechanize ...
- python 模拟浏览器下载文件-python爬虫:使用Selenium模拟浏览器行为
前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动 ...
- python爬虫:Selenium模拟浏览器爬取淘宝商品信息
1.数据提取前期网页分析 分析:淘宝网页数据也是通过Ajax技术获取的,但是淘宝的API接口参数比较复杂,可能包含加密密匙等参数:所以,想要通过自己构造API接口获取完整网页信息很难实现(可能只有部分 ...
- Python爬虫入门:爬取某个网页的小说内容
导入必要的包 import requests import re 要爬的网页 url = 'http://www.shujy.com/5200/244309/' 模拟浏览器发送http请求 respo ...
- Python 模拟浏览器访问网页,Selenium库的详细使用
(一)Selenium基础 入门教程:Selenium官网教程 1.Selenium简介 Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome.Firefox.Safar ...
- python爬虫入门教程:爬取网页图片
在现在这个信息爆炸的时代,要想高效的获取数据,爬虫是非常好用的.而用python做爬虫也十分简单方便,下面通过一个简单的小爬虫程序来看一看写爬虫的基本过程: 准备工作 语言:python IDE:py ...
- python爬虫(20)使用真实浏览器打开网页的两种方法
1.使用系统自带库 os 这种方法的优点是,任何浏览器都能够使用, 缺点不能自如的打开一个又一个的网页 import os os.system('"C:/Program Files/Int ...
最新文章
- 算法了解:RCNN、SPP-Net、Fast-RCNN、Faster-RCNN
- WP8.1学习系列(第五章)——中心控件Hub或透视控件Pivot交互UX
- 【Azure Services Platform Step by Step-第14篇】使用Azure版的ASP.NET Application Providers
- Interview:算法岗位面试—10.15上午—上海某公司算法岗位(偏图像算法,制造行业)技术面试考点之AI算法与实际场景结合产生商业价值的头脑风暴
- 关于SAP Spartacus在服务器端渲染模式和SAP Commerce Cloud API白名单的问题
- 宣布在日本地区正式发布 Windows Azure
- iOS开发之通知中心(NSNotificationCenter)
- Linux下安装ActiveMQ
- 雷达模糊函数 matlab_全场通用 | 雷达通信电子战,专业知识服务
- linux 0.11 源码学习(十四)
- python统计字符串中某个字符出现的次数_【面试题总结】1、统计字符串中某个字符出现的次数(2-Python实现)...
- 网易常用镜像及使用方式
- FPGA学习笔记-IP核-FIFO
- CSS 小技巧:如何保留 hover 的状态?
- 独秀日记:童道自然大夫山徒步
- Selenium4新特性-关联定位策略
- [阅读笔记]蘑菇书《Easy RL》
- 卡通可爱的门户网站登录表单页面
- 抓取百度地图瓦片(离线GIS)
- WordPress升级后,新版编辑器不能使用解决办法
热门文章
- M6:中文多模态预训练模型
- php0034 rankl,血清中Sclerostin、RANKL及OPG在老年股骨转子间骨折早期的含量改变及其临床意义...
- rte_eal_init之内存配置初始化以及大页初始化
- 近上亿人观看,李佳琦薇娅一夜带货破百亿,双十一预售直播再创记录。
- 【pytest】概述pytest——setup、teardown方法和conftest中的fixture用法,来执行测试用例的前置/后置条件语句操作
- python 桌面应用 h5_python前端之h5和css3
- Python_Monkeyrunner
- cesium之3D Tiles Next(下一代的3D Tiles)介绍
- React - React v18 的 批处理
- 如何在mac电脑上免费使用GitKraken