通过手机模拟器爬腾讯新闻APP数据
2023-06-10 16:08:27发布 浏览481次 信息编号:58408
友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。
通过手机模拟器爬腾讯新闻APP数据
最近接到公司发来的任务,让我爬取腾讯新闻app的热榜
这个热点新闻每10分钟更新一次,所以需要每10分钟抓取一次,然后保存。 最简单的方法就是找电脑网页版,但是我找遍了所有的网站都没有找到这个界面,只好乖乖的从移动端爬取。
分析手机的数据接口参数非常困难。 我们可以绕过这个过程,在APP数据交互过程中通过工具拦截返回的数据。
这种方法的优点是简单易行,易于分析接口参数。 缺点是需要手机不断的请求数据。 速度比较慢,但是对于这次爬行来说已经足够了。 为了省一部手机,想到了在手机模拟器端爬取APP数据。
让我们看看我是怎么做到的
第一步:安装、、、和夜神手机模拟器
1. 安装
它是一个代理服务器,通过将自己设置为系统(计算机或浏览器)网络来访问代理服务器,然后拦截请求和请求结果,从而达到分析和抓包的目的。
①下载:
下载完成后,点击安装,一路默认安装。
② 设置代理
③安装证书
点击帮助-ssl代理-安装根证书
点击确定,安装计算机证书
然后点击帮助-ssl代理-在移动设备或远程浏览器上安装根证书
然后在模拟器浏览器中输入chls.pro/ssl,会自动下载并安装手机上的证书。
2.安装
依次安装SDK、JAVA、客户端
3. 安装
是一个支持http和https的抓包程序,和Cha类似,只是可以连接脚本。
①只需执行以下命令安装:pip
②证书配置:在命令行输入,然后在用户目录下找到CA证书
在电脑上双击-ca-cert.p12安装证书,然后将-ca-cert.pem发送到模拟器,进入手机设置-安全-从SD卡安装,选择这个文件,安装即可。
4.安装夜神手机模拟器
安装地址
始终默认安装
第二步:使用接口分析腾讯APP热点新闻数据接口
首先设置模拟手机的代理ip,长按,点击修改网络
设置代理ip并保存。
打开模拟器腾讯新闻APP,进入今日热搜的界面,然后在里面找到界面
它的url信息是
在浏览器中打开网址
url好像比较复杂,不过今天就不分析了,按照上面说的方法抓取数据。
第三步:使用抓包保存热点新闻数据
首先设置代理ip,步骤同第二步,只是端口要设置为8080
然后写个脚本抓取第二步的界面
数据流转方式有两种,一种是对应数据,一种是请求数据。 这一次,流代表数据流。
为了过滤新闻热点的数据流,根据第二步中url的固定部分判断数据流是否是我们想要的url。 如果是,保存flow..text,解析后用json保存到表中,脚本就写好了。 在脚本所在路径输入-s demo.py
然后在模拟器中打开腾讯新闻今日热搜界面
再看看表中保存的数据
第四步:使用手机模拟器定时启动腾讯新闻APP
第三步手动点击查看热点列表,因为这个热点信息每10分钟更新一次
所以我们需要写一个脚本来循环模拟这个过程,脚本会截取最新的数据
但是还是无法在模拟器中打开腾讯新闻app,因为模拟器还没有连接上主机,需要在夜神模拟器所在安装目录的bin路径下运行以下代码
再检查一遍
总结:应用爬取是爬虫中难度最大的部分,涉及到很多复杂的逆向分析过程。 这一次,我只是借助模拟器介绍了一个非常简单的应用程序爬取过程。 有兴趣的朋友可以多了解一下。
提醒:请联系我时一定说明是从星空网上看到的!