Python抓取APP内容

Python抓取APP内容_第1张图片
Paste_Image.png

因流量入口的变化,有价值的数据不一定全在web上产生,APP是产生数据的方式之一。可以利用APP的数据,来反哺产品信息上的不足,另外在APP上产生的内容对于搜索引擎,也是等同于原创。

首先APP出于安全考虑大多采用HTTPS,其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全;而对于接收端,在SSL/TSL将接收的数据包解密之后,将数据传给HTTP协议层,就是普通的HTTP数据。所以HTTPS相对于HTTP的TCP/IP三次握手,还要多一次握手(解密)的过程。

web内容是从服务器返回的html,app内容是从服务器返回的json或加密的数据,本质一样,都是数据包,所以是可以被截取的。

先对APP进行抓包,抓包工具很多:wireshark/fiddler/charles....,我这里用的charles,过程如下:

1、获取当前电脑IP地址

Python抓取APP内容_第2张图片

2、手机设置代理

1)确保手机与电脑使用同一网络,手机在wifi设置下添加http代理指向电脑的IP,端口为8888

Python抓取APP内容_第3张图片

3、charles设置

1)proxy settings中“http proxy”的port设置为8888

Python抓取APP内容_第4张图片

2)access control setting中添加 0.0.0.0/0

Python抓取APP内容_第5张图片

此时打开APP(我这里打开的是脉脉,默认“实名动态”的界面),发现关键数据被加密了,无法获取正常内容:

Python抓取APP内容_第6张图片

因为虽然iPhone的HTTPS请求已经被Charles拦截,但iPhone无法信任Charles的证书,所以SSL Handshake失败,无法建立HTTPS连接。

于是,用safari打开:http://www.charlesproxy.com/getssl,安装数字证书

证书安装完成后,回到charles,右键加密的url,点击”Enables SSL Proxting”

Python抓取APP内容_第7张图片

再次打开APP,发现数据包已经正常返回:

Python抓取APP内容_第8张图片

将数据包对应的url提取出来,在浏览器访问:

Python抓取APP内容_第9张图片

此时APP的数据接口已经找到,可以用正常采集的方法来拿到APP的内容。

Python抓取APP内容_第10张图片
Paste_Image.png

微信公众号:流量贩子

Python抓取APP内容_第11张图片
GoGo闯的公众号

知识星球(日后有福利发之,比如一段能写黄段子的Python代码~~~)

Python抓取APP内容_第12张图片
GoGo闯的知识星球

你可能感兴趣的:(Python抓取APP内容)