douyin-downloader 完整使用指南:快速上手抖音批量下载,去水印保存视频、图集与音乐
2026/9/24 23:53:56 网站建设 项目流程

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

你是不是也遇到过这种场面:刷到一位宝藏博主,整页作品都想存下来慢慢看,结果平台连个下载按钮都不给。手动录屏?一条录完手指先酸了。

免费开源的douyin-downloader就是冲着这个痛点来的:一条命令,把视频、图文、合集、音乐(原声)去水印存进本地文件夹,作者主页支持整页批量下载。

更省心的是,它把工程化细节都内置好了:并发下载、指数退避重试、SQLite 去重、文件完整性校验、浏览器兜底——普通用户也能跑得踏实。

下载前可勾选作品类型(作品/喜欢/音乐、合集),并限定各模式数量上限与时间范围

30 秒看懂:这个抖音下载工具能干什么

一句话定位:把"看得到却存不下来"的抖音内容,变成躺在你硬盘里的本地文件

它会自动挑选无水印、最高码率的视频源,顺带保存封面、音乐、作者头像和*_data.json元数据,方便归档或二次整理。

  • 适合谁:想备份内容的普通用户、想沉淀素材库的创作者、需要批量取样的研究者。
  • 覆盖范围:单个视频/图文、短链、合集、音乐、作者主页的发布/喜欢/合集/音乐,以及收藏夹。
  • 附加能力:评论采集(含二级回复)、热搜榜导出、关键词搜索、直播录制、REST API 服务模式。
  • 技术亮点:全异步 I/O、策略模式管理下载模式(见 core/user_modes/),并发队列 + 限速 + 重试由 control/ 模块统一调度。

最快上手指南:从克隆到第一条下载

核心流程就三件事:装环境、拿 Cookie、跑下载。跑通之后,后面的玩法全是在这个流程上叠加。

1. 拉取代码,装好依赖

需要 Python 3.9+,Windows / macOS / Linux 都支持。

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

浏览器兜底依赖 Playwright,建议一并装上:

pip install playwright && python -m playwright install chromium

2. 让工具拿到你的登录凭证

抖音接口靠 Cookie 鉴权,这一步绕不开。好在工具自带自动抓取脚本,你不用在明文配置里手贴一大串字符:

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

脚本会打开浏览器,登录成功后回到终端按 Enter,Cookie 自动写入config.yml

3. 下达第一条下载指令

把博主主页链接写进配置,最小可用片段如下(完整字段见 config.example.yml):

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: [post] number: post: 10 # 0 表示不限数量
python run.py -c config.yml

命令行参数临时覆盖也行,-u追加链接、-t改并发、-p改目录:

python run.py -c config.yml -u "https://www.douyin.com/user/xxx" -t 8 -p ./Downloaded

到这里,一个 douyin-downloader 批量下载任务就跑起来了。剩下的内容,只是换模式、加开关。

一个现实提醒:受平台风控影响,目前 CLI 对单个视频/合集/音乐/喜欢接口的可用性不保证,作者主页作品可尝试浏览器兜底;日常高频使用建议搭配同项目的 Douzy 桌面版。

能力拆解:从单个作品到整套内容库

按模式批量归档:一次搬空整页

想把某位博主的内容完整搬回来?把链接换成主页,mode里叠加你想要的模式即可:

mode: - post # 发布的作品 - like # 喜欢的作品 - mix # 创建的合集 - music # 使用过的原声

跨模式自动去重,同一个作品绝不会重复占磁盘。

合集与音乐:素材一步到位

  • 合集:链接指向/collection/{mix_id}/mix/{mix_id}
  • 单首音乐:链接指向/music/{music_id},优先抓原声文件,缺失时回退到该音乐下的首条作品。
  • 短链https://v.douyin.com/xxxx无需展开,粘贴即用。

下载完的文件按 作者 → 模式 → 日期 自动分文件夹,每个作品一个目录:

Downloaded/作者名/post/2024-02-07_作品标题_aweme_id/ ├── video.mp4 ├── video_cover.jpg ├── video_music.mp3 └── video_data.json

增量跟进:长期盯一位博主

配置increase.post: true配合database: true,之后每次只拉新作品,已下载的自动跳过;文件缺失或为空时还会补下。适合长期跟进内容更新。

采集模式:把"下载器"用成"采集器"

不下载媒体,只取数据,也内置了:

python run.py --hot-board 30 -p ./Downloaded python run.py --search "猫咪" --search-max 100 -p ./Downloaded

搜索结果和热搜榜都落成 JSONL 文件,方便直接做后续分析。

进阶调优:让大批量下载更稳更快

当你开始成百上千条地跑,下面这些配置会明显改善体验:

  • thread:并发下载数,默认 5;命令行-t 8可临时调大。
  • 限速:默认约 2 请求/秒,主动规避风控,不建议无脑拉满。
  • retry_times:指数退避(1s、2s、5s)自动重试,网络抖动不用管。
  • start_time/end_time:按发布时间过滤作品,YYYY-MM-DD格式,含结束日当天。
  • browser_fallback.enabled: true:翻页被限时拉起真实浏览器,弹窗出现后手动过一下验证码即可继续。
  • video_quality:默认highest自动挑最高码率无水印源;original尝试原片,失败自动回退。
  • proxy:HTTP/HTTPS 代理,例如http://127.0.0.1:7890
  • 通知推送:配置 Bark / Telegram / Webhook,任务一结束手机就收到提醒。

冷知识:目录默认按作者昵称命名,重名作者会合并目录。想"直观又唯一",把author_dir设为nickname_uid即可。另外,download_manifest.jsonl会记录每次下载的日期、作品 ID、标签与文件路径,是二次整理的好帮手。

常用参数速查表

参数 / 配置作用示例
-u / --url追加下载链接,可重复-u "https://..."
-t / --thread并发下载数-t 8
-p / --path指定保存目录-p ./Downloaded
-v / --verbose输出详细日志python run.py -c config.yml -v
mode下载模式post/like/mix/music
number.post单模式数量上限0表示不限
increase.post增量下载开关true
databaseSQLite 历史记录与去重true
start_time / end_time按时间过滤作品2024-01-01
--hot-board导出热搜榜条数--hot-board 30
--serve以 REST API 服务模式运行--serve --serve-port 8000

新手高频问题:卡住了先看这里

Cookie 失效了怎么办?接口突然拿不到数据,大概率是凭证过期。重跑一次python -m tools.cookie_fetcher --config config.yml,登录一下就好,不用清库。

主页只抓到 20 条就停了?这是翻页风控。确认browser_fallback.enabled: trueheadless: false,浏览器弹出后手动完成验证,别急着关窗口;当前风控下仍可能受限,属已知限制。

怎么避免重复下载?开启database: true,工具同时比对数据库记录和本地文件名,已下载内容自动跳过;配合increase.post: true则只拉新作品。

下载的视频清晰度有保障吗?工具基于视频源信息自动挑选最高码率,且优先无水印版本,视频与实况图走同一套选择逻辑。

下载中途失败会留残文件吗?不用干预。指数退避重试会自动恢复,文件不完整(按 Content-Length 比对)会被清理并重新下载。

日志在哪里看?加个-v参数重新运行,详细日志会打到控制台;出问题时这是第一手现场。

现在就动手:把第一段内容存下来

回到开头那个场景:与其在"想保存却存不下来"里耗时间,不如花十分钟把 douyin-downloader 跑起来。批量下载、去重归档、增量更新、数据采集,全部免费开源、开箱即用。

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

使用中遇到问题或想提新功能,欢迎到仓库提交 Issue;如果你熟悉 Python,也欢迎直接参与贡献。现在就把那位博主的作品完整搬回本地吧 🎉

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

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

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

立即咨询