100 行 js 代碼下載抖音無水印視頻

本文大約 600 字,看完本文大概須要 5 分鐘,僅供學習使用,若有錯誤,請指正。html

需求

抖音平臺下載一個視頻,去掉左上角的水印id。node

先來看看有水印效果

這時候就會發現,抖音官方下載下來的視頻,會有抖音的水印,須要去掉水印。git

分享視頻

從抖音分享一個視頻,你會得到一個分享文案和地址,格式以下(不懂怎麼分享能夠百度)github

一隻都放不明白 https://v.douyin.com/JdbBqog/ 複製此連接,打開【抖音短視頻】,直接觀看視頻!
複製代碼

把上面的 url 地址 ( v.douyin.com/JdbBqog/) 放到瀏覽器模擬的手機模式下看看發生了什麼ajax

1. 重定向

短地址會重定向, npm

訪問這個重定向的地址獲取兩個重要的參數

2. 一個關鍵的 ajax

利用上面 html 內嵌 script 獲取的兩個參數,請求下面的地址。 json

請求返回了一個 json 包含了這個視頻的一些信息,其中有一個去水印的關鍵參數 uri瀏覽器

到這裏,抖音官方的流程就走完了。bash

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…

相關文章
相關標籤/搜索