上一篇文章:Python3网络爬虫实战---六、Web库的安装:Flask、Tornado
下一篇文章:
除了 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 数据抓取工做。app
Charles 的官网是:https://www.charlesproxy.com,咱们能够在官网下载最新稳定版本,连接为:https://www.charlesproxy.com/...,它支持 Windows、Linux、Mac 三大平台。工具
如今不少页面都在向 HTTPS 方向发展,HTTPS 通讯协议应用愈来愈普遍,若是一个 APP 通讯应用了 HTTPS 协议,那它通讯的数据都会是被加密的,常规的截包方法是没法识别请求内部的数据的。
安装完成以后若是咱们想要作 HTTPS 抓包的话还须要配置一下相关 SSL 证书,若是不配置的话没法抓取 HTTPS 请求。网站
点击 Help->SSL Proxying->Install Charles Root Certificate,便可进入证书的安装页面。
接下来找到 Charles 的证书双击,将信任设置为始终信任便可,如图 1-48 所示:加密
图 1-48 证书配置
这样就成功安装了证书。spa
若是你的手机是 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 证书的流程就已经完成了。
若是你的 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,这时会出现一个提示框,如图 1-59 所示:
evernotecid://D603D29C-DFBA-4C04-85E9-CCA3C33763F6/appyinxiangcom/23852268/ENResource/p75
图 1-59 证书安装页面
咱们为证书添加一个名称,而后点击肯定便可完成证书的安装。
本文介绍了 Charles 的安装及证书配置过程,后文咱们会介绍 Charles 的基本使用方法。