某音去水印,短视频批量下载、爬虫.NET

很多的时候,就想把自己喜欢的博主的短视频批量保存下来,或者 发到朋友圈,也是一个很不错的选择,基于这样的考虑,就想着找找有没有合适的方式来做。

在网络上,TaoBao上其实已经有这样的渠道了。但是,本着自力更生,有能力去做这件事的考虑,还是主动去分析相关技术的实现。.

原理分析

获取视频相关地址可以通过 单个视频的分享里的复制连接 ,也可以在其主页分享,获取分享连接。

这个链接在游览器打开展示的地址是不同的。

获取抖音分享主页

个人的二维码

某音去水印,短视频批量下载、爬虫.NET

查看我的二维码

某音去水印,短视频批量下载、爬虫.NET

右上角箭头点击

某音去水印,短视频批量下载、爬虫.NET

下面的复制链接

他人的主页二维码

点开视频

某音去水印,短视频批量下载、爬虫.NET

右上角点三个点

某音去水印,短视频批量下载、爬虫.NET

分享主页

某音去水印,短视频批量下载、爬虫.NET

复制链接,搞定

某音去水印,短视频批量下载、爬虫.NET

这个时候要通过游览器的UA设置来模拟手机运行。

谷歌游览器 修改 UserAgent 图解

谷歌游览器打开开发者工具

然后,选手机模拟和选择合适的手机样子

某音去水印,短视频批量下载、爬虫.NET

这种可以修改UA,但是,不够定制化。

这个时候就可以在开发者工具的右上角点击 三个点 (More Tools - NetWork Conditions)

某音去水印,短视频批量下载、爬虫.NET

然后,就会在控制台的位置出现

某音去水印,短视频批量下载、爬虫.NET

然后,取消 select automatically 选项。

下边就可以选指定的游览器类型的UA了。

某音 主页 分析

获取了链接之后,大致如下的链接

7- 长按复制此条消息,打开抖音搜索,查看TA的更多作品。https://v.douyin.com/Y6BuYKo/

后边的链接地址就是我们需要的地址

单页和主页的区分

通过区分 video / user 来区分是否是 单页或者主页的

单页分析

先分析单页

单页通过修改UA后打开,就会有在 NetWork的 请求里发现 这样的数据。

其中 play_addr 里面的 Url_list 就是视频地址

可以通过修改 playwm 为 play 直接打开,就看到了视频,这个视频就是无水印的,可以直接下载下来。

某音去水印,短视频批量下载、爬虫.NET
https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300f8a0000bvs4dgjq7jcdbdgoof70&ratio=720p&line=0
修改为 
https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f8a0000bvs4dgjq7jcdbdgoof70&ratio=720p&line=0
某音去水印,短视频批量下载、爬虫.NET

可以直接右键另存为到桌面,就实现了一个视频的去水印效果。

主页

另外一种是主页相关的 如果你打开是主页,

某音去水印,短视频批量下载、爬虫.NET

可以通过 某个请求的 列表来获取相关视频,跟上边单个页面的结构一致,只是它内部视频很多,但是,都是一样的,肯定有能下载下来的链接。

他们分页的方式就在于 max_cursor参数上

https://www.XXX.com/web/api/v2/aweme/post/?sec_uid=MS4wLjABAAAAysUt-yCvhBczP1jHKGvSuDWiKce7usLhI8zcL2c1oEg&count=21&max_cursor=0&aid=1128&_signature=EzNZjwAAc2z0RKGJVhzMgxMzWZ&dytk=

通过直接修改 max_cursor 参数为 结果里的 同样的参数就可以获取下一页,通过 Has_more 来判断是否到达最后一页。

由此可以解决这个问题。

原理实现

最后达成的结果就是:

某音去水印,短视频批量下载、爬虫.NET

直接通过爬虫,直接获取列表全部信息

当然,我还获取了视频的标签。

不过要注意的是,如果是图文的,我就没有获取。有兴趣的朋友,可以自己试试。

某音去水印,短视频批量下载、爬虫.NET

技术栈

最后运用的技术栈有

某音去水印,短视频批量下载、爬虫.NET

列表的主要是要有一个网页页面的运行环境,它会自己去请求列表的地址。

只要获取这个地址就可以了。

代码地址

https://github.com/kesshei/DouYinBatchDownDemo.git