Python爬虫实战之使用Airtest与mitmdump爬取app数据


文章目录

  • 前言
  • 一、前期准备
  • 二、思路
    • 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。


一、前期准备

  1. 安装Airtest (用于自动化点击)
  2. 安装夜神模拟器,模拟出的手机系统最好是安卓5的,我的夜神模拟器是7.0.2.7版本的
  3. 安装mitmdump (用于处理响应的数据)

二、思路

1.配置夜神模拟器

  1. 夜神模拟器(adb.exe)与Airtest(nox_adb.exe)中的adb版本需要完全相同,复制其中一个到别外一个文件中保证adb版本完全相同

    夜神模拟器的adb位置:…bin
    Airtest的adb位置:…airtestcoreandroidstaticadbwindows

  2. 开启开发者选项,打开USB调试

2.使用mitmdump 找出数据

  • 在成功安装mitmdump 后,通过在 cmd 上执行命令打开 mitmdump 的web端

3.通过Airtest实现自动点击

  1. 能过Airtest连接夜神模拟器成功如下图所示

  2. 成功采集数据
    Python爬虫实战之使用Airtest与mitmdump爬取app数据

总结

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树 络爬虫urllib211389 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月15日
下一篇 2022年9月15日

相关推荐