使用appium和夜神模拟器爬取抖音视频链接
分类: 知识小库、项目实践 1928 0
折腾了好几天,终于算是有了最后的结果了,哈哈,暂时本人实现了滑动抖音视频,同时用很笨的方法躲过抖音的反爬,最后将抖音视频的链接保存下来。
一、准备工作
- 安装appium可视化软件(翻墙可能回安装快一点,下载很快,安装可能比较慢,因为安装的时候好像要从github上面下载一些依赖项)
- 安装夜神模拟器
- 安装基本的python环境,依赖项的话 ,在运行代码的时候 根据报错挨个安装吧
大概就这些。
二、安装模拟器和appium连接模拟器
- 在安装完夜神模拟器后桌面回有两个快捷方式,分别是多开器和模拟器,默认安装的时android7版本的模拟器,但是由于版本太高也就是bug太少,所以我们选择自己安装一个5.0左右的版本的模拟器。安装过程此处略去一万字。
- 启动模拟器安装抖音app
- 启动appium软件
然后点击StartServer按钮启动服务。
4.配置模拟器信息
点击下面那个按钮。
然后根据我的模拟器信息,输入自己对应的版本信息等,最后点击Start Session,如果链接成功的话,会跳转到后面的界面。
链接成功界面
这就表明基本的连接已经成功了!!
三、爬取视频地址
接下来就是使用脚本来控制模拟器,同时获取视频连接。
刚开始试图使用网络抓包的形式获取视频链接,但是douyin做的反爬太强了,或者是我想的不够全面,很难从网络抓包中获取有用的信息。
最后想了一个办法,就是我窃取不来,我就想办法想你要,你主动给我,发现每个视频有个分享按钮,然后在访问分享的url确实可以访问视频,于是抓住了这次机会,就每次滑动屏幕,每次点击分享按钮,每次复制按钮,获取到分享信息后使用正则匹配到url和相对应的文案信息。
下面晒出我的代码,里边设计了一些简单的技巧,防止一些意外发生导致爬取停止。
- 在报错好多次之后,也就意味着有一部分可能出现问题了,解决问题最简单的方法就是重启app,于是我设计了当报错次数超过15次后,重启app。
- 同样的,如果douyin不在给我推荐,一直下滑一直重复,也同样的重启,让重新给我推送。
- 为了防止爬取重复的视频,在每次写入之前判断该视频链接在文件里是否存在。
- ‘automationName’: 'UiAutomator1’参数的配置主要是因为容易报错:
Message: An unknown server-side error occurred while processing the command. Original error: Failed to execute touch even
- 在滑动屏幕时,所有的坐标参数加或者减一个随机数,这样可以更好的伪装成真人操作。
我相信,能有爬取这些视频想法的人,应该基本的代码可以看懂,我就不多解释了。
下面贴出我的代码:https://github.com/caidhome/crawl_python
下面是整个爬取的示例,想插入视频但是好像不太方便,好麻烦就不插入了。
大概就这样就可以爬取链接了,
报错的文件内容如下:
四 下载视频
下载视频就不写了,都能爬下来了,我想下载应该不难吧,根据自己的需求,自己写代码下载吧。
以上纯属学习使用,不可作商用,如有侵权,请及时留言。
有什么写错的地方请批评指正。
参考链接:
https://www.jb51.net/article/204817.htm
https://blog.csdn.net/weixin_43582101/article/details/89600007
https://blog.csdn.net/fei347795790/article/details/106192089/
共 0 条评论关于 “使用appium和夜神模拟器爬取抖音视频链接”