TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南
TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南

兩萬星的開源抖音 TikTok 資料 API 在 2026 年 9 月推出 v5 重寫:不必再貼 Cookie、多了 MCP 介面,但 B 站支援拿掉、自架變成要 PostgreSQL 加 Redis 的小平台。本文校正舊介紹文的過期描述,整理示範站、自架、留在 v4、買付費 API 四條路各自的代價。
用 AI 摘要這篇文章:
在 GitHub 上累積兩萬顆星的 Douyin_TikTok_Download_API,上一個正式版本停在 2025 年 3 月,安靜了約十八個月之後,在 2026 年 9 月 10 日一次端出 v5.0.0:砍掉重練的重寫版,與舊版不共享任何程式碼,也刻意不提供升級路徑。隔天又連發三個修正版,文件、示範站、Docker 映像檔全部換新。這次改版的重點不在功能變多,而在它修的東西換了:舊版的死法是 Cookie 過期、簽名演算法變了、端點被平台風控,API 就靜靜壞掉,直到有人來發 issue 才有人知道。v5 把資源花在讓壞掉變得看得見、而且會自己恢復。
先給一句話定位:它是你架在自己機器上的抖音與 TikTok 資料服務,給你 REST API、網頁控制台、命令列,還有給 AI 助手用的 MCP 介面,能解析貼文、作者、評論與合集,下載影片和圖集,並且把解析過的東西存進你自己的 PostgreSQL。開源、Apache-2.0 授權、沒有官方代管版,所有東西都跑在你手上。

如果你是看 2025 年的介紹文找過來的,先校正三個座標:它已經不支援 B 站了,v4 有、v5 沒有;那個 PyWebIO 做的簡單網頁換成了 React 控制台;文章裡寫「示範站線上下載已關閉」的舊站已經整個換掉,新的示範站改成唯讀模式。用舊資訊入門會裝錯版本、找錯入口。
開發者在發布說明裡把 v4 的病灶講得很白:Cookie 過期、平台改了簽名演算法、某個端點被限流時,API 照常回應、只是內容不對,要等到有人受不了來開 issue,故障才被發現。v5 的整套設計都在對付這件事:每一個請求都留一列結構化紀錄;每個身分有健康分層;每個端點有獨立熔斷器,壞了就停,不會拖著整個身分池陪葬。
更有意思的是它「不做」的事。抖音的粉絲與關注列表只對登入後的連線開放,v5 直接不註冊這兩個端點,官方說法是註冊一個永遠回傳空頁的端點不誠實。TikTok 那邊對應的資料拿得到,所以有做。這種「做不到就明說」的取捨,在爬蟲類專案裡很少見。
B 站支援被拿掉也是同一套邏輯。v4 的 B 站支援只是多一個爬蟲檔案;v5 裡一個平台要自帶簽名實作、參數建構、解析器、令牌桶政策與失敗分類,B 站與抖音、TikTok 不共用這些基礎設施,重寫時先放下。v5 原始碼裡的平台列舉只剩 douyin 與 tiktok 兩個值,文件說的與程式碼一致。

v4 時代最讓人卻步的環節,是從瀏覽器裡把 Cookie 摳出來貼進設定檔,過期再重貼。v5 把這件事整個換掉:一個無頭瀏覽器容器負責「鑄造」遊客身分,平台自己發 Cookie 給這個乾淨的連線,瀏覽器順便記下它呈現給平台的指紋,配上你指定的代理就成一個身分。池子每平台最低 3 個、目標 8 個,可用數量不足就自動補,每 60 秒最多鑄一個,從全空補到滿大約一刻鐘。整套流程唯一非有不可的 Cookie 是 ttwid,那是平台發給任何訪客的東西,不需要任何帳號。
你自己的帳號 Cookie 變成可選的升級,用途只有一個:拿登入才看得到的內容,例如追蹤清單或設成私密的貼文。官方對這條路的風險講得不留情面:一組登入 Cookie 等同帳號密碼,存進去會用執行個體金鑰做 AES-256-GCM 加密,但執行個體的管理員用得到它,所以要拿專門養的分身帳號,別拿主力帳號。反過來說,只要你沒匯入登入 Cookie,就沒有帳號可以被封,燒掉一個遊客身分的代價只是幾分鐘的鑄造時間。
節流設計也值得記一筆,因為它同時保護你也保護身分:每個身分同時間最多一個在途請求,因為真人也是這樣;每個身分對每個端點有獨立令牌桶,一個身分沒辦法把額度全花在最敏感的端點上;被風控回應後冷卻時間從 60 秒起算、連續失敗就翻倍,上限六小時。官方在文件裡提醒:任何宣稱保證帳號安全的工具都在猜,兩個平台都不公布規則。
它的宣傳詞是無浮水印下載,但官方文件的講法被限縮得很精確,這個精確度要原樣理解:它不「去除」浮水印,而是優先選平台本來就發布的乾淨串流。抖音自己的下載位址會帶燒上去的浮水印,工具把平台另外發布的乾淨串流排在清單第一位,帶浮水印的那條也留著並標記 watermark。如果某則貼文只有帶浮水印的版本,你拿到的就是帶浮水印的檔案,工具不會替你變魔術。另外開發者要知道:解析結果裡的媒體網址是平台簽過名的,預設十分鐘就過期,所以要下載的當下得重新解析一次,不是拿著舊結果就能一直用。
這個區別在法務上也站得住:選平台自己發布的乾淨源,與後製去除浮水印,是兩種不同的行為。但無論哪種,下載都不等於取得版權,把別人的影片存下來再散布,是另一個層級的事,後面條款段會再回到這裡。
v5 多了一個很跟得上時代的入口。把 AI 代理指向服務的 /mcp 端點,它拿到的工具、身分池與限流,與 REST API 完全是同一套服務層,官方特別強調這不是在 HTTP 外面再包一層,所以呼叫少一跳、少一次認證。REST 本身有 93 個操作,加上命令列工具,三個入口共用同一套服務層,iOS 捷徑則是掛在 REST 上的輔助端點。實際的用法例如讓助理讀一段分享文字,自己展開短連結、解析貼文、把作者與統計數字整理成摘要;對已經在用 12306 MCP 伺服器 這類資料查詢代理的讀者,這是同一種接法。
要入門的話有兩種方式。讀文件直接上 douyin.wtf,十七頁文件中英對照,從安裝、設定到 API 指南都有;想動手則開 demo.douyin.wtf,登入頁會自動填好示範帳號,也可以從公開端點拿示範密碼用 curl 登入。我在示範站上實際走了這套流程,登入正常,但拿 README 自己列的兩條 2022 年示例連結去解析,抖音與 TikTok 各回一次結構化的 NOT_FOUND,附請求編號。這個結果本身是好的教材:平台端已經沒有那則內容,或它只對登入後的連線開放;也提醒你示範站適合看介面與 API 長相,要確認「你真的想抓的內容抓不抓得到」,得拿自己的連結去試,示範站限流是每 10 秒 30 個請求。
v4 的部署是 pip 裝依賴、python start.py,一個行程完事。v5 的 docker compose 一次起五個服務:TimescaleDB 版的 PostgreSQL、Redis、API、背景工作、資料庫遷移,外加兩個可選的瀏覽器容器與 Go 寫的下載 sidecar。映像檔核心約 4.5GB,瀏覽器容器約 1.7GB;瀏覽器容器官方量測暖機要 2.57GiB 記憶體,文件明講樹莓派跑得動核心、跑不動瀏覽器容器,小機器請改用手動匯入身分的模式。安全上沒有預設密碼這種東西,沒設 DTK_SECRET_KEY 環境變數,行程直接拒絕啟動。
文件品質這麼高的專案,仍有一處自相矛盾:FAQ 的對外連線表宣稱更新檢查預設關閉,程式碼裡這個設定的預設值卻是開啟,說明文字還寫著「由操作者的瀏覽器發起、不經伺服器,所以預設開啟是可辯護的」,README 採的也是後者。文件再誠實也是人寫的,關鍵設定以程式碼為準。這個矛盾的另一層意義是,它反證了這份文件的誠實不是公關稿:公關稿不會留下這種縫。
第一條,只是想解析偶爾看到的連結、看看資料長相:用 demo.douyin.wtf,唯讀、免安裝,但隨時可能重置或關閉,官方也明說它不是拿來當服務依賴的。第二條,要長期、大規模收集資料,而且願意養一套資料庫與代理:自架 v5,成本就是上一節那張帳單,好處是所有資料與憑證都在你機器上,解析過的內容自動歸檔,平台刪了你自己還有一份。第三條,已經在跑 v4 且只用到抖音、TikTok:可以繼續留著,但要記得兩件事,映像檔標籤請釘在 V4.1.2,因為 latest 已經指向 v5,直接拉會整套換掉;v4 內建的那份抖音 Cookie 早就過期,要先換成自己的才能動。第四條,不想自己架、只想買現成資料:贊助商 TikHub.io 賣的就是這種代管 API,不過官方文件也明講它與本專案無隸屬、不為它背書,選購前自己查證。
順帶提一下定位相近的 f2:同為開源的抖音 TikTok 下載函式庫,走 Python 函式庫路線、比這裡輕得多,代價是 Cookie 與簽名的維護要自己扛。要函式庫的輕,還是要一套自帶身分池與資料庫的服務,這正是 v5 這次改版畫出來的分界線。
官方對「這合法嗎」的回答值得整段轉述:軟體是跑在你機器上的客戶端,不發布任何東西,但四大責任都在你身上。平台條款那邊,抖音與 TikTok 的服務條款通常禁止自動化收集,沒有人能替你豁免;個資那邊,歸檔的貼文帶著別人的姓名、頭像、文字與影像,部分司法管轄區把它視為個人資料,不因公開就例外;版權那邊,下載不等於你的,再散布是另一件事;用途那邊,定時盯著特定某人收集,是研究還是騷擾,工具不替你決定。官方的總結是:自架工具無法強制任何一條,所以它不假裝能,它做的是讓收集行為全部留下紀錄。
台灣讀者還有一個先決問題:抖音與 TikTok 是兩個不同的內容池,帳號與內容都不互通,先前兩篇討論過這個脈絡,例如抖音備份工具與抖音智慧推薦助手兩篇的脈絡。這個專案兩邊都支援,但文件明講程式碼裡沒有任何地區閘門,平台接不接受你的出口位置由平台決定,所以抖音身分與 TikTok 身分掛在不同地區的代理是正常配置,跑不跑得通要用它內建的診斷頁實測。
最後是授權與體質。授權從 2024 年 v4 起就是 Apache-2.0,更早的版本用的是 MIT,兩段都允許商用,Apache-2.0 的授予不可撤回;作者自述 v5 的四套簽名演算法是從平台自身的工件重新推導的,就是為了讓整棵程式樹在 Apache-2.0 下乾淨,因為 v4 的 A-Bogus 模組是 GPL 程式碼的移植版。專案活躍度無庸置疑:兩萬星、十六萬次 Docker 下載、625 個已關閉 issue 對 1 個開著的,維護者在文件被批評可讀性差的當天就逐條回覆,把中英兩份說明的舊版段落補齊。要下注的人只需記得一件事:v5 是這兩天才出生的版本,頭幾個月陪它踩雷是成本的一部分。