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

作者:程序员的人生A 时间:2022-01-01 15:33:15 

浏览器打开网页的过程就是爬虫获取数据的过程,两者是一样一样的。浏览器渲染的网页是丰富多彩的数据集合,而爬虫得到的是网页的源代码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的开发者工具,大家就如虎添翼可以顺利写出自己的爬虫啦。

来源:https://www.cnblogs.com/chengxuyuanaa/p/13024049.html

标签:Python,爬虫,谷歌,F12,抓包
0
投稿

猜你喜欢

  • Python数据结构与算法中的栈详解

    2023-09-28 17:16:14
  • javascript农历日历及世界时间代码

    2007-12-21 13:25:00
  • 对python读取zip压缩文件里面的csv数据实例详解

    2022-04-14 10:48:57
  • jupyter notebook内核启动失败问题及解决方法

    2022-09-21 02:31:04
  • Vue中强制组件重新渲染的正确方法

    2024-05-03 15:11:13
  • 如何用Python徒手写线性回归

    2023-06-12 13:47:14
  • vue3 $attrs和inheritAttrs的用法说明

    2024-04-26 17:39:08
  • Keras设定GPU使用内存大小方式(Tensorflow backend)

    2021-12-20 22:15:12
  • PHP实用函数分享之去除多余的0

    2023-11-15 02:07:59
  • 使用python实现excel的Vlookup功能

    2023-05-01 20:15:15
  • 如何利用Image Data Type在主页中显示图形?

    2010-01-01 15:13:00
  • Python+NumPy绘制常见曲线的方法详解

    2022-01-11 06:14:43
  • 解析MSSQL跨数据库查询的实现方法

    2024-01-21 20:19:19
  • GO语言利用K近邻算法实现小说鉴黄

    2023-06-21 17:15:25
  • Python实现删除时保留特定文件夹和文件的示例

    2021-11-19 01:09:38
  • Python基于多线程实现ping扫描功能示例

    2023-08-02 17:30:09
  • vue中手机号,邮箱正则验证以及60s发送验证码的实例

    2024-04-10 13:50:29
  • python神经网络Batch Normalization底层原理详解

    2021-01-28 12:50:08
  • Go编译原理之函数内联

    2024-05-22 10:12:38
  • 详解Python 实现元胞自动机中的生命游戏(Game of life)

    2023-05-31 07:11:54
  • asp之家 网络编程 m.aspxhome.com