批量下载抖音音频: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 配置驱动。下面从装环境开始,带你跑通第一个音频任务。
🎵 能力速览:先知道它能做什么
| 类别 | 内容 |
|---|---|
| 能下载 | 单个视频/图集/合集/音乐链接、作者主页作品(post)、喜欢列表(like)、直播流 |
| 能提取 | 视频去水印、原声音频(music: true)、封面、作者头像、JSON 元数据 |
| 能跳过 | SQLite 数据库记录历史,increase开启后重复运行只取新内容 |
| 有限制 | collect/collectmix(收藏夹模式)只能单独使用,且只作用于当前登录账号;直播录制为实验性功能 |
🎵 最短上手路径:装环境、拿 Cookie、写配置
第一步,拉取代码并安装依赖。浏览器兜底功能依赖 Playwright,一并装上:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt pip install playwright && python -m playwright install chromium这一步装好运行时和浏览器内核,后面 Cookie 自动获取和翻页兜底都靠它。
第二步,复制配置文件并获取 Cookie。抖音接口需要登录态,工具会用浏览器带你登录一次:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml按提示扫码登录,回到终端回车,Cookie 自动写回 config.yml,这一步做完后长期有效。
第三步,把config.yml改成只保留这几个键,就是一份可运行的音频提取任务:
link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ music: true json: true thread: 3music: true让工具把作品的原声单独保存,json: true附带一份元数据。
然后运行:
python run.py -c config.yml命令行参数也可以在运行临时覆盖配置,比如-p ./out/改保存目录、-t 8改并发,完整参数见 README.md。
🎵 单个作品:只提取一条视频的音频
把link换成任意作品短链(v.douyin.com开头也认),music保持true、video设为false,就不会再存视频本体,只留音频。
运行后在Downloaded/作者名/post/下找到对应的音频文件,json: true时会多一个包含标题、作者、发布时间的.json。
🎵 主页批量:提取一位作者全部作品的原声
把link换成https://www.douyin.com/user/{sec_uid},模式设为post,再配合number控制数量:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 0 increase: post: truenumber.post: 0表示全部拉取,increase.post: true保证第二次运行时跳过已下载的作品,实现增量收集。
任务中心界面会显示每个链接的成功/失败计数;API 翻页被拦时,浏览器兜底(browser_fallback.enabled: true)会自动接管,遇到验证需要你在弹出的浏览器里手动处理一次。
🎵 直播录音:保存直播间的音频流
link填https://live.douyin.com/{room_id},再打开live配置块:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 idle_timeout_seconds: 30录制结果保存在Downloaded/{作者}/live/下的 FLV 文件,中断或主播下播时已录部分会保留。注意 FLV 是容器格式,若要转 MP3 需自行用 ffmpeg 处理。
🎵 定时任务:每天自动增量收集
把增量配置留着,用系统计划任务定时跑同一条命令即可。Linux 下加入 crontab(每天凌晨 3 点执行):
0 3 * * * cd /path/to/douyin-downloader && python run.py -c config.yml >> download.log 2>&1因为increase默认开启,每天只会有新作品落盘,旧文件不动。
🎵 配置参数速查表
| 参数 | 默认值 | 什么时候改 |
|---|---|---|
music | false | 要提取音频时改为true |
video | true | 只要音频时改为false,省空间 |
json | false | 需要保存标题、作者等元数据时开启 |
thread | 5 | 网络一般或频繁超时,降到 3 |
rate_limit | 2 | 每秒请求数,出现风控保持 2 或调低 |
retry_times | 3 | 弱网环境可加到 5 |
number.post | 0 | 只要最近 N 条时填具体数字 |
start_time/end_time | 空 | 按时间范围筛选作品时填日期 |
database | true | 建议保持开启,增量去重依赖它 |
🎵 高频问题排查
提示登录态失效或要求重新登录原因:Cookie 过期,通常数周后发生。 动作:重跑python -m tools.cookie_fetcher --config config.yml登录一次。
批量任务中途大量失败原因:并发和请求速度触发限制。 动作:thread降到 3,rate_limit保持 2,观察失败率是否回落。
运行结束但没有音频文件原因:music仍是false,只下了视频本体。 动作:把music改为true再跑一次,已下载的视频会自动跳过。
重复运行把文件下了两遍原因:increase被关成false,会强制重下覆盖。 动作:改回true;磁盘文件误删想补下时,删掉对应数据库记录或保持redownload_missing_files: true即可。
🎵 收尾
这套流程适合需要长期收集抖音音乐素材、备份作者主页内容的场景。下一步建议定期用git pull拉取更新,配合 docs/ 里的设计文档了解增量与风控细节。
【免费下载链接】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),仅供参考