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

# 需求

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

# 先来看看有水印效果

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

img

# 分享视频

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

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

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

# 1. 重定向

短地址会重定向,

img

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

img

# 2. 一个关键的 ajax

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

img

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

img

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

# 3. 如何去水印?

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

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

img

# 实现效果

img

# node.js 代码仓库

代码仓库 仅供学习使用

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

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

使用

img

代码

img

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

img

# 参考

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

gitee.com/goldriver/d…

Edited on Views times