如何批量下载抖音主页与合集?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 是一款免费的开源抖音批量下载工具,能通过单条链接下载视频、图文、合集与音乐(优先无水印),也支持创作者主页整站抓取和新作品增量跟进,适合素材创作者和想备份内容的普通用户。它的操作方式很直接:把链接写进一份配置文件,配好 Cookie,跑一条命令,翻页、去重、重试、文件命名都由程序代劳。
📦 安装与获取 Cookie,5 条命令完成
需要 Python 3.8 及以上,macOS、Linux、Windows 均可。先克隆代码、装依赖、复制示例配置:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt cp config.example.yml config.yml然后是 Cookie。工具自带自动抓取脚本:它弹出一个浏览器窗口,你在里面登录抖音,回到终端按 Enter,Cookie 就会自动写进配置文件,不需要手动复制字符串:
python -m tools.cookie_fetcher --config config.yml如果你还想用浏览器兜底(翻页被风控时自动接管,见下文),需额外执行pip install playwright再装一次 Chromium。
⚙️ 首次运行前必改的 3 处配置
config.yml 是唯一的"操作面板"。跑之前确认三件事:从哪下(link)、下什么(mode)、下多少(number)。最小可用配置长这样:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: [post] number: {post: 50}link支持一次写多条,视频、图文、合集、音乐、主页链接都能放,v.douyin.com短链会自动解析;mode共 4 种:post发布作品、like喜欢作品、mix合集、music音乐原声,number写 0 表示不限量;video_quality决定画质,默认highest在转码档里挑最高码率;填original会额外探测一次上传原片,画质上限更高,代价是每条作品多一个探测请求。
🔗 三种典型链接分别怎么写
单个内容最简单,链接直接放进link,程序按 URL 形态自动识别:
- 视频:
https://www.douyin.com/video/7604129988555574538 - 图文:
https://www.douyin.com/note/7341234567890123456 - 主页批量:
https://www.douyin.com/user/{sec_uid},搭配mode决定抓发布还是喜欢
同一次运行里混用多种链接,同一个作品在不同模式下出现时会自动去重。不想改配置文件的话,也可以临时追加链接并覆盖并发数:
python run.py -c config.yml \ -u "https://www.douyin.com/video/7604129988555574538" \ -t 8 -p ./Downloaded项目还基于同一套后端做了桌面版 Douzy(内测中):粘贴链接后自动识别是单个作品、主页还是合集,点击"下载"即可,左侧边栏管理多链接队列与任务。
🌐 只抓到 20 条作品?让浏览器接管
批量下载最常遇到的问题不是报错,而是"只抓到 20 来条就停了"。这是 API 翻页风控,不是程序 bug。工具的对策是浏览器兜底:检测到翻页停摆后自动启动真实浏览器继续滚动加载,遇到验证码时由人工过掉。
启用前把配置里browser_fallback.enabled设为true、headless设为false;浏览器窗口弹出后自己完成验证,别急着关掉。max_scrolls、wait_timeout_seconds等参数控制它最多滚多少轮、等等多久。
另外两层保险是默认开着的:全局限速(2 请求/秒)加指数退避重试(1s/2s/5s);每个文件下载完按 Content-Length 校验完整性,不完整的会自动删掉重下,不会留一堆"半截视频"。
📁 文件怎么落盘,新作品怎么跟进
默认folderstyle: true时,下载内容按"作者 → 模式 → 单个作品"归档,日期前缀用的是作品发布时间而非下载时间,素材库按时间排序很直观:
Downloaded/作者名/post/2024-02-07_作品标题_aweme_id/每个作品目录里放着视频本体,按配置附带封面、音乐、头像和 JSON 元数据。根目录还会生成download_manifest.jsonl,一行一条记录,含标签、文件路径等字段,方便日后检索。
跟进新作品靠增量下载:increase.post为true时,主文件已在磁盘上的作品直接跳过;你手动删掉文件,下次运行又会补下来。SQLite 数据库(dy_downloader.db)记录下载历史并参与跨模式去重。想完整重下某个作品,本地目录和数据库记录两处都要删,只删一处不会生效。
桌面版的任务中心把每个任务的总数、成功与失败计数摊开显示,失败项可单独重试,也能一键打开输出目录核对结果。
✅ 批量下载前要核对的 4 件事
- Cookie 对应的是已登录账号,失效后重跑一次抓取脚本即可,不必重新配置;
collect/collectmix(自己的收藏夹、收藏合集)只对 Cookie 对应账号生效,且必须单独使用,不能与post/like混在同一次运行里;- 浏览器兜底目前只对
post模式做了完整验证,like/mix/music仍主要依赖 API 正常翻页; - 直播录制、OpenAI 视频转写、评论采集、Bark/Telegram 完成通知都是可选项,默认关闭,按需到 README.zh-CN.md 查开关位置。
代码侧,下载主流程在 core/,并发与限速在 control/,Cookie 管理在 auth/,每个配置项的默认值和取舍说明都写在 config/default_config.py 里,遇到不确定的行为先看这个文件。
本工具仅建议用于个人学习、研究与自有内容备份。请尊重原创作者版权与平台服务条款,勿将下载内容用于二次分发或商业用途。
【免费下载链接】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),仅供参考