写过不少网页爬虫,这次来跟大家讲讲APP爬虫CharlesCharles是一个HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看其机器和Internet之间的所有HTTP和SSL / HTTPS流量。这包括请求,响应和HTTP标头(包含cookie和缓存信息)Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议下载Charles并不是一款免费产品,你需要破解才能使用,建议购买正版软件。这里使用的是文件覆盖的方法,即:下载新的charles.jar文件,并在Charles的安装目录下替换掉它,Windows下替换目录在:.\Charles\lib\。破解的charles.jar文件可以在网上搜索下载。配置Charles配置如果打开Charles的时候,屏幕上弹出这样一个提示框:
然后设置代理:
修改如下的IP和端口号为刚才查询的本机IP及设置的端口号。安装证书Charles证书安装设置好代理后,默认我们是看不到HTTPS请求数据的,如果需要抓取的是HTTPS协议(目前大多数网站都是这个协议)的网站,需要下载Charles证书。打开Charles:
安装好证书后,为避免出错,最好将其完全信任:打开设置->通用->关于本机->证书信任设置->找到该证书信任即可
APP抓包由于近期主要爬取机票数据,就挑选了机票类的APP来练手,首先需要你下载好APP。然后打开它,这里我随便选取了一天的航班:
你会发现Charles已经开始抓包了:
一层层打开如下的JSON格式文件,就可以看到许多机票信息了:
然后把URL加上?和`Request·拼接好,输入浏览器,即可访问JSON文件啦!我使用的是Firefox浏览器,可以自动格式化JSON数据,打开页面如下所示:
到这里,数据包分析已经差不多完成了,剩下的就是编写爬虫了。
————END————–
课程买一赠一再送一 的活动正在火热进行中