抖音原声下载教程:3步跑通BGM收集与主页批量下载
【免费下载链接】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 直接处理这个问题:它把抖音视频的原声单独提取为 MP3,也支持按用户主页批量收集音乐作品、下载无水印视频与合集,以及录制直播间音频流,全程有进度显示、失败重试和去重记录。下文只讲最常用的路径。
快速上手 🚀
整个过程只涉及四个动作:装依赖、备配置、拿 Cookie、跑命令。
1. 获取项目并安装依赖
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 chromium2. 准备配置文件
cp config.example.yml config.yml3. 获取 Cookie
python -m tools.cookie_fetcher --config config.yml命令会拉起浏览器,登录抖音后回到终端按回车,Cookie 自动写回config.yml,后续运行无需重复登录。
4. 第一次下载
python run.py -u "https://www.douyin.com/music/7341234567890123456" -p ./Downloaded也可以把链接写进配置文件再跑python run.py -c config.yml,两种方式等效。下载结果落在Downloaded/下,按作者和作品日期分目录存放。
功能与场景 🎵
单条原声提取
音乐链接(/music/{music_id})和视频链接都能识别。工具优先请求直连音频地址,拿不到时自动回退到该音乐关联的第一个作品再取音轨,最终输出*_music.mp3。这是制作短视频时收集 BGM 最常用的路径。
主页批量收集
在配置里填入用户主页链接并指定mode,即可按维度批量拉取:
post:发布作品like:喜欢作品mix:参与的合集music:音乐作品(配合number.music控制条数,0 表示不限)
number下各模式可分别设上限;increase设为true后,磁盘上已存在的作品会自动跳过,适合每周例行更新素材库。
音乐合集下载
合集链接(/collection/{mix_id}或/mix/{mix_id})直接可下,一个合集内的全部作品会依次入库。
直播音频录制
直播间链接(live.douyin.com/{room_id})可开启录制,live.max_duration_seconds控制最长时长,主播下播或按 Ctrl+C 时已录到的部分会保留为 FLV 文件并附带房间元数据。
配置与参数速查 📋
一份能覆盖大多数批量需求的精简 YAML:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - music - post number: music: 0 # 0 = 不限量 post: 50 thread: 5 retry_times: 3 start_time: "2024-01-01" end_time: "2024-12-31" folderstyle: true database: true| 参数 | 说明 |
|---|---|
mode | 主页下载维度:post/like/mix/music |
number.* | 各模式条数上限,0 表示全量 |
thread | 并发下载数,默认 5 |
retry_times | 失败重试次数 |
start_time/end_time | 按作品发布时间过滤,格式YYYY-MM-DD |
folderstyle | 每个作品单独建子目录 |
increase.* | true跳过磁盘上已存在的主文件 |
proxy | 可选代理地址 |
browser_fallback.* | 分页受限时的浏览器兜底开关 |
命令行侧只需记住四个参数:-u追加链接、-c指定配置、-p指定目录、-t指定并发,其余都交给 YAML。
稳定性原理 🛡️
从使用者角度看,这类工具"下不动"通常来自三处:接口风控、网络抖动、重复劳动。对应地,项目做了四件事:
- 多路径解析:短链、视频、音乐、主页各有独立解析逻辑,音乐下载还有直连音轨与关联作品两级回退,单条链接不容易"解析失败即死"。
- 浏览器兜底:API 分页被风控截断时(典型表现是只出二三十条),
browser_fallback拉起浏览器接管翻页,验证码由你手动完成,之后继续采集。 - 重试与限速:失败按指数退避(1s、2s、5s)重试,默认 2 次/秒的限速减少触发风控的概率。
- 增量与校验:
increase按磁盘文件判断跳过,SQLite 只记历史、不干扰跳过决策;下载按 Content-Length 校验完整性,残缺文件自动清理。
常见问题 ❓
Q:主页批量只下到几十条就停了?大概率是分页被风控。把browser_fallback.enabled设为true、headless设为false,弹窗里手动完成验证后不要过早关闭浏览器窗口。
Q:Cookie 失效、部分链接解析不出来怎么办?重跑一次python -m tools.cookie_fetcher --config config.yml刷新 Cookie 即可,不必改配置文件。
Q:某个作品想强制重新下载?删掉本地对应目录(文件夹名含aweme_id),并清除数据库里的同条记录;或者把对应模式的increase设为false,范围内文件会被重新下载并覆盖。
Q:进度条刷屏太吵?progress.quiet_logs: true(默认开启)会压制进度阶段的日志;排查问题时用--show-warnings或-v临时打开详细日志。
合规提醒
下载内容请仅用于个人学习、研究与自身数据管理:尊重创作者版权,不将素材用于未授权的商业用途,也不利用工具侵犯他人隐私。平台接口或政策变动导致功能失效属于正常技术风险,使用前请自行确认当地法律法规与平台条款。
结语
单条原声、主页批量、合集与直播录制,这条主线覆盖了 BGM 收集的常见需求;想继续深入,可直接阅读仓库内的 README.zh-CN.md 查看完整参数表与输出目录结构,PROJECT_SUMMARY.md 则记录了模块划分与落盘策略,方便按图索骥。
【免费下载链接】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),仅供参考