除了 Web 网页,爬虫也可以对 APP 的数据进行抓取,APP 中的页面要加载出来,首先需要获取数据,那么这些数据一般是通过请求服务器的接口来获取的,由于 APP 端没有像浏览器一样的开发者工具直接比较直观地看到后台的请求,所以对 APP 来说,它的数据抓取主要用到一些抓包技术。
本书介绍的抓包工具有 Charles、MitmProxy、MitmDump,APP 一些简单的接口我们通过 Charles 或 MitmProxy 分析找出规律就可以直接用程序模拟来抓取了,但是如果遇到更复杂的接口我们就需要利用 MitmDump 对接Python来对抓取到的请求和响应进行实时处理和保存,另外既然要做规模采集就需要自动化 APP 的操作而不是人工去采集,所以这里还需要一个工具叫做 Appium,它可以像 Selenium 一样对 APP 进行自动化控制,如自动化模拟APP的点击、下拉等操作。
本节我们来了解一下 Charles、MitmProxy、MitmDump、Appium 的安装方法。
Charles 是一个网络抓包工具,在做 APP 抓包的时候会用到,相比 Fiddler 来说,Charles 的功能更为强大,而且跨平台支持更好,所以在这里我们选用 Charles 来作为主要的移动端抓包工具,用于分析移动 APP 的数据包,辅助完成 APP 数据抓取工作。
Charles 的官网是:https://www.charlesproxy.com,我们可以在官网下载最新稳定版本,链接为:https://www.charlesproxy.com/...,它支持 Windows、Linux、Mac 三大平台。
现在很多页面都在向 HTTPS 方向发展,HTTPS 通信协议应用越来越广泛,如果一个 APP 通信应用了 HTTPS 协议,那它通信的数据都会是被加密的,常规的截包方法是无法识别请求内部的数据的。Python学习q-u-n 七八四,七五八,二一四 工具,各类实战操作分享
安装完成之后如果我们想要做 HTTPS 抓包的话还需要配置一下相关 SSL 证书,如果不配置的话无法抓取 HTTPS 请求。
点击 Help->SSL Proxying->Install Charles Root Certificate,即可进入证书的安装页面。
接下来找到 Charles 的证书双击,将信任设置为始终信任即可,如图 1-48 所示:
图 1-48 证书配置
这样就成功安装了证书。
如果你的手机是 iOS 系统,可以按照下面的操作进行证书配置。
首先查看一下电脑的 Charles 代理是是否开启的,点击 Proxy->Proxy Settings 即可打开当前代理设置页面,确保当前的 HTTP 代理是开启的,如图 1-49 所示:
图 1-49 代理设置
例如这里的代理端口为 8888,也可以自行修改。
接下来将手机和电脑连在同一个局域网下,例如当前电脑的 IP 为 192.168.1.76,那么首先设置手机的代理为 192.168.1.76:8888,设置如图 1-50 所示:
图 1-50 代理设置
设置完毕之后电脑上就会出现一个提示窗口,询问是否信任此设备,如图 1-51 所示:
图 1-51 提示窗口
点击 Allow 即可,这样手机就和 PC 连在了同一个局域网内了,而且设置了 Charles 的代理,这样 Charles 即可抓取到流经 APP 的数据包了。
接下来我们再安装 Charles 的 HTTPS 证书。
在电脑上打开 Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser,如图 1-52 所示:
图 1-52 证书安装页面入口
即可看到如下提示,如图 1-53 所示:
它提示我们在手机上设置好 Charles 的代理,我们刚才已经设置好了,然后在手机的浏览器中打开 chls.pro/ssl 下载证书,我们在手机上打开这个链接。
打开之后便会弹出证书的安装页面,如图 1-54 所示:
图 1-54 证书安装页面
我们点击安装,然后输入密码即可完成安装,如图 1-55 所示:
图 1-55 安装成功页面
如果你的 iOS 版本是 10.3 以下的话,此处信任 CA 证书的流程就已经完成了。Python学习q-u-n七八四,七五八,二一四教程视频,工具,各类实战操作分享
如果你的 iOS 版本是 10.3 及以上,还需要在设置->通用->关于本机->证书信任设置将证书添加完全信任,如图 1-56 所示:
在这里将 Charles 的证书的完全信任开关打开即可,如图 1-56 所示:
图 1-56 证书信任设置
这样 iOS 上配置信任 CA 证书的流程就结束了。
如果你的手机是 Android 系统,可以按照下面的操作进行证书配置。
Android 同样需要设置代理为 Charles 的代理,如图 1-57 所示:
图 1-57 代理设置
设置完毕之后电脑上就会出现一个提示窗口,询问是否信任此设备,如图 1-58 所示:
图 1-58 提示窗口
点击 Allow 即可。
接下来像 iOS 设备一样,在手机浏览器上打开 chls.pro/ssl,这时会出现一个提示框,Python学习q-u-n 七八四,七五八,二一四 工具,各类实战操作分享。如图 1-59 所示:
evernotecid://D603D29C-DFBA-4C04-85E9-CCA3C33763F6/appyinxiangcom/23852268/ENResource/p75
图 1-59 证书安装页面
我们为证书添加一个名称,然后点击确定即可完成证书的安装。
本文介绍了 Charles 的安装及证书配置过程,后文我们会介绍 Charles 的基本使用方法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。