关于python:0基础学爬虫爬虫基础之抓包工具的使用

大数据时代,各行各业对数据采集的需要日益增多,网络爬虫的使用也更为宽泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前曾经推出不少爬虫进阶、逆向相干文章,为实现从易到难全方位笼罩,特设【0根底学爬虫】专栏,帮忙小白疾速入门爬虫,本期为抓包工具的应用。

抓包工具概述

抓包工具,顾名思义,就是抓取网络数据包信息的工具。抓包工具最后次要利用于测试工作中,通过抓包工具查看网络数据包,并进行剖析,来定位数据传输中的问题。随着一直倒退,抓包工具的性能一直拓展,在网络数据传输中可能将获取到的数据包进行重发、编辑、替换等操作。作为爬虫开发者,咱们须要模仿用户的实在申请来获取数据,所以咱们须要理解指标网站交互中的数据信息是如何传输的,以及具体的申请信息、传递信息、接管信息。因而把握各抓包工具的应用是一项必备的技能。

常见抓包工具及工作原理

目前风行的抓包工具备很多,这里只介绍理论开发中最为常见的。
常见的抓包工具能够分为两种:

1、抓取应用层的HTTP/HTTPS协定包,通过中间人代理截取协定包,如:Fiddler,Charles。

以Fiddler为例,此类抓包工具通过代理某个端口,拦挡通过该端口的通信协议,并对传输数据进行解析展现,应用也起来非常简单。对于HTTP申请,数据传输都是明文,抓包工具能够间接看到数据报文。但HTTPS申请在HTTP根底上多了一层SSL/TLS协定,在数据传输中采纳了双向加密,对于传输中的数据包须要密钥来进行解密,因而抓包工具即便拦挡到了数据包,也无奈对数据进行解析。因而Fiddler、Charles在应用前须要装置证书。

2、抓取传输层的TCP/UDP协定,在网卡的链路层截取数据包,如:Wireshark。

F12开发者工具

F12开发者工具是在爬虫开发中最常应用到的工具,它能够被用来查看网页HTML元素、调试网页、抓包等。

以谷歌开发者工具为例,关上F12工具能够看到此界面。

工具顶部有一些性能选项,在理论开发中,咱们会常常用到以下几种:

元素(Elements):用来查看、批改HTML元素,批改CSS属性,查看款式,监听事件等

控制台(console):记录异样信息,执行JS代码

源代码(Sources):查看网页源码、设置断点、本地替换、运行JS脚本

网络(Network):监听申请资源

本次次要介绍网络(Network)面板。

对于网络面板,咱们须要晓得一些根本的性能按钮。

从左到右有六个选项:

1. 录制按钮: 红色代表正在录制网络流动,会继续监听该网页的网络流动,灰色代表进行录制。

2. 革除按钮: 会将录制到的网络流动革除。

3. 过滤按钮: 能够筛选出URL中蕴含输出信息的申请,也能够抉择依据申请类型进行筛选。

4. 搜寻按钮: 能够搜寻出蕴含输出信息的所有申请。

5. 保留日志: 勾选时,当页面从新加载时不会清空上一次加载时的申请信息,未勾选时页面从新加载时会主动革除上一次加载时的申请信息。倡议勾选。

6. 停用缓存: 倡议勾选。

应用F12抓包

应用开发者工具进行抓包非常简略,只须要进行简略的操作。

1、关上F12开发者工具。

2、关上指标网址。

即可实现抓包操作。

申请列表

申请列表外面蕴含了与网站交互中每个申请资源的信息。

点开任意资源,数据信息次要分为5种:

1. 惯例信息: 惯例信息中记录了申请网址、申请办法、申请状态码,通过惯例信息能够理解申请是否胜利。

2. 响应头信息: 响应头信息中记录了服务端响应的头信息。

3. 申请头信息: 申请头信息中记录了客户端发动申请时携带的头信息。

4. 载荷信息: 记录了申请时提交的数据。

5. 响应信息: 记录了服务端的响应信息。

F12开发者工具性能很弱小,应用起来也十分便捷。然而也存在着很大的弊病:

  1. 容易被网站检测,网站能够检测用户是否关上了F12,烦扰开发者接下来的调试。
  2. 数据主动清空,浏览器为了缩小资源信息的缓存,当一个资源被二次申请时,第一次的响应信息将会被清空。

因而在爬虫开发中,会用到更为弱小的抓包工具。

Fiddler的装置与应用

下载与装置

能够在 Fiddler官网 下载Fiddler经典版,下载时须要提交邮箱等材料。

装置过程很简略,这里就不做介绍。

证书装置

装置实现后在装置目录中找到fiddler.exe运行。 如上文所述,Fiddler在应用前须要装置证书,否则无奈抓到HTTPS包。

装置办法:Tools->Options->HTTPS

勾选以上三个选项。点击Actions-Trust Root Certificate-Yes,信赖证书。

导出证书到桌面,并关上谷歌浏览器-设置-平安-治理设施证书,将导出的证书导入到浏览器。

面板

Fiddler内置了许多弱小的性能,这里只介绍根本用法与罕用性能。

根本用法:

当咱们须要对某个网站进行抓包时,只须要关上Fiddler工具,察看状态栏中的Capturing是否存在,存在则代表正在记录会话。抉择All Processes捕捉所有过程会话。关上网站后,Fiddler会主动的记录每条会话信息,会话列表中记录了Fiddler抓到的每条申请数据包,蕴含:

编号(按申请程序编号)、HOST(申请主机名)、URL、Content-Type(响应数据类型)、Result(响应状态码)、Protocol(申请协定)、Body(字节数)、Caching(可缓存信息)、Process(发动申请的过程)、Comment(正文)、Custom(备注)。

申请信息栏和响应信息栏中记录了申请和响应时的详细信息。

性能:

AutoResponder(响应替换): 通常在逆向开发中,会遇到一些网站的加密算法代码是动态变化的或者通过了高度混同,也可能在某段代码中对F12进行了检测,通过各种伎俩烦扰咱们对网站进行调试。遇到这种状况,咱们就能够应用AutoResponder性能,AutoResponder能够拦挡指标申请,将指标申请的响应内容进行批改。利用AutoResponder,咱们能够将烦扰咱们调试的代码文件进行批改调整,不便之后的调试。

  1. 将想要批改的申请拖入AutoResponder中
  2. 勾选Enable rules -> Add Rule
  3. 点击Rule Editor框的第二栏,滑倒最下,抉择Find a file,抉择进行替换的文件
  4. Save 保留

保留实现后刷新就能够发现指标申请被替换了。

重发: 选中须要重发的申请,点击工具栏中的Replay即可。

模仿申请: 点击工具栏中的Composer,输出指标网址、申请头,抉择申请形式,点击Execute即可发动一次模仿申请。

Charles的应用

Charles与Fiddler的性能大同小异,然而Fiddler经典版不反对mac,Charles反对全零碎,所以Charles算是Fiddler在mac零碎中的一个替代品。所以只做简略介绍。

下载与装置

在Charles官网 下载对应的版本进行装置。

配置

装置证书:进入Charles界面,点击Help -> SLL Proxying -> Install Charles Root Certificate -> 装置证书 -> 本地计算机 -> 放入受信赖的根证书颁发机构存储 -> 实现

设置SSL代理:Proxy -> Proxy Settings -> 勾选如下选项

Proxy -> SSL Proxying Settings

应用

Charles抓包形式与Fiddler统一,关上指标网站Charles会主动抓取申请,点击Stop Recording能够进行抓包。

面板

Charles面板与Fiddler有些区别,能够看到抓到的数据也具体一些。Charles有两种界面模式,能够抉择Sequence,与Fildder比拟靠近。

性能

Filter 依据关键字筛选申请

重发 抉择申请,点击上方Repeat selected requests进行重发

响应替换 成果与Fildder的AutoResponder统一,右键须要进行响应替换的申请,抉择Map Local,在Local path中抉择替换的文件即可。

结语

上文中讲到了F12开发者工具、Fiddler、Charles这三款工具,失常爬虫工作中一些抓包需要这三款工具都能很好的解决,但随着爬虫的一直倒退,反爬虫措施也一直减少。如近年来TLS指纹检测逐步被利用到反爬虫中,在服务端与客户端建设连贯时就能够检测到客户端是否是爬虫程序。通过Fiddler、Charlse这类抓包工具无奈看到在建设TCP连贯时传输了哪些信息,无奈得悉服务端是否可能检测了TLS指纹信息,因而须要用到如Wireshark等更为弱小的抓包工具,所以爬虫开发者在晋升本身程度的同时也须要把握更为弱小的工具,能力更好的解决问题。

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据