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 是一款开源抖音下载器,支持抖音音频批量下载、用户主页批量抓取和直播录制。本文带你完成三件事:把工具部署起来、把音乐原声批量提出来、把它挂成定时任务。
功能与版本速览
douyin-downloader 目前有两种形态:仓库里的命令行版(V2.0,入口 run.py),以及基于同一套后端封装的桌面版 Douzy(内测中)。两者都能做抖音音乐提取,差别在交互方式和适用场景。
| 对比项 | 命令行版(V2.0 / run.py) | 桌面版(Douzy,内测) |
|---|---|---|
| 获取方式 | git clone 后pip install | 从 Releases 页面下载安装包 |
| 输入方式 | -u参数或 config.yml 的 link | 界面粘贴链接,点「下载」 |
| 批量 / 主页 | 支持,mode: post / like / mix / music | 支持,多链接队列 |
| 音乐原声 | music: true或 music 模式 | 可配置 MP3 下载 |
| 任务跟踪 | 终端 Rich 进度条 | 可视化任务中心(状态、重试) |
| 更适合谁 | 服务器、脚本化、定时自动下载 | 本地日常下载、可视化操作 |
桌面版 Douzy 的链接下载工作台:粘贴视频 / 主页 / 合集链接即可开始。
安装部署
最短路径就四步,跑完可以直接进入下载:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader && pip install -r requirements.txt cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml- 第一条:把仓库拉到本地,得到全部源码。
- 第二条:装 Python 3.8+ 的运行依赖。
- 第三条:复制 config.example.yml 为 config.yml,作为后续唯一的修改入口。
- 第四条:弹出浏览器登录抖音,登录后回终端按 Enter,tools/cookie_fetcher.py 会自动把 Cookie 写回配置——这是唯一需要你动手的一步。
如需浏览器兜底(翻页被风控时自动启动)或自动取 Cookie,再补装:pip install playwright,然后python -m playwright install chromium。
典型用法
单条链接下载
- 做什么:从一条视频或音乐链接里提取原声。
- 最短命令:
python run.py -u "https://www.douyin.com/video/7604123456789012345" -p ./Downloaded同时在 config.yml 里设video: false、music: true,就只留原声不留视频。
- 得到什么:一个 mp3 原声文件;再加
json: true会生成*_data.json,保存标题、作者、发布时间、专辑信息等元数据。也可以直接给/music/{music_id}链接,优先取原声,缺失时回退到该音乐下的首条作品。
用户主页批量下载
- 做什么:一次性把某作者发布的原声(或音乐列表)批量抓下来。
- 最小配置:
link: - https://www.douyin.com/user/xxxx mode: - musicnumber.music: 0表示不限量;改成mode: [post]并配合music: true,则提取作者作品里的背景音乐。音乐模式由 core/user_modes/music_strategy.py 驱动。
- 得到什么:按「作者 / 模式 / 日期_标题_id」归档的 mp3。SQLite 数据库自动去重,重复运行会跳过已下载的作品,实现增量收集。
任务中心按作者展示批量任务的完成状态、条数与耗时,失败项可单独重试。
直播音频录制
- 做什么:录制一个正在进行的直播间(实验性功能)。
- 最小配置:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600max_duration_seconds: 0表示录到主播下播。
- 得到什么:保存在
Downloaded/{作者}/live/下的 FLV 直播流文件,以及*_room.json房间快照。主播下播、断网或 Ctrl+C 时,已录字节都会保留(.tmp 自动转正)。要纯音频时,用 ffmpeg 从 FLV 里再抽一次即可(HLS 源只存 playlist,需 ffmpeg 后处理)。
配置项速查
真正需要改的字段不多,其余保持默认即可:
| 字段 | 含义 | 建议值 |
|---|---|---|
link | 要下载的链接,支持多条 | 视频 / 主页 / 直播间链接 |
path | 输出目录 | ./Downloaded/ |
music | 是否下载原声 | true(音频任务) |
video | 是否下载视频本体 | false(只要音频时) |
mode | 主页抓取模式 | music或post |
number.<mode> | 每种模式数量,0 为全部 | 0 |
thread | 并发下载数 | 3–5 |
retry_times | 失败重试次数 | 3 |
start_time/end_time | 时间过滤(YYYY-MM-DD) | 按需填写 |
increase.<mode> | 是否增量(跳过已下) | true |
database | 启用 SQLite 去重与历史 | true |
常见问题
速度慢现象:批量任务耗时长、被限速。原因:默认速率限制为 2 请求/秒,高并发还会触发风控。解法:thread设为 3–5,避开高峰时段,必要时配置proxy。
主页只抓到约 20 条 / 翻页中断现象:作品只下了一部分。原因:翻页被风控限制,API 分页被拦。解法:开启browser_fallback(enabled: true、headless: false),浏览器弹窗出现时手动完成验证再关。
定时自动下载现象:想每天自动更新音乐库。原因:需要把命令交给系统定时执行。解法:Linux 用 crontab,例如0 2 * * * cd /path/douyin-downloader && python run.py -c config.yml >> dl.log 2>&1;Windows 用任务计划程序。配合increase跳过旧内容,只拉新增。
音频质量不理想现象:提出来的原声偏糊、有杂音。原因:原作品音轨码率低,或源文件残缺。解法:换更高清的原作品重下;残缺文件会被完整性校验(Content-Length 比对)自动清理并重试。
小结
douyin-downloader 把「链接进、mp3 出」的抖音音乐批量提取做成了可脚本化、可定时、带去重与重试的完整流程。建议先用单条链接验证music提取无误,再把作者主页配置放进 crontab,实现每日增量更新。
【免费下载链接】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),仅供参考