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+mysql实现简单的web程序
Sep 11 Python
Python中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
Python深入06——python的内存管理详解
Dec 07 Python
python与php实现分割文件代码
Mar 06 Python
Python实现栈和队列的简单操作方法示例
Nov 29 Python
python 实现提取log文件中的关键句子,并进行统计分析
Dec 24 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
Mar 24 Python
Python切片列表字符串如何实现切换
Aug 06 Python
Python用SSH连接到网络设备
Feb 18 Python
python 将Excel转Word的示例
Mar 02 Python
python 制作一个gui界面的翻译工具
May 14 Python
Python中json.dumps()函数的使用解析
May 17 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
PHP类的反射用法实例
2014/11/03 PHP
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
bootstrap响应式表格实例详解
2017/05/15 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
深入浅出分析Python装饰器用法
2017/07/28 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
Django框架模板介绍
2019/01/15 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
Python中itertools的用法详解
2020/02/07 Python
基于Tensorflow的MNIST手写数字识别分类
2020/06/17 Python
python接入支付宝的实例操作
2020/07/20 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
财务会计专业应届毕业生求职信
2013/10/18 职场文书
考试不及格的检讨书
2014/01/22 职场文书
信息专业毕业生五年职业规划参考
2014/02/06 职场文书
小学毕业寄语大全
2014/04/03 职场文书
代理人委托书
2014/09/16 职场文书
会计岗位职责
2015/02/03 职场文书
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python