本文将会研究讨论如何将抖音无水印视频下载到本地

正常情况下,我们从抖音保存的视频,是有水印的:




抖音无水印 java 抖音无水印保存照片_json


那么,我们如何才能将没有水印的视频下载到本地呢,很遗憾抖音官方是没有这个功能的。

好了,经过我的研究,发现这个是可行的,过程如下

点击抖音视频的箭头分享,点击复制链接,我们可以获得一个 https://v.douyin.com/xxxxxx 类似的连接


抖音无水印 java 抖音无水印保存照片_用户代理_02


这个连接如果是用电脑来访问,长的是这样的:


抖音无水印 java 抖音无水印保存照片_用户代理_03


点击后播放的视频也是有水印的,这个明显不是我们想要的。

但是我们切换浏览器的用户代理UserAgent为移动手机,比如下面的插件可以切换用户代理


抖音无水印 java 抖音无水印保存照片_抖音无水印 java_04


然后我们会看到这样的页面,是用来适配手机浏览器的。


抖音无水印 java 抖音无水印保存照片_视频下载_05


我们打开chrome的开发者工具,查看一下网络tab

我们会找到一个xhr的请求:


抖音无水印 java 抖音无水印保存照片_用户代理_06


这个请求返回了这个视频的属性值, json形式的


抖音无水印 java 抖音无水印保存照片_json spr路驾驶技术视频api_07


但是这个url是怎么来的呢,其实网页源码中已经有了


抖音无水印 java 抖音无水印保存照片_json_08


最重要的就是两个:

itemId, dytk

获取了这两个值就可以请求抖音的api返回视频的详情了

详情json里的 item_list[0].vide.play_addr[0] 就是无水印的视频的地址

download_addr是有水印的视频地址


抖音无水印 java 抖音无水印保存照片_json spr路驾驶技术视频api_09


至此已经完成了整个下载无水印视频的原理。

有没有更简单的方法,或者有现成的软件吗?

答案是有的,我写了一个软件直接可以使用

我希望你知道ruby这个编程语言,如果不知道的话,请google

我们用gem安装软件

gem install douyin_download


抖音无水印 java 抖音无水印保存照片_json_10


安装完成之后:

下载视频可以运行这个命令:

douyin_download download https://v.douyin.com/TnYoLD/

这样会直接将视频下载到本地


抖音无水印 java 抖音无水印保存照片_json spr路驾驶技术视频api_11