一行命令提取抖音视频原声,批量收集 BGM 素材:douyin-downloader 实用指南
一行命令提取抖音视频原声批量收集 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 需要登录态推荐用内置脚本自动获取需先装 playwrightpip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml浏览器弹出并登录后回到终端按 EnterCookie 会自动写入配置。实现代码在 tools/cookie_fetcher.py。第三步准备一份最小配置并运行link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ video: false music: truepython run.py -c config.ymlmusic: true表示保留原声生成*_music.mp3video: 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?showTabfavorite_collection只针对自己账号且不能与其他模式混用。桌面版里这一页有图形化界面可以按合集整体下载直播间音频录制下播也不丢已录数据live.douyin.com/{room_id}链接触发直播录制FLV 流保存于Downloaded/{作者}/live/并附直播间元数据主播下播、网络空闲或手动中断时已写入的.tmp分片会自动提升为正式文件。HLS 源目前只保存 playlist需要 ffmpeg 后处理。录制参数在配置的live节属于实验性功能。配置深水区并发、时间筛选与增量批量收集时真正需要调的参数不多核心几项参数作用thread并发下载数默认 5rate_limit每秒请求上限默认 2retry_times失败重试次数默认 3指数退避start_time/end_time按作品发布时间筛选格式YYYY-MM-DDincrease增量开关配合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: true且headless: 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 21服务端集成方面--serve可以把工具以 REST API 方式暴露需另装 fastapi 与 uvicornPOST /api/v1/download提交链接、GET /api/v1/jobs/{job_id}查进度任务模型代码在 server/。代码结构上core/ 负责下载主流程与策略auth/ 管 Cookie 与 tokenstorage/ 管文件与数据库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),仅供参考