抖音批量下载工具指南: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 是一个开源的抖音无水印下载工具:通过命令行或桌面版,把抖音主页作品、合集、音乐页内容批量保存为无水印文件,附带 SQLite 去重、失败重试与时间筛选,适合需要长期归档或备份抖音内容的学习与个人使用场景。
能力速览
| 功能 | 说明 | 典型场景 |
|---|---|---|
| 抖音主页批量下载 | 按博主主页链接遍历作品,受数量与日期范围约束,支持 Playwright 浏览器兜底 | 建立某个博主的完整作品档案 |
| 单条视频 / 图文下载 | 解析分享链接,下载无水印视频或图集 | 保存单条特定作品 |
| 合集与音乐模式 | mode设为mix/music,批量保存合集章节或某首原声下的作品 | 抖音合集下载、按背景音乐收集素材 |
| 增量去重 | 本地 SQLite 记录作品明细,重跑时跳过已下载内容 | 长期跟踪更新中的主页 |
| 时间与数量筛选 | start_time/end_time圈定日期,number限定条数 | 只补某一阶段的旧作品 |
| 并发与重试 | thread并发、retry_times重试、rate_limit限速 | 弱网环境下稳定跑完任务 |
| 直播录制 | 直播链接触发录制,默认录至主播下播(实验功能) | 保存直播片段 |
桌面版 Douzy 提供图形化的抖音批量下载配置入口,命令行版则用同一套参数概念,在 YAML 里完成同样设置。
最短上手路径
第一步:安装。需要 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 抓取脚本,脚本会拉起浏览器,登录后回到终端按 Enter 保存:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml第三步:第一次下载。打开config.yml,把link换成目标博主主页链接,其余字段可先保持默认,然后运行:
python run.py -c config.yml全部参数可用python run.py --help查看。运行结束后,Downloaded/目录下会按「作者名 / 下载模式 / 日期_标题_作品ID」组织好视频文件,并生成一条download_manifest.jsonl下载清单,SQLite 库dy_downloader.db中同时写入作品明细与任务历史。
按需求选玩法
抖音主页批量下载
目标:完整保存某个博主发布过的全部作品。做法:config.yml中mode填post,number.post设0表示不限条数;如需只补近期内容,加上start_time和end_time(格式YYYY-MM-DD,含结束日当天)。结果:作品按发布时间命名归档,重复运行会自动跳过已下载项,相当于增量更新。
保存单条视频或图文
目标:把一条分享链接对应的无水印视频或图集存下来。做法:将视频 / 图文 / 短链直接写进link,或用python run.py -u "链接"追加到当前任务。结果:单个作品保存为目标视频或图集文件。需要注意:自 2026 年 8 月起,抖音接口风控已拦截 CLI 对作品详情、合集、音乐、喜欢、收藏接口的直接请求,单条链路可能失败;主页模式可依赖浏览器兜底,但不保证成功,日常单条下载官方建议使用桌面版。
抖音直播录制
目标:录下直播间的内容。做法:把live.douyin.com/{room_id}形式的直播链接写入link,live.max_duration_seconds设0表示录到主播下播,可调idle_timeout_seconds控制空闲断流判断。结果:直播流按块写入本地文件。这是实验功能,HLS 源仅保存播放列表,不是可直接播放的视频,拿到后可能需要再用 ffmpeg 之类的工具封装。
关键参数与进阶
以下参数在 config.example.yml 中都有注释说明:
| 参数 | 作用 | 建议值 |
|---|---|---|
thread | 并发下载数 | 默认 5;网络不稳时降到 3 |
retry_times | 单个文件失败后的重试次数 | 3 |
rate_limit | 请求限速,降低触发风控的概率 | 2 |
video_quality | 画质选择:highest最高转码档、original探测原片、也可指定 1080p / 720p | highest;追原片时改original,但每条多一次探测请求 |
increase.post | 增量开关:跳过已判定下载过的作品 | true;想整体重下时改false,无需清空数据库 |
redownload_missing_files | 磁盘文件缺失或为空时是否补下 | 默认true |
number.post | 本次下载条数上限 | 试跑填 10,全量填 0 |
database/database_path | 是否写入 SQLite 下载历史 | true,库文件默认dy_downloader.db |
browser_fallback.enabled | 主页翻页受限时是否用 Playwright 浏览器兜底 | 保持true,并设headless: false便于人工过验证 |
filename_template | 文件名模板,必须包含{id} | 默认{date}_{title}_{id},日期取作品发布时间 |
评论采集(comments.enabled)、视频转写(transcript)、完成通知(notifications,支持 bark / telegram / webhook)同样在配置文件中开启,按需启用即可。
排错速查
- 接口返回异常、下载为空:Cookie 失效或过期太久。动作:重新运行
python -m tools.cookie_fetcher --config config.yml。 - 主页只抓到少量作品:抖音风控限制了接口翻页。动作:保持
browser_fallback.enabled: true、headless: false,在弹出的浏览器里自行完成验证。 - 单条视频 / 合集链接下载失败:2026 年 8 月起详情类接口被风控拦截。动作:改用主页模式或桌面版,勿靠反复重试 Cookie 解决。
- 下载慢、频繁超时:并发过高。动作:把
thread降到 3,确认网络稳定后再调回。 - 失败原因看不出来:默认日志较安静。动作:加
-v参数运行查看详细日志。
合规提醒
本工具定位为学习研究与个人数据管理,下载内容的版权仍归原创作者所有。请遵守抖音服务条款、版权规定与平台规则,仅将已保存内容用于个人用途,不要商用或二次传播。Cookie 属于个人登录凭据,请勿将含 Cookie 的配置文件分享或提交给他人。
【免费下载链接】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),仅供参考