Douyin Downloader 是一款抖音批量下载工具,支持视频/图集/音乐/合集/主页内容批量下载,自动去除水印。内置 SQLite 去重、断点续传、直播录制、评论采集和 OpenAI 字幕转录,提供 REST API 和 Docker 部署方式,文末附详细使用教程

🎤 引言

刷到一条好看的抖音视频,想存下来以后看,但点分享只能发链接、没法直接保存本地——这事估计谁都遇到过。

抖音官方没有提供批量下载入口,第三方工具要么要钱、要么有水印、要么下几集就封号。Douyin Downloader 这个开源工具解决的是比较实在的问题:给你一个命令行工具,填入配置,跑一下,指定的内容就批量下载到本地,还能自动去水印。

8k Stars 体量不大,但功能做得很完整——视频、图集、音乐、合集、主页内容批量下载全都支持,还有直播录制、评论采集、字幕转写这些附加能力。对于需要系统性管理抖音内容的人来说,是个值得收藏的工具。


⭐ 核心功能

批量下载多种内容类型

Douyin Downloader 支持下载的内容类型相当全:

  • 单个视频 / 图集(图片笔记)/ 音乐
  • 合集(collection/mix)
  • 创作者主页内容(投稿/喜欢/合集/音乐)
  • 收藏夹内容(需要登录 Cookie)

批量下载支持指定数量,比如"只下载该创作者最近 50 条投稿",或者"下载全部"(number: 0)。同一内容在跨模式下载时会自动去重,不会重复占用空间。

自动去除水印

这是很多人找这类工具的核心诉求。Douyin Downloader 会自动从多个视频源地址中选择无水印版本,不需要手动找"无水印链接"。实测对大多数视频有效,但抖音随时可能调整接口,不保证 100% 覆盖。

最高画质选择

工具会自动从 video.bit_rate 画质阶梯里挑选最高码率版本下载。不是每个视频都有多种画质选项,但在有选择的时候会默认选最优的。

直播录制

输入直播间 URL(live.douyin.com/{room_id}),工具会录制直播流为 FLV 或 HLS 格式输出。更贴心的是——如果直播中途意外中断,已录制的部分不会丢失,工具会保留不完整的分段文件。

评论采集

每个视频下载完成后,可以同时把评论(包含回复)导出为 *_comments.json 文件。JSON 格式方便后续做数据分析或者内容归档。

热搜 + 关键词搜索

内置了两个数据采集命令:

  • --hot-board [N]:抓取抖音热搜榜单,输出 JSONL 格式
  • --search "keyword":按关键词搜索视频,结果保存为 JSONL

适合做舆情分析或者内容研究。

REST API 服务模式

加上 --serve --serve-port 8000,工具就变成一个本地 API 服务器,其他程序可以调用接口触发下载任务。配合 fastapi + uvicorn 使用,适合集成到自动化 pipeline 里。

通知推送

下载完成后可以推送通知到 Bark(iOS)、Telegram 或 Webhook。这意味着你可以让工具在 VPS 上跑,任务完成后手机收到通知,不需要盯着屏幕。

视频字幕转写

接入 OpenAI Transcriptions API,可以把视频里的人声自动转成文字(.txt.json 格式)。不过这个功能需要自备 OpenAI API Key,且会产生费用。

SQLite 去重 + 断点续传

本地 SQLite 数据库记录已下载内容,重复内容会跳过。下载过程支持断点续传,网络中断不需要重新来过。工具还会在下载前校验 Content-Length,发现文件不完整自动清理重试。


📥 安装与使用

环境要求

  • Python 3.8+
  • macOS / Linux / Windows 均可
  • 可选:Playwright + Chromium(用于 Cookie 自动获取和反爬备用方案)

安装

git clone https://github.com/jiji262/douyin-downloader.git
cd douyin-downloader
pip install -r requirements.txt

# 可选:安装 Playwright 浏览器支持
pip install playwright
python -m playwright install chromium

配置文件

cp config.example.yml config.yml

然后填入你的抖音 Cookie(获取方法见下方),以及下载路径、并发数等参数。

获取 Cookie(推荐自动方式)

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

运行后会自动打开浏览器,跳转到抖音登录页面。登录完成后回到终端回车,Cookie 自动写入配置文件。

需要填入的主要字段:ttwidodin_ttpassport_csrf_tokensid_guard,msToken 留空即可。

Docker 部署

不想在本地装 Python 环境,直接用 Docker:

docker build -t douyin-downloader .
docker run -v $(pwd)/config.yml:/app/config.yml \
           -v $(pwd)/Downloaded:/app/Downloaded \
           douyin-downloader

运行下载

# 配置文件方式
python run.py -c config.yml

# 命令行追加参数
python run.py -c config.yml \
  -u "https://www.douyin.com/video/7604129988555574538" \
  -t 8 \
  -p ./Downloaded

常用配置示例

# 下载单个创作者最近 50 条视频
link:
  - https://www.douyin.com/user/MS4wLjABAAAAxxxx
mode:
  - post
number:
  post: 50

# 同时下载投稿和喜欢列表
link:
  - https://www.douyin.com/user/MS4wLjABAAAAxxxx
mode:
  - post
  - like

# 录制直播
link:
  - https://live.douyin.com/88888888

🎯 适用场景

内容创作者素材收集

做二次创作或者内容策划时,需要参考和保存其他创作者的视频内容。批量下载比逐个点分享链接方便很多,而且自动去水印。

舆情分析/学术研究

配合 --hot-board--search 功能,可以系统性地采集抖音热门内容和评论数据,用于社媒分析或者学术研究。JSONL 格式方便后续用 Python/pandas 处理。

直播存档

喜欢看但没时间追的直播,可以录下来以后再看。虽然 HLS 格式需要 ffmpeg 转码才能播放,但至少不会因为错过直播而留遗憾。

个人内容备份

自己的抖音作品和收藏夹,手动一个个保存太麻烦。配置好 Cookie 后跑一下 Douyin Downloader,全量备份到本地,比平台云端存储更可控。


🔍 对比/替代方案

硕鼠/维棠等国产下载器

国产工具大多免费,但界面广告多、更新不稳定、有些还偷偷加水印。Douyin Downloader 开源透明,功能更新靠社区,技术上更可靠。

yt-dlp

yt-dlp 是通用的视频下载工具,也支持抖音,但配置相对复杂,需要自己处理 Cookie 和反爬逻辑。Douyin Downloader 专门针对抖音优化,功能更贴合(比如评论采集、去水印逻辑)。

官方创作服务平台

抖音官方有内容管理后台,可以查看和管理自己的作品,但不支持批量下载非本人内容。Douyin Downloader 的批量下载能力是官方工具覆盖不到的需求。


⚠️ 注意事项

Cookie 有时效

抖音的登录态 Cookie 会过期,过期后需要重新获取。如果工具某天突然不能下载了,大概率是 Cookie 失效,重新跑一遍 cookie_fetcher 即可。

去水印不是 100%

抖音随时可能调整视频源接口,无水印版本不一定每次都能找到。工具会尽量尝试,但如果所有源都有水印,那也只能接受现实。

HLS 直播需要二次处理

直播录制时如果遇到 HLS 流,工具只能保存播放列表文件(.m3u8),不能直接播放。需要用 ffmpeg 转码成 MP4 才能正常回放。FLV 流则没这个问题。

尊重版权

工具本事是中立的,但使用方式有边界。下载他人作品用于商业目的或者二次传播会涉及版权问题,请确保使用场景合规。仅供个人学习研究用途。

频率限制

工具内置了默认 2 req/s 的限速,但如果频繁大量下载,抖音可能会触发风控导致临时封禁。建议控制下载节奏,必要时开启代理分散请求。


✅ 总结

Douyin Downloader 是个功能做得很实在的垂直工具。视频、图集、音乐、合集、主页内容批量下载,加上去水印、直播录制、评论采集、字幕转写这些附加能力,把抖音内容管理的主流需求基本都覆盖了。

8k Stars 在 GitHub 不算大,但工具的更新频率和维护质量都不错——有 CI/CD 流程、有 Dockerfile 支持、有桌面端 GUI 规划( Douzy),不是一个"发出来就不管了"的项目。

如果你有批量管理抖音内容的需求,比如素材收集、舆情分析、直播存档这类场景,试试这个工具会比逐个点分享省心很多。

GitHub: https://github.com/jiji262/douyin-downloader