要想实现写爬虫,抓取到数据,首先我们应该分析客户端和服务器的请求/响应,前提就是我们能监控到客户端是如何与服务器交互的。

一般我们用fiddler或Charles抓包,都是对web和手机app的抓包,很少对pc客户端抓包,当我们首次试图抓取pc客户端的数据时,发现以往的方法并不适用了。

web和app抓包这里不做解释,可自行百度,这里主要说一下个人是如何抓取pc客户端数据的。

1:准备工具  fiddler / Proxifier

这里有Proxifier安装包

链接:https://pan.baidu.com/s/1_iudkxCMSEv6VuB0QbPwPg
提取码:dsbe
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V1的分享

2:fiddler正常设置——>打开Fiddler,在菜单栏,打开Tools --Options,前三个选项卡设置下。

电脑抓iOS rtmpt 电脑抓包_数据

 

 3:PC客户端(C/S)抓包需借助工具 Proxifier,设置也简单

电脑抓iOS rtmpt 电脑抓包_数据_02

 

 3.1:先打开代理服务器进行配置

电脑抓iOS rtmpt 电脑抓包_客户端_03

 

 3.2:在打开代理规则进行配置

电脑抓iOS rtmpt 电脑抓包_数据_04

 

 4:配置好后,此时电脑上C/S客户端可以抓到包

电脑抓iOS rtmpt 电脑抓包_数据_05

 

 ps:注意,并不是所有pc客户端都能抓到包。个别客户端做了安全防护机制。

个人遇到的一些场景有:在确认所有条件都配置好的情况下:

a).网络可正常访问,但抓取不到数据

b).使用fiddler抓取数据时,就提示无网络

c).抓取到了数据,但都是乱码,无法解码(个人使用了几种解码方式,并未解码成功,大家遇到此情况可以尝试下)

总结:以上就是使用fiddler工具结合 Proxifier工具抓取pc客户端的操作。

 

 

 

以下为一种新的场景,一般使用不多,可了解下。上面讲的是在本机电脑抓pc客户端数据,那如果在远程机上,按此方法设置是不行的。

相当于在远程机又套了一层关系,具体操作如下:

a):还是先打开代理服务器进行配置

电脑抓iOS rtmpt 电脑抓包_电脑抓iOS rtmpt_06

 

 b):在打开代理规则进行配置。

名称自定义。1、应用程序选fiddler.exe,动作选远程机代理;2,应用程序选客户端.exe,动作选本地代理。

相当于fiddler走远程机的代理,远程机上的客户端走本地代理,这样就能抓取到该客户端的数据了。

电脑抓iOS rtmpt 电脑抓包_抓包_07

 

 注意点:默认的动作选全局Direct,如果抓不到数据,也可以选本地或远程机代理。自己可以尝试下。

电脑抓iOS rtmpt 电脑抓包_电脑抓iOS rtmpt_08