做这个项目受启发于一篇文章,文中简述了一名工程师利用 Python+ADB+鹅厂的 AI,一晚上关注了一千多个漂亮小姐姐。充分体现了厂子里的大学生和工人们的不同,曾经的我也独自一人在那个诺大的工厂思考人生,思考着我该何去何从。
想想曾经我时常刷抖音,只不过没有上面那位大佬那么厉害而已,我是人工识别漂亮的小姐姐...这次决定自己尝试一下这个项目,先来个简单点的,提前关注好,然后利用 Python 实现自动化*载下**街拍视频!!!
1.Charles
用 Charles 来找视频的 API 接口,具体操作和之前当当网那个案例一样,不细说。

这里通过滑动抖音 App,可以获取到视频的请求信息。
通过多次实验,发现链接的后面是会不停的改变,只有链接的前头始终不变,即「http://v1-dy」「http://v6-dy」「http://v9-dy」不变。
所以在写脚本的时候,可以以这些信息做为链接开头。
2.mitmproxy
利用 mitmproxy 中的 mitmdump 组件,对接 Python 脚本,用 Python 实现监听后的处理。

这里我只是利用脚本获取链接,并没有直接利用脚本*载下**视频。因为我是在 mitmdump*ex.e** 文件所在的文件夹运行脚本,脚本里导入不了 requests 模块。不想搞那些烦人的环境变量,所以只获取链接。
然后再去*载下**视频,视频链接需要去重,可能会有重复的。
Python 脚本如下。

3.Appium
配置抖音的 Appium 参数。

点击蓝色按钮,手机自动启动抖音 App!
接下来操作手机,然后点击 Appium 的刷新键,获取元素定位代码。
通过本次的实践发现 Appium 有时并不能很好的获取元素的定位,这可能就跟 Web 端的 iframe 页面一样。
所以针对找不到的元素,我直接对手机屏幕位置进行点击。
由于大家手机屏幕大小不同,这个参数肯定是会变化的,所以存在弊端,无法通用。



大致操作如上图。UP 主的主页图漏了,请自行脑补,Python 代码如下。


*载下**视频代码,需要对视频链接去重。

最后成功获取小姐姐们的全部视频...

要是曾经在厂子里的我,那时会这骚操作该多好,哈哈。其实我想的更多,多数妹子都挺喜欢拍抖音,不过她们应该不会*载下**这种操作滴。那么小老弟们的机会就来了,*载下**下来喜欢的妹子的抖音视频。然后剪辑出一个「最美瞬间」系列的视频,机会不就来了嘛...
最后,更多的python学习可以关注我们哦
