DouYinSpider
此Github包含两个抖音爬虫:
第一个为github用户loadchange的代码,位于amemv-crawler目录下:
“ 可以下载指定抖音用户的全部视频(含收藏),也可以下载指定主题(挑战)或音乐下的全部视频。”
其优势为爬取速度快,系统资源占用少,但是不能够筛选特定的视频,如此项目的仅下载 竖屏广告
indepent目录下的本人的代码,通过安卓模拟器,抓取抖音对应视频及视频数据,此项目抓取的目标视频为抖音随机出现的 竖屏广告
实际使用时可以根据自身 测试学习 需求修改FlowCatch.py逻辑
开发环境
- Python3
- Android environment
- Appium
- Mitmproxy
注意
这个项目是一个练手项目,源码仅作为和大家一起学习Python使用,你可以免费: 拷贝、分发和派生当前源码。你不可以用于商业目的及其他恶意用途。
环境安装
- Android environment
- 建议通过Android Studio安装JDK,配置环境变量
- 安装JAVA SDK
- 安卓模拟器: 常用的模拟器有
- genymotion(收费)
- 天天模拟器
- 夜神模拟器
- 领航模拟器
- 这里使用天天模拟器作为测试
- Appium
- Appium,为类似于Selenium的移动端测试工具,建议安装桌面版
- Appium,为类似于Selenium的移动端测试工具,建议安装桌面版
- Python 依赖库:
pip install -r requirement.txt
配置和运行
- 首先运行天天模拟器,通过adb连接模拟器(天天默认端口6555):在命令行输入
adb connect 127.0.0.1:6555 adb devices -l
第一步连接模拟器端口,如果端口连接不成功,可到ttmnq\deployed\TianTian.vbox中查看host端口(hostport)
第二步显示是否连接成功,成功则会显示已连接设备信息
返回结果应该如下图表示连接成功:
- 通过模拟器内的“靠谱游戏”安装抖音App
- 安装Mitmproxy证书
- 将C:\Users\UserName\.mitmproxy 目录下面的mitmproxy-ca-cert.cer拖动到模拟器界面上安装证书
- 双击运行安装mitmproxy-ca-cert.p12,选择证书存储位置为“受信任的根证书颁发机构”
- 运行Appium服务器(默认端口4723)
- 分别开启两个命令行窗口,激活虚拟环境,进入indepent目录,命令行输入
python AppiumControl.py mitmdump -s .\FlowCatcher.py
此时模拟器便被Appium控制,自行打开抖音并且开始没日没夜的刷抖音。