Python爬虫:爬取手机App数据,记得安装配置Charles

Posted 李元静

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫:爬取手机App数据,记得安装配置Charles相关的知识,希望对你有一定的参考价值。


Python爬虫

对于现在的爬虫程序来说,PC端网页数据往往并不理想。比如就拿CSDN来说,一篇帖子是否上热榜其根据的是App端数据,并不是PC端网页数据。

这也是时代的进步,从PC端到移动端,而且还有像小红书一样的App,其根本不提供PC端网页,只有App,要爬取这些数据,普通的Python爬虫肯定已经淘汰。

所以,我们需要借助Charles来抓取手机的HTTP与HTTPS数据包。尽然要通过Charles软件来抓取,我们首先要做的就是安装它。下载地址如下:

https://www.charlesproxy.com/latest-release/download.do

然后点击对应的操作系统进行下载即可。

配置Charles

安装完成之后,我们并不能直接获取App端的数据。因为你的手机交互并不会发送数据到Charles软件。所以,我们需要一系列的设置。

设置手机代理服务器

首先,我们运行Charles软件,选择Proxy-Proxy Settrings。在弹出的对话框之中设置如下信息:


接着,我们需要进入手机的WIFI中,设置连接的代理服务器。你需要查看的电脑安装Charles软件的局域网IP,同时设置成刚才的8888接口。


当这些步骤完成之后,你的手机打开任何一个进行网络交互的App都能捕获其网络请求,比如博主这里打开的微博,效果如下:

安装证书

不过,因为微博数据并不是HTTP请求,而是HTTPS请求,所有,我们需要安装证书后才能进行解析操作。具体的步骤如下:

安装PC证书

想通过Charles软件监听HTTPS数据,必须在PC端与手机端同时安装相应的证书。

在PC端安装的步骤:Charles软件-Help-SSL Proxying-Install Charles Root Certificate,效果图如下所示:



接着,点击安装证书,然后点击选择本地计算机,最后选择首信任的设备即可完成安装,具体步骤如下:



到这里,我们电脑端的证书就已经安装完成。

安装android手机证书

接着,我们需要安装Android手机证书,具体步骤如下:

首先,在浏览器中输入http://chls.pro/ssl,或默认下载手机证书,你选择下载位置,然后导入到手机即可。


接着,我们在Android的设置中搜索证书,然后点击安装证书,在文件夹中找到对应的证书进行安装即可。


到这里,我们就可以获取到真实的信息了,再也不是unknown。但是,并不是到这里我们就可以获取真实的信息,因为现在显示的有可能是乱码。

我们需要前往Proxy – > SSL Proxying Aetting – > 在SSL Proxying 标签下勾选Enable SSL P roxying,然后Add 添加Location信息,如下所示:


添加完成之后,我们进入京东的秒杀页面,可以得到如下信息数据,这里都是中文,也是json数据格式,如下所示:


到这里,PC端与Android移动端的证书都安装成功了,现在可以分析具体的App请求数据,然后根据这些数据进行爬虫的开发与分析。

以上是关于Python爬虫:爬取手机App数据,记得安装配置Charles的主要内容,如果未能解决你的问题,请参考以下文章

Python3爬虫使用Fidder实现APP爬取

闲来无事 做个爬虫实战吧!以某乎为实战案例,教你用Python爬取手机App数据

Python爬虫:详解Appium如何爬取手机App数据以及模拟用户操作手势

Python爬虫:详解Appium如何爬取手机App数据以及模拟用户操作手势

4种Python爬虫(4. 手机APP,如,乐刻运动)

如何用30行代码爬取Google Play 100万个App的数据