douyin_upload 開源抖音自動上傳工具,先看清它現在斷在哪裡

douyin_upload 是 GitHub 上 163 顆星的開源抖音自動上傳工具,用瀏覽器代操完成取憑證、傳檔到發布的整段流程。這篇讀完整份原始碼並實測 2026 年的創作者平台:負責登入的腳本在現行頁面第一步就斷線,登入面板已換成掃碼與 +86 驗證碼。文內整理它的多帳號發片結構、三處文件落差、台灣用戶的三道門檻與帳號風險。

用 AI 摘要這篇文章:

先說結論:douyin_upload 是一套把抖音發片流程交給瀏覽器自動操作的開源工具,原始碼乾淨、結構好讀,但它最後一次更新停在 2024 年 9 月,而我在 2026 年 10 月實際打開它要對付的抖音創作者平台驗證:負責取得登入憑證的腳本,第一步就已經斷線。這篇文章把我讀完整份原始碼、實際探測平台現況之後看到的事情攤開來講;看完你可以自己判斷,這套工具對你是現成的發片助手,還是一份需要認養的施工圖。

這套工具原本的玩法:先領憑證,再讓瀏覽器代操

douyin_upload 在 GitHub 上有 163 顆星,以 MIT 條款開源,用 Python 寫成,整個專案只有兩支主腳本,做的事情可以拆成兩段。

第一段是 get_cookie.py,負責領登入憑證。它會開一個 Chrome 視窗、打開抖音創作者平台、自動勾選用戶協議、把你的手機號填進登入欄位,然後停下來等你完成簡訊或掃碼驗證。等頁面跳轉到創作者首頁,它就把瀏覽器的完整登入狀態(Cookie 與本機儲存)匯出成一個 JSON 檔,放進專案裡的 cookie 資料夾。這個檔案就是你的身分證,之後自動化全程都靠它。

第二段是 main.py,負責代操發布。它讀取你在程式裡列好的清單(影片檔名、標題、話題標籤),開瀏覽器載入先前存的憑證,直達創作者平台的影片上傳頁,把檔案塞進上傳欄位,等頁面跳轉到發布頁後自動填標題、逐一輸入話題標籤,最後反覆點擊發布鈕直到頁面跳到內容管理頁。整個過程不用人工介入,這就是它承諾的「並行批量自動化上傳」。說明文件附的示範截圖裡有個耐人尋味的細節:兩個瀏覽器視窗的畫面上都停著請等待影片上傳成功的紅色提示,這恰好解釋了原始碼為什麼要寫成不停重複點擊發布鈕,影片還沒傳完就點,平台會擋下來,工具的對策就是每兩秒再點一次,直到成功為止。

douyin_upload 說明文件的示範截圖,兩個瀏覽器視窗同時開在抖音影片發布頁,畫面顯示請等待影片上傳成功的提示Pin
官方說明文件的示範截圖:兩個瀏覽器視窗並行開在發布頁,畫面上多處請等待影片上傳成功的紅色提示,正是原始碼裡重複點擊發布鈕這段重試邏輯的由來。

它的血脈也交代一下:作者在說明文件裡寫明,這是從另一個 569 顆星的專案 Superheroff/douyin_uplod 簡化而來,把影片生成、拼接那整段拿掉,只留下傳檔與發布的核心。想理解原理的人因此受惠,剩下的程式碼確實精簡好讀。

我實際打開 2026 年的創作者平台:第一步就斷了

工具會不會斷,取決於它依賴的頁面還是不是它出生時的樣子。我用無頭瀏覽器實際連上 creator.douyin.com,從台灣的網路環境出發,平台本身完全正常:頁面載入成功、標題就是抖音創作者中心、沒有地區阻擋、也沒有跳出人機驗證。平台活得好好的。

問題出在下一步。get_cookie.py 要在登入面板上完成三個動作:勾協議、填手機號、等登入跳轉。這三個動作分別依靠寫死在程式裡的定位條件,我把它們拿去比對現在的頁面:兩個關鍵定位點,也就是協議勾選框與手機號輸入欄,在 2026 年的頁面原始碼裡已經完全不存在,元素數量是零。也就是說,你今天照著說明文件執行 python get_cookie.py,它開了瀏覽器、打開了平台,然後在第一個等待協議框出現的步驟上停住,一直等到逾時。

現在的登入面板長什麼樣?實測畫面顯示它已經換成三軌制:左側掃碼登入的大方塊、右側 +86 手機號配簡訊驗證碼、旁邊還有密碼登入的分頁。當年那個獨立的手機號欄位結構已經被整個換掉。想救活這段腳本,等於要對著現在的面板重寫一遍定位邏輯。

2026 年 10 月的抖音創作者平台登入面板,左側掃碼登入方塊,右側手機號驗證碼欄位與密碼登入分頁Pin
2026 年 10 月實測的創作者平台登入面板:掃碼、+86 驗證碼與密碼登入並列,2024 年腳本依賴的手機號欄位結構已不存在。

這裡要誠實畫出一條我沒有跨過去的線:登入牆之後的上傳與發布環節,需要真正的抖音帳號才進得去,我沒有中國手機號可以註冊,所以 main.py 在現行平台上的實際命運我無法驗證。不過它依賴的選擇器跟上登入側是同一批打包產物,斷掉的機率很高,這點我標示為推論,不定論。

原始碼與說明文件對不上的三個地方

把原始碼逐行讀完之後,我找到三個說明文件沒有告訴你的事,它們決定你實際使用時的體感。

最直接的一個:說明文件說它跑「無頭瀏覽器」,聽起來適合放在伺服器上排程。但原始碼裡啟動瀏覽器的函式,預設參數寫的是有頭模式,而且主流程呼叫它時根本沒有傳任何參數。照原始碼跑起來,你會看到實體的瀏覽器視窗在你面前開開關關。想在無圖形介面的主機上跑,這個參數要自己改。

第二個是安裝指引的陷阱。原始碼啟動瀏覽器時指名使用本機安裝的 Google Chrome,說明文件卻教你執行 playwright install chromium,裝的是 Playwright 自帶的另一套瀏覽器,兩者不能互相替代。照文件裝完、執行,會在啟動瀏覽器那一步直接報錯。你會以為是自己裝壞了,其實是文件跟程式各說各話。

第三個最值得玩味,文件的示範截圖展示了並行上傳,卻沒有告訴你背後的發送規則。main.py 的設計是把 cookie 資料夾裡所有的憑證檔全部輪一遍:假如你放了三個帳號的憑證、清單列了兩支影片,它會跑出六次發布,每個帳號都會收到每一支片。對同時經營多個帳號、需要一鍵全帳號分發的人來說,這是貼心的設計;但如果你的 cookie 資料夾裡不小心留了兩個檔案,你的每一支片都會發兩次。這種行為寫在程式裡、卻沒寫在文件裡的落差,通常要付學費才會發現。

為什麼這類工具每隔一陣子就斷一次

看到這裡你可能想問:不就是幾個選擇器失效,改一改不就好了?改是能改,但這不是偶發事故,是這條技術路線的宿命,值得花一段講清楚。

抖音創作者平台的前端是打包後的產物,頁面元素的 class 名稱會帶一串自動生成的雜湊後綴,像是協議框的後綴、標題輸入區的後綴,每次前端重新打包,這些後綴就整批換新。自動化工具必須靠這些名字去定位元素,等於把一批一次性的指紋寫死在程式裡。平台每次改版,指紋全部作廢,工具就跟著癱瘓。所以這類 UI 代操工具的壽命,直接等於平台的改版週期,維護者一停止跟版,死刑就開始倒數。douyin_upload 的七個提交全部集中在 2024 年 9 月 21 日同一天,此後 main 分支再無動靜,議題區從開張到現在掛零,翻過最新的十個分叉,也沒有人接手修選擇器。整條血脈的上游,同樣停在 2024 年 6 月。開源社群圍繞中國平台打造的自動化工具其實不少,B 站直播錄製工具、夸克雲端硬碟排程轉存腳本都算同個生態,它們同樣要面對平台改版帶來的斷線風險,差別只在維護者跟不跟得上。

對比之下,正規的接法是走平台官方的開放能力,用申請來的鑰匙呼叫介面,不依賴頁面長相,改版也不會斷。但抖音開放平台的影片發布能力以通過審核的企業與機構應用為主,個人開發者能申請到的能力不含代用戶發片這一級。這也解釋了為什麼明知 UI 代操這麼脆,還是不斷有人投入去寫:個人與小團隊根本沒有官方路可走。

台灣用戶要先算的三筆帳

工具之外,從台灣出發還有三道現實的門要先過。

帳號這道門最根本:抖音與國際版 TikTok 是兩個不同的帳號體系與內容池,自動發布抖音的前提,是你真的在經營中國市場的帳號,例如跨境電商的短影片導流、或主打中國觀眾的自媒體。只是想排程發 TikTok 的人,這套工具幫不上你。

手機號這道門寫在程式裡:get_cookie.py 的輸入檢查硬性要求號碼是十一位數字,這是中國手機號的格式;台灣的號碼是十位、零九開頭,連輸入檢查這關都過不了,想用得先改掉那段判斷。

登入面板這道門剛才實測過了:現在的畫面是掃碼與 +86 簡訊驗證碼當家。海外用戶要嘛用抖音 App 掃碼,要嘛已有帳號的人改走帳號密碼分頁,繞開中國簡訊這一關,這道門檻在工具之外,任何方式都繞不開。

反偵測的痕跡,其實是一份自白

原始碼裡還有一個值得玩味的細節。main.py 在每次開頁面前,會注入一份將近 180KB 的腳本,它是知名的瀏覽器反偵測元件,用途是把自動化瀏覽器的各種破綻偽裝成真人操作;get_cookie.py 也額外把關鍵的自動化標記改寫掉。這些程式碼的存在本身就是一份自白:作者很清楚平台有偵測機器人行為的機制,工具必須主動偽裝才有機會過關。

這代表使用者的帳號風險是真實的。自動化操作與平台規範的緊張關係存在於所有社群平台,從下載側的開源 YouTube 下載器到發布側的這類機器人都在同一條光譜上;同類的小紅書自動發布工具就有使用者反映帳號被平台處置的實例。僥倖通過偵測不等於被允許,這個風險不會因為工具開源免費而消失,它只是從工具作者身上轉嫁到按下執行鍵的你身上。

真想接手的人,要動的地方比想像多

如果你的結論是仍要接手,以下是把這套工具救活到可以測試的最短整修清單。

憑證取得要整段重寫,對著現行的掃碼與驗證碼面板重新定位;或者走捷徑,手動登入一次瀏覽器、自己匯出登入狀態存成 JSON,跳過 get_cookie.py 這段。瀏覽器啟動要改成真正的無頭模式,或者接受它開實體視窗;本機要先裝好 Google Chrome,否則啟動就會失敗。上傳與發布頁的選擇器要逐個對著新頁面驗,斷一個就卡一關。手機號檢查要放寬,Playwright 鎖在 2023 年底的 1.40.0,也該跟著升級。

換算下來,這已經不是安裝一套工具,而是認養一個專案。它的原始碼確實有可讀價值,兩百行上下的主流程把憑證管理與瀏覽器代操示範得乾淨俐落,想學瀏覽器自動化的人拿它當教材會有收穫;但想要開箱即用的人,成本會遠超預期。若你只是需要排程發片,把心力放在評估成熟的排程服務,或走平台官方的企業通道,成本都遠低於復活這套工具。

沒人維護的專案,風險由按下執行鍵的人承擔

使用前還有幾件事該放進考量。這個專案沒有維護者可期待,上游同樣停擺;登入牆之後的上傳環節,我只能從選擇器的血統推測命運,手上沒有抖音帳號可以實際走完最後一哩;平台風控的判定標準則是任何一側都查不到的黑箱,能確定的只有一件事:反偵測程式碼的存在,本身就說明風險是真的。

另外,憑證檔是明文存放的完整登入狀態,拿到它等於拿到你的帳號,放在哪、怎麼保護,是使用者自己的責任。

授權與專案狀態

douyin_upload 以 MIT 條款開源,商用修改皆可。專案建立於 2024 年 9 月,全部提交落在同一天,星數 163、分叉 23、議題 0 則。它源自 Superheroff/douyin_uplod(569 顆星,同為 MIT,2022 年 11 月建立,更新停在 2024 年 6 月),作者說明是去除影片生成拼接功能後的精簡版。附帶一提,衍生版的授權檔只署了自己的名字,沒有保留上游的版權行,程式碼大量承襲上游的情況下,MIT 其實要求保留原聲明,這類遺漏在實務上常見,使用風險不大。

依賴面很輕:Playwright 1.40.0 加上 Pydantic 2.9.2,兩個套件而已。也因為依賴少,把它升級到新版 Playwright 的工程量不算大,這是接手者少數的好消息。

誰該把它加進書籤,誰該繞道

整理成一個可以帶走的判斷:已經在經營抖音多帳號、有能力自己維護選擇器的工程師,這套原始碼是值得留著的範本,它的並行結構與憑證管理都寫得清楚;想學平台自動化原理的人,它是份好教材,兩百行主流程勝過許多長篇教學。反過來,想要裝了就用的人,還有把帳號安全放在第一位的人,都不適合;只發一支片給單一帳號的用途,也撐不起這套工具的維護成本,你該找的是有維護團隊的排程服務。

免費開源的真實價格,在這套工具身上看得很清楚:功能不收錢,維護費改成你自己出。抖音的前端不會為了任何工具停下改版的腳步,今天修好的選擇器,明天就可能再斷一次,接手前把這句話算進成本裡。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1751

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...