
抖音無水印批量下載完整指南從3分鐘配好Cookie到每次重跑只下新增【免費(fèi)下載鏈接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下載工具去水印支持視頻、圖集、合集、音樂(原聲)。項(xiàng)目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader它替誰省時(shí)間把抖音作品庫管在本地 這一節(jié)解決這個(gè)工具到底值不值得裝。如果你要把一個(gè)作者主頁的存量作品全部落到本地——無水印視頻、封面、原聲、評(píng)論數(shù)據(jù)都要而且下次再跑時(shí)只補(bǔ)新增部分——douyin-downloader 就是為此做的抖音批量下載工具無水印下載、SQLite 去重、失敗重試、瀏覽器兜底全部內(nèi)置認(rèn)證信息只保存在本地?;谕惶缀蠖说淖烂婵蛻舳薉ouzy則把鏈接隊(duì)列、任務(wù)中心和作品檔案做成了圖形界面適合不想碰配置文件的人。先做決策五種鏈接和七個(gè)模式分別下什么 這一節(jié)解決拿到一條鏈接到底會(huì)下載什么、mode 該怎么配。先看速查表再講配置。單條鏈接會(huì)自動(dòng)識(shí)別類型不用你指定你粘的鏈接識(shí)別為行為/video/、/note/單條視頻 / 圖文下載這一條/mix/、/collection/合集下載合集內(nèi)全部作品/music/原聲優(yōu)先下載原聲文件缺失時(shí)回退到該音樂下的首條作品v.douyin.com短鏈短鏈先解析還原再按上面對(duì)應(yīng)類型處理/user/作者主頁用戶下載什么由mode決定用戶主頁按mode選內(nèi)容源mode下載內(nèi)容post作者發(fā)布的作品最常用like作者公開點(diǎn)贊的內(nèi)容mix作者的合集music作者使用過的原聲collect當(dāng)前登錄賬號(hào)的收藏夾必須單獨(dú)使用collectmix當(dāng)前登錄賬號(hào)的收藏合集必須單獨(dú)使用不能和其余模式混寫數(shù)量由number按模式控制0表示全量start_time/end_time按YYYY-MM-DD過濾發(fā)布區(qū)間包含結(jié)束日期當(dāng)天。畫質(zhì)由video_quality決定默認(rèn)highest在碼率階梯里挑最高檔設(shè)為original會(huì)額外探測上傳原片比最高轉(zhuǎn)碼檔大時(shí)才下載。去重是跨模式自動(dòng)的——同一個(gè)aweme_id抖音每條作品的唯一編號(hào)同時(shí)出現(xiàn)在 post 和 mix 里只下載一次。一個(gè)必須知道的現(xiàn)狀受平臺(tái)風(fēng)控影響當(dāng)前命令行版本里主頁作品post模式相對(duì)穩(wěn)定單條視頻/圖文、合集、音樂、點(diǎn)贊、收藏等接口可能被風(fēng)控?cái)r截官方 README 建議日常下載使用 Douzy 桌面版。最短上手裝環(huán)境、抓Cookie、下到第一個(gè)無水印文件 這一節(jié)解決從零到磁盤上出現(xiàn)第一個(gè)文件的最短路徑。環(huán)境要求 Python 3.9Windows、macOS、Linux 均可。第一步裝依賴git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt要啟用瀏覽器兜底或自動(dòng)獲取 Cookie再加裝pip install playwright python -m playwright install chromium。第二步3分鐘配好 CookieCookie 就是你登錄抖音后的身份憑證工具靠它訪問接口cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml它會(huì)自動(dòng)打開瀏覽器引導(dǎo)你登錄抖音登錄完成后回到終端按 EnterCookie 就寫回配置文件了。已有有效 Cookie 的話直接編輯配置里的cookies字段即可。第三步跑第一次下載python run.py -c config.yml命令行參數(shù)可以臨時(shí)覆蓋配置-u追加鏈接、-t并發(fā)數(shù)、-p輸出目錄。想以 REST API 方式提交任務(wù)加--serve參數(shù)需額外安裝 fastapi 和 uvicorn。把內(nèi)容庫管好目錄層級(jí)和文件名模板怎么定 這一節(jié)解決下載多了之后文件怎么找。默認(rèn)輸出到./Downloaded/folderstyle: true時(shí)每個(gè)作品獨(dú)立一個(gè)子目錄group_by_mode: true默認(rèn)會(huì)在作者目錄下再分一層post/like/mix。有個(gè)容易踩的點(diǎn)默認(rèn)只保存視頻本體music、cover、avatar、json全部默認(rèn)關(guān)閉需要顯式打開author_dir: nickname_uid folderstyle: true filename_template: {date}_{title}_{id} cover: true music: true json: trueauthor_dir決定作者目錄名有三個(gè)取值nickname直觀但重名作者會(huì)合并、改昵稱會(huì)分裂sec_uid穩(wěn)定但不直觀nickname_uid昵稱_唯一ID兼有兩者的優(yōu)點(diǎn)。切換它只影響之后的下載不會(huì)遷移已有目錄。filename_template默認(rèn){date}_{title}_{id}{id}參與命名可以防止標(biāo)題重復(fù)導(dǎo)致的重名。最終目錄長這樣Downloaded/ └── 作者名/post/ └── 2024-02-07_作品標(biāo)題_aweme_id/ ├── 作品.mp4 ├── 作品_cover.jpg └── 作品_data.json怎么只下新增視頻雙重去重規(guī)則與強(qiáng)制重下 ??這一節(jié)解決為什么有的作品被重下了以及想強(qiáng)制重下該怎么操作。database: true時(shí)程序會(huì)維護(hù)一個(gè) SQLite 文件默認(rèn)dy_downloader.db去重靠數(shù)據(jù)庫記錄 本地文件名中的 aweme_id雙重檢查任一處命中就跳過。各模式的增量開關(guān)是increase.post/like/mix/music默認(rèn)開啟日常定時(shí)任務(wù)只拉新增內(nèi)容。查下載歷史直接查庫sqlite3 dy_downloader.db SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;要重新下載某條作品必須文件和記錄一起清rm -rf Downloaded/作者名/post/*_aweme_id/ sqlite3 dy_downloader.db DELETE FROM aweme WHERE aweme_id aweme_id;注意判定的不對(duì)稱性只刪數(shù)據(jù)庫記錄、本地文件還在不會(huì)觸發(fā)重下文件名掃描仍會(huì)命中只刪文件、記錄還在配合默認(rèn)的redownload_missing_files: true會(huì)觸發(fā)重下。桌面端的任務(wù)中心同樣提供按任務(wù)重試失敗項(xiàng)的入口。跑掛了也不怕兜底、重試、代理、通知、轉(zhuǎn)寫都按需打開 這一節(jié)解決出問題了該打開哪些開關(guān)以下能力全部可選按需啟用。瀏覽器兜底翻頁受限時(shí)browser_fallback默認(rèn)enabled: true會(huì)啟動(dòng)瀏覽器繼續(xù)抓取headless: false會(huì)彈出可見窗口出現(xiàn)驗(yàn)證碼時(shí)手動(dòng)完成再關(guān)max_scrolls和idle_rounds控制滾動(dòng)上限與空閑判定。失敗重試與限速默認(rèn)retry_times: 3按 1s、2s、5s 退避rate_limit默認(rèn) 2 請(qǐng)求/秒下載后做 Content-Length 完整性比對(duì)Content-Length 是服務(wù)器聲明的文件大小比對(duì)不過說明下了一半不完整的文件自動(dòng)清理并重試。代理proxy配置一個(gè)地址API 請(qǐng)求和媒體下載都走同一出口適合網(wǎng)絡(luò)受限場景。完成通知notifications的 providers 支持 bark、telegram、webhook 三類多路并發(fā)推送單路失敗不影響下載主流程。評(píng)論采集comments.enabled: true開啟include_replies決定是否拉二級(jí)回復(fù)max_comments為 0 表示不限量結(jié)果落在*_comments.json。語音轉(zhuǎn)寫只對(duì)視頻作品生效圖文不生成。開啟transcript.enabled后默認(rèn)先用 ffmpeg 本地抽出單聲道 mp3 再上傳規(guī)避 25MiB 的單文件上限密鑰建議走環(huán)境變量OPENAI_API_KEY輸出.transcript.txt和.transcript.json兩個(gè)文件狀態(tài)記錄在數(shù)據(jù)庫的transcript_job表。三個(gè)高頻坑直答 ??這一節(jié)解決實(shí)際使用中最可能撞上的三件事。只能抓到 20 條作品這是翻頁風(fēng)控的典型表現(xiàn)。確認(rèn)browser_fallback.enabled: true且headless: false瀏覽器彈窗出現(xiàn)后手動(dòng)完成驗(yàn)證不要立刻關(guān)閉窗口翻頁才會(huì)繼續(xù)。為什么有條作品被重新下載了雙重去重下數(shù)據(jù)庫有記錄但磁盤文件缺失且redownload_missing_files為true就判定為需要補(bǔ)下。反過來只刪庫記錄不刪文件不會(huì)重下所以強(qiáng)制重下要文件和記錄一起清。Cookie 失效了怎么辦重跑一遍python -m tools.cookie_fetcher --config config.yml即可登錄完成后自動(dòng)寫回配置無需手工復(fù)制字段。收尾內(nèi)容庫的積累是慢功夫 去重、增量與兜底機(jī)制讓每次重跑只處理差量配合定時(shí)任務(wù)和完成通知這個(gè)本地內(nèi)容庫可以低維護(hù)地持續(xù)更新。該工具適用于個(gè)人學(xué)習(xí)、研究與數(shù)據(jù)備份場景使用時(shí)請(qǐng)尊重創(chuàng)作者的勞動(dòng)成果與平臺(tái)規(guī)則合規(guī)使用?!久赓M(fèi)下載鏈接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下載工具去水印支持視頻、圖集、合集、音樂(原聲)。項(xiàng)目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考