3步跑通:抖音音频批量下载的免费开源工具
【免费下载链接】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
一条抖音视频里的 BGM 很好听却没法保存时,最直接的做法是把主页链接贴给 douyin-downloader,它会一次性把整页作品的原声批量抽出来。这是一款免费开源的抖音音乐提取工具,支持抖音音频批量下载、主页批量抓取、抖音直播音频录制与 SQLite 去重,全程命令行完成。
工具定位与版本速览
douyin-downloader 是一个面向实用场景的抖音批量下载工具,覆盖视频、图文、音乐、直播四类内容,默认带进度展示、失败重试和去重。项目分两代,取舍如下:
| 维度 | V1.0(DouYinCommand.py) | V2.0(当前仓库,run.py 入口) |
|---|---|---|
| 覆盖范围 | 单视频、基础主页下载 | 主页批量、合集、收藏夹、音乐 |
| Cookie | 手动配置 | 自动获取并写回配置 |
| 容错 | 基础重试 | API + 浏览器双引擎兜底 |
| 直播 / 增量 | 无 | FLV 录制、增量更新 |
只偶尔存一条视频,V1.0 够用;要批量音频、直播或定期采集就直接用 V2.0。项目还带一个同后端的桌面客户端 Douzy,可可视化管理队列与任务,下文均以 V2.0 为主线。
从零到跑通:环境、Cookie 与首次运行
第一步是环境准备。装好 Python 3.8+,克隆仓库并安装依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt环境就绪后进入第二步,Cookie 配置。抖音接口要求登录态,工具自带自动获取脚本:装上浏览器依赖后运行脚本,在弹出的窗口完成抖音登录,回到终端按 Enter,Cookie 会自动写入 config.yml:
pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.ymlCookie 到位,第三步就是写配置并首次运行。复制示例配置,把目标链接和输出目录填进去:
cp config.example.yml config.ymllink: - https://www.douyin.com/user/xxx mode: - music # 只抽音频 path: ./Downloaded/ thread: 3执行python run.py -c config.yml,终端可见进度条,文件按「作者名 / 模式 / 日期_标题_aweme_id」落盘,每条音频旁附带_data.json元数据。
🎵 核心能力:从单条提取到主页批量
单条作品音频提取
粘贴单条视频或音乐链接,工具优先抓取原声文件,拿不到直接音源时回退到使用该音乐的首条作品并抽出音轨,实现见 core/music_downloader.py。桌面端的链接工作台同样支持粘贴后即时识别链接类型:
主页批量与双引擎容错
把链接换成主页 URL,mode 可组合 music、post、like、mix,一次抖音批量下载音频任务只需一条命令:数据库 + 本地文件名双重去重自动跳过已下载内容;翻页受限时 API 引擎切换浏览器兜底,可人工过验证码。同后端桌面客户端中的任务中心可跟踪批量进度与状态:
直播音频录制
粘贴 live.douyin.com 房间链接即开始录制,FLV 写入作者目录 live/ 子文件夹并附带 room.json 快照,主播下播或 Ctrl+C 中断时已录数据全部保留,实现见 core/live_downloader.py。
增量更新配置
配置里加上increase.post: true,下次任务只补新增作品;配合 start_time / end_time 还能把采集限制在某个时间段,适合挂定时任务周期性更新音乐库。
🔧 配置调优实战:常用配置速查与命令行示例
常用配置项速查:
| 配置项 | 作用 |
|---|---|
mode | 采集模式:music / post / like / mix |
number.* | 各模式数量上限,0 为不限 |
increase.* | 增量开关,依赖数据库记录 |
start_time/end_time | 时间过滤,YYYY-MM-DD 格式 |
thread/retry_times | 并发数与重试次数 |
database | 启用 SQLite 去重与历史 |
browser_fallback.enabled | 浏览器兜底开关 |
命令行可覆盖配置,链接支持重复追加,同一个批量任务可随时调整参数:
python run.py -c config.yml -u "https://www.douyin.com/user/xxx" -t 5 -p ./Downloaded踩坑与排障:四个高频问题
- 如果主页只抓到 20 条:通常是翻页风控。开启
browser_fallback并设headless: false,浏览器弹窗出现后手动完成验证,不要立即关闭。 - 如果部分或全部音频下载失败:先怀疑 Cookie 过期,重跑
python -m tools.cookie_fetcher --config config.yml,同时把retry_times设为 3 兜底。 - 如果想重新下载已被跳过的内容:去重走「数据库 + 本地文件名」双重检查,只删一边无效,需要同时清理目录和数据库记录。
- 如果下载速度偏慢:把 thread 调到 3-5,保持默认每秒 2 次请求的限速,避开网络高峰,不要一味拉高并发。
效能对比与适用人群
相比手动录屏再逐条转换,收益是定性的:小时级的手工活变成后台跑完的一条命令,重复任务自动跳过、不占空间,直播音轨也不再依赖手工录屏。
| 任务 | 传统方式 | 使用本工具 |
|---|---|---|
| 100 条作品批量音频 | 手工录屏,数小时 | 一条命令,后台自动 |
| 已下载内容重跑 | 难以辨别重复 | 自动跳过,节省空间 |
| 直播间音轨 | 手工录屏,易中断 | 直接录制,中断不丢 |
适合收集 BGM 的音乐创作者、做样本采集的研究者、建个人音乐库的普通用户——凡是需要反复获取抖音音频的场景都适用。
收尾:社区参与与下一步
项目采用 MIT 协议且持续更新,直接 pull 即可拿到新能力;遇到接口变更或有功能想法,可在仓库提 issue 或 PR 参与维护。把「增量采集」配进系统定时任务,音乐库就能按固定节奏自己长大。
【免费下载链接】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),仅供参考