抖音小姐姐属于你的四种姿势

写在前面

这是咸鱼的第十篇原创文章,谢谢大家一直以来的支持,虽然公众号的粉丝不多,但是为了能写出更好的原创文章,咸鱼这里建了一个群,你可以在群里提出对公众号的建议等。

前言

上周看到一个有趣的项目是使用Python+ADB做一个Python 抖音机器人 Douyin-Bot,自动翻页+颜值识别,自动点赞加关注,效果如下图,可以说是非常秀了。

源码地址:

https://github.com/wangshub/Douyin-Bot

而我们今天实现的就是批量下载抖音视频,结合上面的机器人可以说是机器人届的蒂花之秀。

今天我们实现的抖音爬虫主要有下面四点功能:

根据抖音号下载用户发布的全部视频

根据链接自动下载用户点赞的视频

根据链接自动下载某个主题下的全部视频

根据链接自动下载某个音乐下的全部视频

下面会先以第二个功能为例编写代码。

废话说多了,先上一波爬取的结果:

下载视频截图

输出日志截图

实战

引入类库

本次代码的主要功能模块如下:

这次的项目主要是根据用户分享的链接自动下载,首先我们通过分享得到下面的链接:

根据上面的链接我们可以得到以下代码,并且获得唯一的ID标识

我们通过浏览器打开上面的链接可以获得以下的Headers信息:

我们以第二个获取点赞视频为例,打开我们分享的链接,将开发者模式调整成手机版,点击「喜欢」可以看到请求的链接,如下图:

查看请求链接

获得请求参数

可以看到请求的参数中有一个很奇怪的参数_signature,且每次请求这个参数都不同,通过查阅gayhub上相关项目资料,发现这个参数是链接中的ID号加密获得,所以接下来可以通过调用加密JS对ID加密,就可以构建一个完整的请求。代码如下:

我们通过查看返回的数据,可以发现正确视频的链接形式如下:

在这里我们可以获得视频的id就可以构建完整的视频链接。代码如下:

我们点击我们上面构建的视频链接,看下页面的具体情况是什么样的。

查看网页返回的信息

我们打开上图红框中的链接,可以看到是视频的资源地址。

打开源视频地址

按照上述的思路,我们可以构建以下的代码:

以上就是下载用户点赞视频的代码,相比于其他功能稍微复杂了点,其他功能通过手机抓包就可以获得请求接口,且没有加密参数。本次的项目代码基本类似,这里就以下载音乐视频的代码为例,讲下抓包部分:

这次使用的抓包工具是Charles,基础的配置可以看下面的文章:

10行代码实现自动参与抽奖助手抽奖(上)

配置好Charles后,打开抖音,通过刷新手机页面,可以看到左边栏的请求链接中有两处链接高亮,Charles截图如下:

Charles截图

点击开响应的数据可以看到每一个链接,我们只要解析每个链接中share_url中包含的videoid,再带入到API中就可以得到真实的视频地址了。

解析图中红框中链接包含的videoid

在测试API时强烈建议可以使用Postman来测试链接的可用性,以减少我们请求的参数数量和测试的复杂度。

测试接口时的部分截图

留心

写给之后的自己

没有用到多线程,下载起来有点慢,只能等到之后完全吃透后再应用上。

尾言

写给公众号的读者

如果对短视频运营感兴趣的朋友可以回复「短视频」获取7天抖音特训营的视频资源,助你成为抖音大V。

我是讲不了段子,编不了故事的咸鱼,这篇文章是咸鱼的第10篇原创文章,感谢大家的支持。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180609G1PA4F00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励