admin管理员组文章数量:1794759
如何采集 APP 上的数据
APP 爬虫和 Web 爬虫类似,只不过 APP 的接口和数据是需要通过抓包来分析的,而且绝大多数 APP 都会采用 HTTPS 加密协议传送数据
1. 抓包抓包工具有很多,可自行查找 Mac 下使用轻量级的 Charles 即可
Charles 官方教程:www.charlesproxy/documentation/using-charles/ssl-certificates/
Charles 简明教程:zhubangbang/charlesproxy
设置好代理,安装好 CA 证书,我们就可以抓包了
补充:
考虑到很多同学一直在使用 Fiddler 比较习惯,但是 Fiddler 是在 Windows 下运行的,使用 Mac 的同学怎么办呢?
好说,Mac 中有一个神器 Mono 可以运行 Windows 软件,可以从官网上获得
Mono 官网:www.mono-project/download/stable/ Mac 使用Fiddler 教程:www.jianshu/p/e99c6d63a8ad
2. 分析 API 接口接下来的工作就和 WEB 爬虫几乎一样了,找到请求接口、各类参数、头部信等即可使用编程语言进行爬取数据了
证书问题在安装证书的时候我遇到一些问题
1. 证书无法安装安装证书
Mac点击 Charles菜单下 Help -> SSL Proxying -> Install Charles Root Certifacate 选择添加。 从应用钥匙串访问搜索Charles,找到添加的证书,双击证书,在信任下选择始终信任。
IOS从chls.pro/ssh下载证书到本地。 以AirDrop方式共享或者邮件附件发送到IOS手机上,并在手机上选择安装。 在手机设置 -> 通用 -> 关于本机 -> 证书信任设置 中打开信任。
Android从 chls.pro/ssh 下载证书到本地。 复制到手机sdcard上 在手机设置 -> 安全 -> 从存储设备安装 中命名并选择WLAN按照。
注意:通过Charles抓包的时候需要在菜单Proxy -> SSL Proxying中配置需要开启Enable SSL Proxying并配置需要抓包的域名。
小米设备我使用过 安卓模拟器、小米手机和小米平板,小米的设备会出现 crt 证书无法安装的情况
这是因为手机内部的安全机制所致,我们在安装证书的时候可以将证书只用于网络即可,下面是两种安装证书的方法
-
设置——WiFi——高级设置——安装证书
-
设置——更多设置——系统安全——从存储设备安装证书
在抓包的时候,使用 Python 的 pip 工具进行安装包的时候,发现出现了类似
[connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed]这样的错误
据网络上说是因为 pip 服务器使用了最新的 https 协议,导致 pip 无法通过自身更新,所以需要手动安装 pip 包
pip 源码包:pypi/simple/pip/
但是很可惜,安装好以后还是会出这个问题
最后解决方案是:
将 Charles 等这样的抓包工具关掉就好了
因为这些工具使用代理后,网络环境会产生变化,所以导致 pip 的问题
其实,为什么说软件编程业很难?就是因为,各种各样的情况掺杂在一起,很难辨别,本来感觉是 pip 的问题,结果发现是抓包的网络问题
版权声明:本文标题:如何采集 APP 上的数据 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686470022a71067.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论