@coder-pig
2020-11-05T16:45:04.000000Z
字数 2499
阅读 1105
Python爬虫教程
抓包(Packet Capture):将网络传输发送与接收的数据包进行截获、重发、编译、转存等操作,也用来检查网络安全。
——摘自《百度百科-抓包》
简单点说:抓取客户端与远程服务器间通信时传递的数据包。
本节带着读者学习一波入门抓包工具——Chrome开发者工具的使用,此工具为Chrome浏览器内置,没安装此浏览器的请自行下载安装。
Windows下可按F12、Ctrl+Shift+I、点击浏览器右上角更多工具打开:
也可以在页面元素上右键选择检查(Inspect)打开。
打开后开发工具页面如下:
结构依次为:
抓包的话,主要关注Network选项卡,它由下图所示的四类窗格组成:
下面一一介绍下~
图标及对应描述如下所示:
Tips:HAR(HTTP Archive),HTTP档案规范,基于Json,用来存储HTTP请求/响应信息的通用文件格式。使用这种格式导出的数据可被其他支持HAR的HTTP分析工具(Fiddler,Httpwatch等)使用。
可在Filter输入框处输入过滤条件,比如:method:GET,只会显示Get请求方式的请求,常用指定条件如下表所示:
指定条件 | 描述 |
---|---|
domain | 资源所在的域,即url中的域名部分,如domain:coderpig.cn |
has-response-header | 资源是否存在响应头,无论其值是什么,如 has-response-header: Access-Control-Allow-Origin |
is | 当前时间点在执行的请求,当前可用值:running |
larger-than | 显示大于指定值大小规格的资源,单位是字节(B),但是K(kB)和M(MB) 也是可以的,如larger-than:150K |
method | 使用何种HTTP请求方式,如GET方式 |
mime-type | 也写作content-type,是资源类型的标识符。如text/html |
scheme | 协议,如HTTPS |
set-cookie-name | 服务器设置的cookies名称 |
set-cookie-value | 服务器设置的cookies的值 |
set-cookie-domain | 服务器设置的cookies的域 |
status-code | HTTP响应头的状态码 |
而后跟着过滤不同类型的资源,按住ctrl/control点击,可以选择多个过滤器,可搭配Filter输入框一起使用。
请求列表对应字段及描述如下所示:
点击其中一个请求打开:
右侧顶部有五个选项卡,依次为:
编写爬虫时一般先看Headers选项卡,看下请求需用到的请求头,请求参数等,然后在看Response选项卡返回的数据查看要解析的结点。
另外,还可以右键,对请求仅限复制、保存,或者清除:
有点多,就不一一介绍了,读者可以自己试试。
① 底下的Summary(摘要)是记录请求站点耗时,资源等,没太大作用就不详细介绍了。
② 还有Overview(概览),默认是关闭的,可以点击右上角的设置,勾选Show overview:
此图表显示的是检索资源的时间轴,如果看到多个垂直堆叠,意味着这些资源时同时检索的。
③ 按住Shift并移动鼠标到资源上,可以查看它的发起者和依赖关系。
红色资源为当前请求的依赖,绿色为依赖此资源的请求。
小贴士:可在浏览器键入 chrome://about 查看Chrome浏览器中所有的地址命令~