一行命令提取抖音视频原声,批量收集 BGM 素材:douyin-downloader 实用指南
2026/9/16 11:45:07 网站建设 项目流程

一行命令提取抖音视频原声,批量收集 BGM 素材: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

刷到一段反复出现的 BGM 却查不到歌名,或想把某位创作者主页里的原声全部存下来?这类需求正对应一个本地运行的抖音音乐下载工具:douyin-downloader 可直接获取作品附带的音频流,完成单条 BGM 下载与抖音原声提取,也能按作者主页批量下载抖音音乐,免费完成抖音背景音乐免费下载与归档。

工具画像:douyin-downloader 是什么

它是一个 Python 命令行下载器,围绕"把作品内容完整落到本地"设计:

  • 不只是抽音频,也覆盖视频、图文、合集、收藏夹、直播流等类型,音频场景只是其中一类;
  • 音频走作品自带的原声流,不做录屏转码,得到的 mp3 就是作品里播放的那一条;
  • 文件按"作品发布时间"命名并分层存放(作者/模式/作品目录),重复运行靠 SQLite 数据库加本地文件双重去重跳过已下载项;
  • 默认带并发、指数退避重试、每秒请求数限制,翻页受限时可启用浏览器兜底。

适合三类人:需要背景素材的短视频创作者、想长期保存某位创作者原声的听众、需要批量归档内容做研究或运营的团队。总体架构与数据落盘策略见 PROJECT_SUMMARY.md,完整参数表在 README.zh-CN.md。

最短上手路径:三步完成首次抖音音乐下载

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

第二步是 Cookie。访问抖音 API 需要登录态,推荐用内置脚本自动获取(需先装 playwright):

pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml

浏览器弹出并登录后回到终端按 Enter,Cookie 会自动写入配置。实现代码在 tools/cookie_fetcher.py。

第三步,准备一份最小配置并运行:

link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ video: false music: true
python run.py -c config.yml

music: true表示保留原声(生成*_music.mp3),video: false表示不下载视频本体,只取音频。默认值定义在 config/default_config.py,缺省只存视频,做纯音乐下载时这两个开关要改。

同一后端也驱动了一个叫 Douzy 的桌面客户端,粘贴链接即可提交下载任务,适合不想碰命令行的场景:

能力地图:按使用场景挑下载方式

单条作品 BGM 提取:music 开关就够

除视频链接外,短链(https://v.douyin.com/...)可自动解析。如果已经拿到的是音乐链接(https://www.douyin.com/music/{music_id}),会优先取该音乐的原始音频文件,缺失时回退到使用这条音乐的首条作品。

批量下载抖音音乐:整页收集作者原声

把链接换成用户主页,并把mode设为music,即可按创作者维度收集:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - music number: music: 0 # 0 表示不限数量

也可以同时开post/like/mix/music多个模式,同一个作品跨模式只下载一次。mode各策略的实现在 core/user_modes/。

收藏与喜欢:同步自己账号的 BGM 合集

collect/collectmix模式可抓取当前登录账号的收藏夹与收藏合集(入口链接为https://www.douyin.com/user/self?showTab=favorite_collection),只针对自己账号,且不能与其他模式混用。桌面版里这一页有图形化界面,可以按合集整体下载:

直播间音频录制:下播也不丢已录数据

live.douyin.com/{room_id}链接触发直播录制,FLV 流保存于Downloaded/{作者}/live/并附直播间元数据;主播下播、网络空闲或手动中断时,已写入的.tmp分片会自动提升为正式文件。HLS 源目前只保存 playlist,需要 ffmpeg 后处理。录制参数在配置的live节,属于实验性功能。

配置深水区:并发、时间筛选与增量

批量收集时真正需要调的参数不多,核心几项:

参数作用
thread并发下载数,默认 5
rate_limit每秒请求上限,默认 2
retry_times失败重试次数,默认 3,指数退避
start_time/end_time按作品发布时间筛选,格式YYYY-MM-DD
increase增量开关,配合database: true二次运行只补新作品
number.{mode}各模式数量上限,0 为不限
proxyAPI 与媒体请求统一走代理
notifications完成后推送 Bark / Telegram / Webhook

目录组织由folderstyle控制,文件与目录名默认是{date}_{title}_{id},其中的日期取作品发布时间而非下载时间,方便事后按时间线整理素材。批量任务跑完后的状态(成功数、失败项、打开目录)也可以在桌面版任务中心里查看和重试:

踩坑与排障:常见故障清单

  • Cookie 失效、接口频繁 403:重跑一次python -m tools.cookie_fetcher --config config.yml即可,无需改代码。
  • 主页只能抓到约 20 条就停:属于翻页风控。确认browser_fallback.enabled: trueheadless: false,浏览器弹出后手动完成验证,验证期间不要关窗口。注意浏览器兜底目前只对post模式做过完整验证,like/mix/music主要依赖 API 正常分页。
  • 想重下某条作品:去重是"数据库记录 + 本地文件"双通道,只删一边不一定会触发重下;稳妥做法是同时删掉Downloaded/作者/{模式}/*_{aweme_id}/目录和dy_downloader.db中对应记录(README 里有现成的 sqlite3 语句)。
  • 进度刷屏影响阅读:默认progress.quiet_logs: true已在进度阶段静默日志,调试时才加-v--show-warnings
  • 磁盘空间紧张video: true且批量跑音乐场景时体积会明显变大,纯收 BGM 记得关掉视频。

延伸与边界:定时任务、API 服务与版权红线

定时收集适合写进 crontab,例如每周日凌晨只补增量(increase开启时):

0 3 * * 0 cd /path/to/douyin-downloader && python run.py -c config.yml >> music_download.log 2>&1

服务端集成方面,--serve可以把工具以 REST API 方式暴露(需另装 fastapi 与 uvicorn):POST /api/v1/download提交链接、GET /api/v1/jobs/{job_id}查进度,任务模型代码在 server/。代码结构上,core/ 负责下载主流程与策略,auth/ 管 Cookie 与 token,storage/ 管文件与数据库,control/ 管限速、重试和并发队列,按需深入即可。

边界也要说清楚:直播录制属实验性功能;收藏夹模式仅服务当前登录账号;平台接口策略变化可能导致功能暂时失效,这属于该品类工具的常态风险。最后,下载的原声与视频受平台版权保护,建议仅用于个人学习、研究与收藏,商业使用前取得相应授权——仓库的免责声明与 MIT 许可证见 LICENSE。

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

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

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

立即咨询