抖音音乐批量下载指南:主页作品原声一键提取
2026/9/15 21:57:51 网站建设 项目流程

抖音音乐批量下载指南:主页作品原声一键提取

【免费下载链接】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 直接解决这件事:把一个主页链接贴进去,它按作品批量下载,每条作品的原声音乐随文件一起落盘,视频、图集、合集、音乐都支持,还自动去重和增量更新。适合需要批量存档作品或收集音乐素材的创作者。

工具速览

  • 是什么:命令行 + 配置文件的抖音批量下载工具,Python 3.8+,macOS / Linux / Windows 通吃
  • 亮点:无水印源自动优选、SQLite 去重、增量跳过、翻页风控时浏览器兜底、下载完整性校验
  • 适合谁:批量收藏某位作者作品、收集 BGM 原声、维护个人素材库的人

快速上手:三步跑通首次任务

第一步:装依赖(约 2 分钟)

克隆仓库并安装依赖,配置文件模板config.example.yml也在仓库根目录。

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt

第二步:建配置(约 1 分钟)

复制模板为config.yml,把主页链接填进link即可。

cp config.example.yml config.yml

第三步:获取 Cookie(约 2 分钟)

抖音接口需要登录态。跑下面这条命令后浏览器会弹出登录页,登录完回终端按 Enter,Cookie 自动写回配置,之后长期有效。

python -m tools.cookie_fetcher --config config.yml

浏览器兜底和 Cookie 自动获取依赖 Playwright,需要时再装:

pip install playwright && python -m playwright install chromium

第四步:首次运行(约 1 分钟)

python run.py -c config.yml

终端里能看到每一步的状态:解析链接、拉取作品、并发下载。结果统一落在path指定的目录下,默认./Downloaded/

功能地图

批量抓取

  • 支持post/like/mix/music四种主页模式 → 一个链接抓完发布、喜欢、合集、用过的音乐,跨模式自动去重
  • 解析v.douyin.com短链 → 分享文案里复制的短链接可直接粘贴
  • 画质档位可选original/highest/ 指定分辨率 → 自动挑无水印源和最高码率

自动省时间

  • 增量跳过 → 重跑任务只补新作品,老文件不动
  • SQLite 加本地文件名双重去重 → 同一作品不会重复下载
  • 浏览器兜底 → 分页被风控时自动打开浏览器,你人工过验证码
  • 完整性校验 → 比对 Content-Length,下了一半的文件自动清理并重试

附带产物

  • 音乐原声、封面、头像、JSON 元数据按开关保存 → 只留想要的那一份
  • 每条作品追加一行download_manifest.jsonl清单 → 方便用脚本二次筛选
  • 可选评论采集与视频转写 → 需要数据维度时再打开

一个完整任务演示:批量提取作者主页的音乐原声

以"某位作者全部作品、只要音乐原声"为例。改动config.yml四处,其余保持默认:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 目标主页 path: ./Downloaded/ mode: [post] video: false # 不存视频本体 music: true # 每条作品保存原声 number: post: 100 # 上限 100 条,0 为不限

运行命令只有一条:

python run.py -c config.yml

产物目录(日期取自作品发布时间,不是下载时间):

Downloaded/ └── 作者昵称/ └── post/ ├── 2024-02-07_作品标题_aweme_id/ │ ├── 2024-02-07_作品标题_aweme_id.mp3 │ └── 2024-02-07_作品标题_aweme_id_data.json └── 2024-03-15_另一条作品_aweme_id/ └── ...

前后对比:手动方式要逐条下载视频、逐个用转码工具抽音频,还要自己重命名;这里一次运行后 100 条原声全部命名好、分好文件夹,重复运行只补漏。

关键配置速查

参数作用建议值
link下载目标,可多条主页 / 视频 / 合集 / 音乐链接
path输出目录./Downloaded/
mode主页下载模式[post]起,按需加like/mix/music
number各模式条数上限0不限
video_quality选码率档位highest;追原片用original
thread并发下载数5
increase增量跳过已下true
start_time/end_time按发布时间过滤YYYY-MM-DD
databaseSQLite 记录与去重true

故障与排查

  • 只抓到 20 条就停 → 分页触发了风控。确认browser_fallback.enabled: trueheadless: false,弹出浏览器后手动完成验证再关窗口。
  • 批量任务大面积失败 → 多半是登录态失效。重跑python -m tools.cookie_fetcher --config config.yml;在交互终端直接跑run.py也会自动弹浏览器补登录。
  • 删了文件却没重下 → 去重是数据库加本地文件名双重判断,只删文件、库里仍有记录时会被跳过。补一条:sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<id>';"
  • 进度条反复刷屏 → 检查progress.quiet_logs是否被改成了false;调试日志临时加--show-warnings即可,跑完记得去掉。

使用边界

本工具面向技术研究、学习交流与个人数据管理。collect/collectmix只作用于当前登录账号的收藏夹;浏览器兜底目前只对post模式完整验证;HLS 直播源只存 playlist,需要 ffmpeg 后处理。建议保持默认限速,素材仅个人收藏使用,别侵犯隐私与版权。

收尾

一句定位:douyin-downloader 把"主页批量下载 + 原声落盘 + 自动去重"打包成一条命令的事。

  1. 先用一条单作品链接验证环境和 Cookie
  2. 日常任务保持increase: true,让它只补新作品
  3. Cookie 失效就重跑 cookie_fetcher,不用改其他配置

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询