开篇:要想实现写爬虫,抓取到数据,首先我们应该分析客户端和服务器的请求/响应,前提就是我们能监控到客户端是如何与服务器交互的,下面来记录下常见的三种情况下的抓包方法
1.PC端浏览器网页抓包
网页板抓包是最简单和常见的,比如Google/Firfox/IE等浏览器自带的开发者调试工具(F12)就可以满足一部分需求,如果在请求前和响应后最些处理,比如修改浏览器发出的请求数据和修改服务器相应的数据,用F12开发这工具,就不能满足我们的需求,这里我们引入Fiddler抓包工具,可以理解为本地的代理服务器,实现转发客户端和服务器的请求和响应
设置FIddler:
打开Fiddler,在菜单栏,打开Tools –Options,前三个选项卡设置下,OK,默认的代理设置:127.0.0.1:8888
然后在浏览器端设置代理:127.0.0.1:8888,可抓取到网页请求/响应,后续可以按需要在Fiddler端实现需求,比如:设置断点,过滤请求,修改请求数据,修改响应数据,截获JS等
2.手机端App抓包
手机端App抓包用Fiddler同样很简单,和上面PC浏览器抓包方式差不多,手机端要和PC在同一个局域网,手机Wifi设置代理,IP是PC机器的IP地址,比如:64.35.86.12,端口号是FIddler设置的端口号,一般都是8888,这样手机端的所有网络/响应请求都要经过FIddler抓发,这样我们就可以针对某些链接做分析
3.PC客户端(C/S)抓包
C/S程序抓包需要借助Proxifer
Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。
由于一般的C/S客户端不能设置代理,所以我们FIddler检测不到数据,我们可以通过Proxifer来实现把所有的请求抓发给Fiddler,这样我们就可以在Fiddler分析客户端请求。
Proxifer设置:
设置很简单,下图所示,两步就OK
a).设置代理服务器和Fiddler代理设置匹配
b).设置代理规则
默认的Default,我们可以不管
点击添加
名称:Fiddler.exe
是否有效:是
选择Fiddler的应用程序文件目录,选择后,确认
目标主机:我们本地的Fiddler设置的代理,可以任意
目标端口:任意
动作:Direct
到这里就设置完毕了,我们可以打开腾讯视频视频客户端,在Fiddler和Proxifer看下数据
4.电脑上所有的C/S客户端都可以抓到包
这时候Proxifer打开的时候浏览器会链接不了网络,可以通过设置Fiddler方式,连接网络,添加谷歌浏览器执行程序文件,确认后,可以上网