当前位置: 首页 > 后端技术 > Python

一篇文章教你用Python抓取抖音app热点数据

时间:2023-03-26 15:18:56 Python

今天给大家分享一个简单的Androidapp数据分析抓取方法。以抖音为例,我们要抓取抖音的热榜数据。要知道这个数据是没有网页版的,只能从手机端获取。首先我们需要安装charles抓包APP数据,它是一款收费的抓包修改工具,简单易用,易于控制数据请求,修改简单,抓包数据启停方便等。有网上还有个中文版,下载地址http://www.zdfans.com/html/42...,一路默认安装就可以了。安装完成后设置代理,点击代理-代理设置。然后在手机上设置代理,如下图:在保证手机和电脑在同一个局域网的情况下,代理服务器的主机名设置为电脑的ip地址,端口设置为8888。最后分别在电脑和手机上安装证书。电脑端安装方法:依次点击Help—SslProxy—InstallCharlesRootCertificate,如下图安装。移动端安装方法:帮助-ssl代理-移动设备或远程浏览器安装charles根证书。然后在模拟器浏览器中输入chls.pro/ssl,会自动下载手机上的证书。最后在手机上点击设置--安全--从SD卡安装。为证书命名并单击“确定”以成功安装它。打开charles,然后打开抖音app的热榜界面。在charles中很容易找到数据接口,一次返回50条数据,如下图。其url信息如下图所示。该接口此时只能返回热点数据。要返回新数据,必须更改参数信息。但是App端的数据接口参数比较复杂,这里就不深入分析了。为了解决这个问题,我们可以使用appium定时模拟控制手机,然后使用mitmproxy拦截数据(网上有很多关于appium和mitmproxy的介绍和安装的教程,所以我这里不再赘述)。Appium脚本如下图所示:这个自动化测试脚本比较简单,主要是反复获取最新的热点信息。Mitmproxy脚本如图:有4点需要注意:1、使用mitmproxy抓包前,先将手机代理ip端口设置为8080,设置方法同上;2、如果要在这个脚本中运行外部函数,必须加上前两行,否则会报错;3、如果脚本中flow.request.url中的url为数据流判断条件,如果url在数据流的url请求数据中,则判断该数据为抖音app热点数据;4.最后在脚本所在路径运行如下程序:最后运行appium自动化测试脚本,就大功告成了。如需本文代码,请在后台回复“抖音”。觉得不错的话记得给个star哦~看完这篇文章有没有收获呢?请转发分享给更多的人加入IT分享之家群,请在微信后台回复【进群】如果想深入了解Python网络爬虫和数据挖掘,可以上专业网站:http://pdcfighting.com/