5分钟三句代码实现抖音自动下载
免责声明:本文所涉及资源均来源互联网,仅供个人分享学习,严谨用于非法用途,否则后果自负,且与本文无关!
最新可用时间:2021-01-22
最近发现抖音的网页链接https://www.douyin.com/share/user/65413595875?share_type=link失效了,而且加了很多防反爬参数,即使从官网分项的连接跳转过来,多刷新几次都不一定能看到作者发布的视频,只能看到发布了多少个视频,通过网页爬取数据难度很大了
但是换一种思路,直接从抖音APP上下载数据,用命令模拟滑动,点击分享按钮,点击下载按钮这三个动作,优点是不怕被封,缺点是环境准备较为复杂繁琐,对抖音版本要求比较严格,但是不用真机用虚拟机还是简单许多(也可以用真机,只要能连上adb)
效果演示
工具准备
- 一台Windows系统的电脑* 安卓模拟器(此处我用的是夜神,其他模拟器理论上也可以)* 抖音版本为 v13.5.0* Git(因为要写运行shell脚本,所以需要Git Bash)
注意抖音版本号一定要对,因为我们是模拟真实用户操作,所以界面UI不同可能会造成实现代码差异较大
原理
安卓开发中有一个工具叫ADB(Android 调试桥 (adb)),通过ADB可以给安卓设备发送指令,我们只需要在抖音APP的视频界面,发送点击分享,点击下载,滑动这三个动作即可
ADB
参考:https://developer.android.com/studio/command-line/adb,本次我们用到的指令有tap(点击),swipe(滑动),screencap(截屏)
ADB连接安卓设备
安装模拟器
这里记住安装的位置,后面要用,我的是/d/Program Files/Nox/bin/
打开模拟器
打开就不用说了,双击即可,记得先安装抖音APP
设置分辨率
设置为540*960,先把分辨率定死,这样后面代码写起来简单些,如下图
打开安卓设备调试模式
安卓 > 设置 > 最底部关于平板(手机) > 一直点击版本号直到出现已处于开发者模式的提示
返回,找到开发者选项,打开USB调试模式和指针位置
打开指针位置顶部会显示当前点击位置的坐标值(x,y),方便我们定位位置
ADB连接安卓设备
这才到了最后一步,在Git Bash里面打开adb,查看我们安装模拟器的位置里面是否有nox_adb.exe,这是夜神自带的adb,别的模拟器可能不一样,只是个名字而已,无所谓,然后此处右键,点击Git Bash Here
在Git Bash里面输入./nox_adb connect 127.0.0.1:62001,如下图,如果出现下面回显说明成功
already connected to 127.0.0.1:62001
[图片上传失败…(image-4981b8-1611456675792)]
极简版本
上面我们已经通过adb连上安卓了,直接使用adb命令操作,先打开抖音APP,然后在bash窗口输入
./nox_adb shell input swipe 340 865 370 202