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 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
python3.3教程之模拟百度登陆代码分享
Jan 16 Python
python调用短信猫控件实现发短信功能实例
Jul 04 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 Python
Python pymongo模块用法示例
Mar 31 Python
python调用OpenCV实现人脸识别功能
May 25 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
python实现计算器功能
Oct 31 Python
Python运行提示缺少模块问题解决方案
Apr 02 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
Python实现加密的RAR文件解压的方法(密码已知)
Sep 11 Python
Python代码覆盖率统计工具coverage.py用法详解
Nov 25 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
用ODBC的分页显示
2006/10/09 PHP
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
shiro授权的实现原理
2017/09/21 Javascript
jQuery 防止相同的事件快速重复触发方法
2018/02/08 jQuery
浅谈super-vuex使用体验
2018/06/25 Javascript
vue-router传参用法详解
2019/01/19 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Python 3中print函数的使用方法总结
2017/08/08 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
python多进程读图提取特征存npy
2019/05/21 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
医院护士专业个人的求职信
2013/12/09 职场文书
文明村创建实施方案
2014/03/27 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
2014年团总支工作总结
2014/11/21 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
深入理解go缓存库freecache的使用
2022/02/15 Golang