Python爬虫谷歌Chrome F12抓包过程原理解析


Posted in Python onJune 04, 2020

浏览器打开网页的过程就是爬虫获取数据的过程,两者是一样一样的。浏览器渲染的网页是丰富多彩的数据集合,而爬虫得到的是网页的源代码htm有时候,我们不能在网页的html代码里面找到想要的数据,但是浏览器打开的网页上面却有这些数据。这就是浏览器通过ajax技术异步加载(偷偷下载)了这些数据。

大家禁不住要问:那么该如何看到浏览器偷偷下载的那些数据呢?

答案就是谷歌Chrome浏览器的F12快捷键,也可以通过鼠标右键菜单“检查”(Inspect)打开Chrome自带的开发者工具,开发者工具会出现在浏览器网页的左侧或者是下面(可调整),它的样子就是这样的:

Python爬虫谷歌Chrome F12抓包过程原理解析

让我们简单了解一下它如何使用:

谷歌Chrome抓包:1. 最上面一行菜单

左上角箭头 用来点击查看网页的元素

第二个手机、平板图标是用来模拟移动端显示网页

Elements 查看渲染后的网页标签元素

提醒 是渲染后(包括异步加载的图片、数据等)的完整网页的html,不是最初下载的那个html。

Console 查看JavaScript的console log信息,写网页时比较有用

Sources 显示网页源码、CSS、JavaScript代码

Network 查看所有加载的请求,对爬虫很有帮助

后面的暂且不管。

谷歌Chrome抓包:2. 重要区域

图中红框的两个按钮比较有用,编号为2的是清空请求记录;编号3的是保持记录,这在网页有重定向的时候很有用

图中绿色区域就是加载完整个网页,浏览器的全部请求记录,包括网址、状态、类型等。写爬虫时,我们就要在这里寻找线索,提炼金矿。

最下面编号为4的红框显示了加载这个网页,一共请求了181次,数量是多么地惊人,让人不禁心疼七浏览器来。

点击一条请求的网址,右侧就会出现新的窗口显示该条请求的相信信息:

Python爬虫谷歌Chrome F12抓包过程原理解析

图中左边红框就是点击的请求网址;绿框就是详情窗口。

详情窗口包括,Headers(请求头)、Preview(预览响应)、Response(服务器响应内容)和Timing(耗时)。

Preview、Response 帮助我们查看该条请求是不是有爬虫想要的数据;

Headers帮助我们在爬虫中重建http请求,以便爬虫得到和浏览器一样的数据。

了解和熟练使用Chrome的开发者工具,大家就如虎添翼可以顺利写出自己的爬虫啦。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python发送邮件的实例代码(支持html、图片、附件)
Mar 04 Python
python计算最小优先级队列代码分享
Dec 18 Python
python 爬虫出现403禁止访问错误详解
Mar 11 Python
详解Python中for循环是如何工作的
Jun 30 Python
Python实现屏幕截图的两种方式
Feb 05 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
python3实现多线程聊天室
Dec 12 Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 Python
PyQt5 窗口切换与自定义对话框的实例
Jun 20 Python
python绘制BA无标度网络示例代码
Nov 21 Python
使用Python实现批量ping操作方法
May 06 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
Jun 23 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 #Python
解决python图像处理图像赋值后变为白色的问题
Jun 04 #Python
Python爬虫JSON及JSONPath运行原理详解
Jun 04 #Python
python 实现图像快速替换某种颜色
Jun 04 #Python
python下对hsv颜色空间进行量化操作
Jun 04 #Python
Python-opencv实现红绿两色识别操作
Jun 04 #Python
Python基于pandas绘制散点图矩阵代码实例
Jun 04 #Python
You might like
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
PHP递归的三种常用方式
2019/02/28 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
phpStorm2020 注册码
2020/09/17 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
jQuery轻量级表单模型验证插件
2018/10/15 jQuery
layui复选框限制选择个数的方法
2019/09/18 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
Python探索之SocketServer详解
2017/10/28 Python
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
学习Python爬虫的几点建议
2020/08/05 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
门诊手术室工作制度
2014/01/30 职场文书
经销商订货会主持词
2014/03/27 职场文书
房产买卖委托公证书
2014/04/04 职场文书
青春奉献演讲稿
2014/05/08 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
婚宴父母致辞
2015/07/27 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书