☰
douyin-downloader:抖音去水印批量下载、主页归档与直播录制,一条命令跑完
2026/10/7 2:28:19 网站建设 项目流程

douyin-downloader:抖音去水印批量下载、主页归档与直播录制,一条命令跑完

【免费下载链接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工具,去水印,支持视频、图集、合集、音乐(原声)。项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader

douyin-downloader 是命令行抖音批量下载工具:给它一条链接和一份 YAML 配置,视频、图文、合集与音乐就能去水印归档到本地,还能抓博主整页主页、录整场直播。针对手工挑源、硬盘堆重复文件、任务挂了白跑这几个痛点,SQLite 去重、重试退避和浏览器兜底都是内置能力。适合想长期存档抖音内容、有基础命令行经验的你。

核心能力速览

  • 无水印下载:输入单条作品或主页链接,输出无水印 mp4 与图集,自动挑选无水印源并按画质档取最高码率。
  • 主页批量归档:输入博主主页链接,输出按post/mix分目录的作者文件夹,作品与合集一次跑完、跨模式自动去重。
  • 直播录制:输入直播间链接,输出整场直播的本地流文件,录满时长或主播下播自动收尾,已录字节保留。
  • 增量去重:输入重复运行的任务,输出零新增重复文件——数据库记录加本地文件双重检查,已下作品自动跳过。
  • 热搜与搜索数据:输入--hot-board或--search命令,输出 JSONL 文件,pandas、jq 二次筛选即用。

跑通最小闭环

先把环境拉起来,后面每一步都依赖它。Python 3.9+ 即可,三平台通用:

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader python -m pip install -r requirements.txt python -m pip install playwright python -m playwright install chromium

登录态这步先做,因为抖音大量内容只对登录用户开放,省掉手动复制 Cookie 字符串的麻烦:

cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml

浏览器弹出后扫码登录,回终端按 Enter,Cookie 自动写入配置,全程不用复制粘贴。把 config.example.yml 里的示例link换成目标博主主页,数量先压到 1:

link: - https://www.douyin.com/user/YOUR_SEC_UID # 目标博主主页 path: ./Downloaded/ mode: - post number: post: 1 # 先只抓 1 条验证环境

最后一键启动:

python run.py -c config.yml

✅你在终端看到完成统计,Downloaded/下多出以作者名命名的文件夹,里面就是无水印 mp4。不想动文件时也能临时覆盖:-u追加链接、-t调并发。

GUI 路线基于同一套后端:Douzy 桌面版粘贴链接即下,覆盖抖音、TikTok、YouTube 多平台(内测阶段):

按场景走工作流

备份整个博主主页为无水印档案

你想达成什么:作品、合集一次抓完,各自限量、按日期圈范围。

怎么配:

link: - https://www.douyin.com/user/YOUR_SEC_UID mode: - post # 作品 - mix # 合集 number: post: 50 # 作品上限 50 条,0 表示不限 mix: 20 # 合集上限 20 个 start_time: "2026-01-01" # 只抓该日期之后的作品

产物在哪:Downloaded/{作者}/post/与Downloaded/{作者}/mix/,文件名按filename_template(默认{date}_{title}_{id})生成,增量去重保证重复运行不产生副本。

录一整场直播直到主播下播

你想达成什么:不开录屏软件,整场直播自动拉流落盘。

怎么配:

link: - https://live.douyin.com/YOUR_ROOM_ID # 直播间 ID live: max_duration_seconds: 3600 # 0 = 录到主播下播

产物在哪:Downloaded/{作者}/live/下的录制文件,附带一份房间元数据 JSON。该功能标注 experimental,重要场次建议同时人工备份一份。

导出热搜与关键词结果为 JSONL

你想达成什么:只收数据不下载文件,把结果喂给 pandas 或 jq 做二次筛选。

怎么配(无需改配置文件,全部走命令行):

python run.py --hot-board 30 -p ./Downloaded python run.py --search "YOUR_KEYWORD" --search-max 100 -p ./Downloaded

产物在哪:热搜榜落在Downloaded/hot_board/,关键词搜索结果落在Downloaded/search/,均为 JSONL 文件,一行一条记录。

调优与自愈

  1. thread:默认 5 → 8,先从 5 起步,网络稳定后再上调,一上来拉满容易触发风控,反而比慢一点更慢。
  2. retry_times:默认 3 → 保持 3,配合内置指数退避与默认 2 请求/秒限速,网络抖动不会留下缺口。
  3. video_quality:默认highest→ 需要原片时改original,每条作品多一次探测请求,但原片可比最高转码档大数倍。
  4. browser_fallback:enabled: true加headless: false→ 主页翻页被风控截断时自动开浏览器,弹窗里可手动过验证码。
  5. start_time / end_time:默认空 → 用YYYY-MM-DD分段抓取,包含结束日期当天,适合把主页分成几段慢慢抓。

挂机跑长任务的最小稳定组合:thread: 5+retry_times: 3+database: true+increase: true,再开notifications让完成与失败推送到 Bark / Telegram。

出了问题查这里

现象大概率原因操作
主页只抓到 20 条左右翻页触发风控保持browser_fallback.enabled: true且headless: false,弹窗手动过验证;或按日期分段抓
突然大面积失败Cookie 过期重跑python -m tools.cookie_fetcher --config config.yml刷新登录态
硬盘堆出重复文件未开启增量去重database: true,并把increase对应模式设为true
想重下某一条作品被去重机制跳过increase.post: false重下当前筛选范围,或删本地文件夹加库中记录
进度输出很吵日志未静默progress.quiet_logs: true;排查时临时加-v

表里没有你的问题时,先跑python run.py -c config.yml -v看详细日志定位。

  • Cookie 失效是常态,把它当周期性维护项:大批量任务开跑前顺手重抓一次登录态,而不是失败了才想起。
  • 不同任务分开配(config_test.yml、config_daily.yml),测试阶段把number.post压在 1~5,跑通了再放开到 0。
  • 挂机前记得开notifications,跑完手机直接收到推送,不用守着终端盯一晚上。

本项目仅供技术学习与个人数据管理使用,请尊重内容版权与创作者权益,在符合平台规则的前提下使用并自行承担相应责任。

【免费下载链接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工具,去水印,支持视频、图集、合集、音乐(原声)。项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询