美文网首页
Python抓取APP内容

Python抓取APP内容

作者: 在下GoGo闯 | 来源:发表于2016-12-20 00:40 被阅读1579次
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地址

2、手机设置代理

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

3、charles设置

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


2)access control setting中添加 0.0.0.0/0

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

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

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

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

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


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


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

Paste_Image.png

微信公众号:流量贩子

GoGo闯的公众号

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

GoGo闯的知识星球

相关文章

网友评论

      本文标题:Python抓取APP内容

      本文链接:https://www.haomeiwen.com/subject/rkrxvttx.html