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

举报
择城终老 发表于 2021/08/30 18:47:28 2021/08/30
【摘要】 对于现在的爬虫程序来说,PC端网页数据往往并不理想。比如就拿CSDN来说,一篇帖子是否上热榜其根据的是App端数据,并不是PC端网页数据。这也是时代的进步,从PC端到移动端,而且还有像小红书一样的App,其根本不提供PC端网页,只有App,要爬取这些数据,普通的Python爬虫肯定已经淘汰。所以,我们需要借助Charles来抓取手机的HTTP与HTTPS数据包。尽然要通过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。在弹出的对话框之中设置如下信息:

步骤1

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

步骤2

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

步骤3

安装证书

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

安装PC证书

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

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

步骤1

步骤2

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

步骤3

步骤4

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

安装Android手机证书

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

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

步骤1

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

步骤2

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

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

步骤3

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

步骤3

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。