mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫

开发环境:linux

相关工具:python、mitmproxy、appium、adb、安卓手机一台

项目逻辑:利用自动化测试工具appium控制手机刷抖音,同时开启mitmdump拦截手机端的所有请求信息,开启mitmproxy事件监听,当监听到需要的请求时,解析response。

下面就讲讲具体如何实现:

1、安装相关工具,网上很多教程,可以自行百度。

2、手机开启代理并安装ca证书
先确保手机跟pc在同一网络,然后打开手机wifi,修改网络
mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫_第1张图片
设置好代理之后安装ca证书,打开终端输入命令 cd ~/.mitmproxy mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫_第2张图片
双击mitmproxy-ca-cert.pem 设为受信用证书,然后使用adb工具把证书发送到手机sd卡,adb push mitmproxy-ca-cert.pem ./sdcard (要在证书目录下执行此命令),手机端找到证书并安装。

3、开启appium服务,编写自动化控制脚本。
打开appium客户端,点start server
mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫_第3张图片
然后编写自动化控制脚本
mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫_第4张图片
STARTUP_CAPS 需要修改的地方appPackage、appActivity、platformVersion、deviceName,终端输入命令 adb shell dumpsys activity top 可查看appPackage、appActivity,手机>设置>关于本机可以查看platformVersion 系统版本,adb devices 查看deviceName。

4、mitmproxy脚本,开启事件监听
新建search.py文件,mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫_第5张图片
mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫_第6张图片当手机端触发相应的事件,pc端就会调用对应的方法。
新建addons.py文件
mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫_第7张图片
执行命令 mitmdump -s addons.py 开启事件监听。

5、运行我们前面写好的自动化控制脚本,就可以爬取数据了。

可能会遇到的问题:
mitmdump运行时可能会报错
Error starting proxy server: OSError(48, ‘Address already in use’)
端口被占用,lsof -i:8080 查看占有端口的进程,杀死,然后重新运行脚本。
安卓6.0以上的手机设置代理后会出现无法上网的情况,这是证书问题,建议使用安卓4.4。

项目链接:https://github.com/jerry3747/douyin.git

你可能感兴趣的:(mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫)