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 配置和一条命令即可把作者主页作品整理成本地素材档案。
它解决什么问题:把抖音视频存进本地
录屏画质差、带水印,单条收藏无法批量导出,元数据也全部丢失——这是保存抖音内容最常见的三个麻烦。douyin-downloader 的做法是:直接从接口拿到无水印源文件,按作品批量落盘,并用 SQLite 数据库加磁盘文件双重检查来去重,重复跑任务不会产生重复文件。
能力全景:它能做什么
| 能力 | 覆盖内容 | 说明 |
|---|---|---|
| 无水印下载 | 单个视频、图文、短链 | 默认选最高转码档,可尝试探测原画 |
| 批量模式 | 作者主页、点赞列表、合集、音乐 | 各模式独立设置数量上限,0 表示不限 |
| 增量去重 | 数据库记录 + 磁盘文件检查 | 已下载作品自动跳过,支持断档补下 |
| 日期筛选 | start_time/end_time | 只拉取区间内的作品 |
| 评论采集 | 作品评论、二级回复 | 导出为 JSON,可选开启 |
| 音频转写 | 视频内语音转文字 | 走 OpenAI 风格 API,可选开启 |
| 完成通知 | Bark、Telegram、Webhook | 任务跑完推送到手机 |
| 典型用途 | 素材库、研究采集、竞品跟踪 | 数据全部存在本地,可离线检索 |
命令行版以 YAML 配置驱动,另有一个图形界面形态的 Douzy 桌面版,支持在界面上勾选作品、喜欢、合集、音乐等下载范围:
桌面版还内置平台切换,可在多个平台之间快速跳转任务面板:
首次上手:一次跑通的三步
前提是 Python 3.9 及以上,Windows、macOS、Linux 均可。
第一步,安装。拉取代码并装依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt如需浏览器兜底(翻页被限制时自动开浏览器验证),再补装 playwright 及其 chromium 内核即可。
第二步,配置。把 config.example.yml 复制为config.yml,最小可用配置长这样:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: [post] number: post: 10 # 0 表示不限制数量 thread: 5link换成目标作者主页地址,mode选择下载模式,number控制每种模式的数量。
第三步,认证。运行一次python -m tools.cookie_fetcher --config config.yml,终端会弹出浏览器,登录抖音后回到终端按 Enter,Cookie 就写进了配置文件。认证逻辑集中在 auth/ 模块,后续失效时可单独重跑这一步。
最后执行python run.py -c config.yml开始下载,全部参数可用python run.py --help查看。
高频实战:按用途选模式
存下某位作者的全部作品
link填主页地址,mode保持post,number.post设为 0 即不限数量。工具按发布时间给目录加日期前缀,重复运行会自动跳过已下载的作品,适合长期跟踪某个博主的更新。
整理自己或他人的收藏
把mode改为collect即可拉取收藏夹内容;如果目标是一个具体合集,mode: [mix]也能处理。文件会按原分类落到对应作者目录下,不用手动归档。
只保留某段时间的作品
用start_time和end_time框定日期范围(格式YYYY-MM-DD,含结束当天),工具在拉取列表阶段就完成过滤,不浪费请求也不占磁盘。
进阶配置:文件、命名与通知
- 文件落盘:默认目录结构是「作者名 / 模式 / 日期_标题_aweme_id」三层,每个作品一个文件夹。默认只保存视频本体,封面、音乐、作者头像、原始 JSON 都默认关闭,按需打开对应开关,避免多出几倍文件。
- 命名模板:
filename_template支持{author}、{title}、{date}、{aweme_id}等变量,自定义排列;模板里至少保留{id},否则同标题作品会互相覆盖。 - 画质:
video_quality默认highest(最高转码档),设为original会额外探测上传原片,失败时自动回退。 - 进度与重试:终端用 Rich 画并发进度条,失败按
retry_times自动重试;加-v参数可输出详细日志。 - 通知:
notifications配置 providers 列表后,任务成功或失败都会推送,适合挂机跑大任务。
避坑与答疑
主页只翻到 20 条就停了,怎么办
这是抖音的翻页风控。保持browser_fallback.enabled: true和headless: false,浏览器弹出后手动完成验证再关闭。需要说明的是,抖音接口风控在持续收紧,CLI 对单个视频、合集等部分接口的下载可能受限,主页作品走浏览器兜底但不保证成功;日常使用建议优先 Douzy 桌面版。
Cookie 失效了怎么恢复
抖音 Cookie 通常一周左右过期,重新运行 cookie_fetcher 那一步即可,不用清空数据库或目录。可以把每周刷新 Cookie 设成日历提醒。
重跑任务会不会重复下载
不会。工具先查 SQLite 数据库里的下载记录,再核对磁盘上的主媒体文件是否非空,两层都通过才跳过;文件缺失时默认补下(redownload_missing_files可关)。
下载很慢或频繁失败,怎么排查
依次尝试:把thread降到 3 左右减轻压力;检查proxy代理是否可用;加-v看日志定位是解析还是下载阶段出错。多数情况是网络环境波动,retry_times: 3的自动重试已经覆盖大部分瞬时错误。
使用边界
本工具定位于个人账号可见内容的本地存档,数据不经过任何云端。内置rate_limit控制请求频率,请勿高频轮询或用于规模化采集。下载内容的版权仍归创作者所有,请遵守平台规则与版权要求,仅供个人学习研究使用。
结语
把主页地址贴进config.yml,跑一条python run.py,你的抖音素材库就能开始积累。
- 配置样例:config.example.yml
- 核心源码:core/
- 设计文档:docs/superpowers/specs/
【免费下载链接】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),仅供参考