本文大约 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 代码仓库
代码仓库 仅供学习使用
分两种下载模式,浏览器下载和命令行下载
- 浏览器输入即可下载 (方便提供接口)
npm start
or
node index
使用
- 工具模式下载到目录(类似命令行工具)
node tool