抖音合集批量下载工具:3 步跑通 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 去重和浏览器兜底,支持无水印视频源,同时还能顺带保存封面、原声、JSON 元数据这些"周边"。命令行之外,它还提供了基于同一套后端的桌面版(内测中),粘贴链接即可下载,并能同步关注、收藏夹内容。
它能处理哪些链接
不需要记规则,把链接丢进去就行,工具会自动识别类型:
| 链接形态 | 处理方式 |
|---|---|
/video/{aweme_id} | 单个视频 |
/note/{note_id}、/gallery/{note_id} | 单个图文 |
/collection/{mix_id}、/mix/{mix_id} | 单个合集,整集合集下载 |
/music/{music_id} | 单个音乐,优先取原声文件 |
v.douyin.com/...短链 | 自动解析成真实链接 |
/user/{sec_uid}主页 | 按 mode 批量下载(post 作品 / like 点赞 / mix 合集 / music 音乐) |
| 登录账号收藏夹 | collect/collectmix模式,单独使用 |
几个默认行为值得知道:自动挑无水印源、在码率阶梯里选最高清、下载不完整时校验 Content-Length 并清理重下、翻页被风控时拉起浏览器让你手动过验证码(兜底逻辑在 core/ 里,感兴趣可以看 mix_downloader.py 的合集流程)。
3 步跑通:安装、配置、运行
第 1 步:装依赖
要求 Python 3.8+,macOS / Linux / Windows 均可:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt如果要用到浏览器兜底和 Cookie 自动获取,再补一句:
pip install playwright && python -m playwright install chromium第 2 步:准备配置文件和 Cookie
复制模板,然后让它帮你抓 Cookie(打开浏览器,登录抖音,回终端按 Enter 即自动写入):
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml第 3 步:开始下载
在 config.yml 里填链接,跑起来:
python run.py -c config.yml一个最小可用的合集下载配置长这样:
link: - https://www.douyin.com/collection/7341234567890123456 path: ./Downloaded/ thread: 5 retry_times: 3 database: true # 开启 SQLite 去重不想写配置文件也可以临时传参,比如追加链接、改并发、换目录:
python run.py -c config.yml -u "https://www.douyin.com/video/7604129988555574538" -t 8 -p ./Downloaded几个容易配错的选项
mode:主页批量下载的开关,post/like/mix/music可混用,跨模式自动去重;collect/collectmix(收藏夹)必须单独用。number.post: 0:0 表示不限数量,全量抓;写 50 就只抓前 50 条。start_time/end_time:格式YYYY-MM-DD,只保留时间范围内的作品。increase.post: true:增量下载,配合database: true只抓新作品,适合定期同步一个作者。thread/timeout/proxy:并发、超时、代理,下载慢或失败多时先调这三个。
文件落在哪里
默认按"作者 → 类型 → 单个作品"三级组织,目录名就是日期_标题_aweme_id,同一作品下的视频、封面、原声、元数据放在一起,方便二次整理:
Downloaded/ └── 作者名/ ├── post/ │ └── 2024-02-07_作品标题_aweme_id/ │ ├── xxx.mp4 │ ├── xxx_cover.jpg │ ├── xxx_music.mp3 │ └── xxx_data.json ├── mix/ # 合集 └── live/ # 直播录制下载完成后还会生成download_manifest.jsonl总清单。想按作品拆独立文件夹的,folderstyle: true是默认行为,不用额外设置。
排错速查:最常碰到的 3 件事
只抓到 20 条就停了?这是翻页风控的典型症状。确认browser_fallback.enabled: true且headless: false,浏览器弹窗出来时手动过一下验证,别急着关。
Cookie 失效了?不用翻文档,重跑一次抓取工具就行:
python -m tools.cookie_fetcher --config config.yml想强制重新下载?程序用"数据库记录 + 本地文件"双重判断去重,所以两个地方都要动:删掉对应作品的文件夹(文件名里带 aweme_id),再删数据库记录DELETE FROM aweme WHERE aweme_id = 'xxx';。只删文件不删库反而会触发重下。
用不上的时候可以先关掉,但值得一看的开关
comments.enabled: true:每个作品附带抓评论(可选二级回复),输出*_comments.json。--search "关键词"/--hot-board 30:按关键词搜作品或导出热搜榜快照,结果落 JSONL。transcript.enabled: true:下载后调 OpenAI 转写 API,生成xxx.transcript.txt。notifications:下载完推 Bark / Telegram / Webhook 通知。live.douyin.com/{room_id}:直播录制,下播时已录的字节会保留。
细节都在 README.zh-CN.md 里,配置项表、目录结构、API 服务模式都有完整说明;设计文档可以看 docs/superpowers/specs/。
写在最后
把链接贴进配置、跑一条命令,剩下的交给工具——这就是 douyin-downloader 想做的事。几条实用建议:
- 第一次用,先拿一个小合集(几条视频)试跑,确认 Cookie 和目录结构没问题再上大的。
- Cookie 会过期,建议把抓取命令留在手边,失效时一分钟补上。
database: true建议常开,去重和历史记录都靠它。- 下载内容请尊重原作者版权,仅用于个人学习研究。
【免费下载链接】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),仅供参考