文章目录
- 前言
- 一、前期准备
- 二、思路
-
- 1.配置夜神模拟器
- 2.使用mitmdump 找出数据
- 3.通过Airtest实现自动点击
- 三、代码
-
- 1.监听数据代码
- 2.Airtest滑动行为代码
- 四、执行效果
- 总结
前言
App 爬取数据相对于 Web 端爬取更加容易,因为反爬虫能力没有那么强,而且大多数的数据都是以 JSON形式传输的,解析更加简单。在 Web 端,我们可以通过浏览器的开发者工具监听到各个 络请求和响应过程, 在 App 端如果想要查看这些内容就需要借助抓包软件。常用的抓包软件有 WireShark、Filddler、Charles、 mitmproxy、 AnyProxy 等,它们的原理基本是相同的。 我们可以通过设置代理的方式将手机处于抓包 软件的监昕之下,这样便可以看到 App 在运行过程中发生的所有请求和响应了,相当于分析 Ajax 一 样。 如果这些请求的 URL、参数等都是有规律的,那么总结出规律直接用程序模拟爬取即可,如果它 们没有规律,那么我们可以利用另一个工具 mitmdump 对接 Python 脚本直接处理 Response。 另外, App 的爬取肯定不能由人来完成,也需要做到自动化,所以我们还要对 App 进行向动化控制, 这里用 到的库是 Airtest。
一、前期准备
- 安装Airtest (用于自动化点击)
- 安装夜神模拟器,模拟出的手机系统最好是安卓5的,我的夜神模拟器是7.0.2.7版本的
- 安装mitmdump (用于处理响应的数据)
二、思路
1.配置夜神模拟器
-
夜神模拟器(adb.exe)与Airtest(nox_adb.exe)中的adb版本需要完全相同,复制其中一个到别外一个文件中保证adb版本完全相同
夜神模拟器的adb位置:…bin
Airtest的adb位置:…airtestcoreandroidstaticadbwindows -
开启开发者选项,打开USB调试
2.使用mitmdump 找出数据
- 在成功安装mitmdump 后,通过在 cmd 上执行命令打开 mitmdump 的web端
3.通过Airtest实现自动点击
-
能过Airtest连接夜神模拟器成功如下图所示
- 成功采集数据
总结
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树 络爬虫urllib211389 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!