阅读 7033

100 行 js 代码下载抖音无水印视频

本文大约 600 字,看完本文大概需要 5 分钟,仅供学习使用,如有错误,请指正。

需求

抖音平台下载一个视频,去掉左上角的水印id。

先来看看有水印效果

这时候就会发现,抖音官方下载下来的视频,会有抖音的水印,需要去掉水印。

分享视频

从抖音分享一个视频,你会获得一个分享文案和地址,格式如下(不懂怎么分享可以百度)

一只都放不明白 https://v.douyin.com/JdbBqog/ 复制此链接,打开【抖音短视频】,直接观看视频!
复制代码

把上面的 url 地址 ( v.douyin.com/JdbBqog/) 放到浏览器模拟的手机模式下看看发生了什么

1. 重定向

短地址会重定向,

访问这个重定向的地址获取两个重要的参数

2. 一个关键的 ajax

利用上面 html 内嵌 script 获取的两个参数,请求下面的地址。

请求返回了一个 json 包含了这个视频的一些信息,其中有一个去水印的关键参数 uri

到这里,抖音官方的流程就走完了。

3. 如何去水印?

原理:并不是用高大上的人工智障或者类似 ps 去掉某一个地方的水印,而是抖音会保存一份无水印的视频,我们只需要找到这个无水印视频的地址就可以了。

说完原理,实现就是根据上面获取的字段 uri ,然后拼接在一个抖音存储无水印视频的地址上就完事了。(这个拼接的地址在浏览器上可能访问不了) 看代码吧

实现效果

node.js 代码仓库

代码仓库 仅供学习使用

分两种下载模式,浏览器下载和命令行下载

  1. 浏览器输入即可下载 (方便提供接口)
npm start 
or 
node index
复制代码

使用

代码

  1. 工具模式下载到目录(类似命令行工具)
node tool
复制代码

参考

mp.weixin.qq.com/s/DF7_b_F1i…

gitee.com/goldriver/d…