ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

抖音下载工具douyin-downloader:批量抓取、直播回放与增量去重的一站式方案

2026/8/15 17:00:36 拓冰建站 浏览量
抖音下载工具douyin-downloader:批量抓取、直播回放与增量去重的一站式方案

抖音下载工具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 去重和浏览器兜底。它把"保存抖音内容"这件事,从手工一个个点开下载,收敛成一份配置文件的功夫。

先看它能做什么

概括起来,douyin-downloader 负责三件事:把抖音上可见的内容抓到本地、给内容配上完整的元数据档案、再替你想好去重和整理。以下清单覆盖了它的核心能力:

能力说明
单条内容下载支持/video/视频、/note//gallery/图文、/collection/合集、/music/音乐链接
主页批量下载post(发布)、like(点赞)、mix(合集)、music(音乐)四种模式,数量可设上限
直播回放录制FLV / HLS 双格式,主播下播或中断时自动保留已录字节
评论采集按作品抓取评论,可选二级回复,输出*_comments.json
增量与去重数据库记录 + 本地文件双重检查,只下载新增内容
画质与去水印优先无水印视频源,并依据码率数组自动挑选最高清版本
浏览器兜底翻页被风控时拉起浏览器,支持人工完成验证码后继续
附加产物封面、原声音乐、作者头像、JSON 元数据随作品一并落盘

场景一:发现宝藏创作者,想把主页完整搬回本地

刷到一个每期视频都值得二刷的博主,最稳妥的做法不是手动点开每一条,而是让工具直接读取他的主页。把用户主页链接填进配置,指定模式与数量,剩下的交给并发队列。

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post - like number: post: 50 like: 20

mode里的四种模式可以任意组合,同一个作品在不同模式下不会重复下载;number设为 0 表示全量抓取。短链(v.douyin.comv.iesdouyin.com乃至无协议头的裸链接)也会被自动解析,从分享卡片复制的链接可以直接使用。

下载完成后,每个作品都会生成独立的档案目录,命名默认遵循"日期_标题_ID"规则:

Downloaded/ └── 作者名/ ├── post/ │ └── 2024-02-07_作品标题_aweme_id/ │ ├── 视频.mp4 │ ├── 封面_cover.jpg │ ├── 原声_music.mp3 │ ├── 元数据_data.json │ └── 评论_comments.json ├── like/ ├── mix/ └── music/

场景二:直播刚结束,回放怎么留住

知识分享、课程连麦这类直播通常没有官方回放,错过就是错过。douyin-downloader 的直播录制功能面向这个需求:把直播间链接放进配置,它会持续拉取直播流,直到主播下播、网络空闲或手动中断。

link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 表示录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30

录制的 FLV 文件保存在Downloaded/作者名/live/目录下,同时生成一份*_room.json直播间元数据快照。中断时,已录制的字节会被保留,临时文件自动提升为正式文件,不必担心前功尽弃。

场景三:做账号运营或内容调研,需要评论与榜单数据

如果你运营账号、分析竞品,或者单纯想深入理解某条爆款为什么火,评论区就是最现成的素材。开启评论采集后,每个作品旁会多出一个 JSON 文件,记录全部评论内容,便于后续做文本分析或舆情整理。

comments: enabled: true include_replies: false # 改为 true 会额外拉取二级回复,请求量随之增加 max_comments: 0 # 0 表示不限量 page_size: 20

命令行层面还提供了两个数据出口:热搜榜快照与关键词搜索,结果统一落为 JSONL 文件,适合接进自己的分析流程。

# 导出抖音热搜榜前 30 条 python run.py --hot-board 30 -p ./Downloaded # 按关键词搜索作品,最多 100 条 python run.py --search "猫咪" --search-max 100 -p ./Downloaded

进阶定制:增量下载、命名规则与完成通知

第一次全量抓取之后,日常维护的重点变成"只下新的"。把increase打开并依赖数据库记录,每次运行会跳过已下载的作品,既不重复占用磁盘,也省下大量请求。

increase: post: true like: true database: true

想按自己的习惯管理文件,命名模板提供了{id} {title} {author} {date} {year} {month} {day} {time} {timestamp} {type} {mode}等变量,作者目录层也支持三种风格:仅昵称(直观但重名会合并)、仅 sec_uid(稳定但不可读)、昵称加 ID(推荐重度用户)。

filename_template: "{date}_{title}_{id}" author_dir: "nickname_uid" start_time: "2024-01-01" # 时间过滤,只下载区间内的作品 end_time: "2024-12-31"

批量任务结束后想第一时间知道结果?可以配置 Bark、Telegram 或 Webhook 通知,成功与失败分别触发,推送失败也不会阻塞主流程。

notifications: enabled: true on_success: true on_failure: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY

扩展玩法:API 服务、桌面客户端与 Docker

命令行之外还有三条进阶路径。其一,以 REST API 服务模式运行,把下载能力暴露成 HTTP 接口,方便集成到自己的系统或自动化流程中:

pip install fastapi uvicorn python run.py --serve --serve-port 8000

接口包含POST /api/v1/download提交下载任务、GET /api/v1/jobs/{job_id}查询进度、GET /api/v1/jobs列出最近任务、GET /api/v1/health健康检查。其二,有图形界面偏好的用户可以使用桌面版 Douzy——它基于同一套后端,粘贴链接即可开始下载,还支持同步关注列表、在任务中心逐条跟踪状态,目前处于内测阶段。

其三,Docker 部署适合服务器环境,构建镜像后挂载配置与下载目录即可运行:

docker build -t douyin-downloader . docker run -v $(pwd)/config.yml:/app/config.yml -v $(pwd)/Downloaded:/app/Downloaded douyin-downloader

此外,如果下载的是视频,还可以开启转写功能,调用 OpenAI Transcriptions API 自动生成字幕文本与 JSON 结果,适合做课程笔记或内容检索。

避坑清单:常见的误判与边界条件

现象常见原因建议做法
只能抓到 20 条作品翻页被风控拦截确认browser_fallback.enabled: trueheadless: false,弹窗出现后手动完成验证码再等待
提示登录态失效Cookie 过期重跑python -m tools.cookie_fetcher --config config.yml,登录后回终端按 Enter 自动写入
收藏夹模式没有输出collect/collectmix 仅支持当前登录账号,且必须单独使用单独建一份只含收藏夹链接的配置,不要与 post 等模式混用
直播只保存了 playlist 文件该直播间走 HLS 源FLV 可直接播放;HLS 需要用 ffmpeg 对列表文件做后处理
增量下载没有生效increase 只覆盖 post/like/mix/music核对模式是否在支持范围内,并确保database: true
想重新下载某条作品去重机制判定已存在删除对应本地文件与数据库中的记录,再重新运行

从第一条视频开始

回到开头的那个夜晚:与其让精彩内容消失在平台的公开流里,不如在它还在的时候,花十分钟完成一次配置。把仓库克隆下来,安装依赖,运行 cookie 获取命令完成登录,然后把你手头的链接填进config.yml

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader pip install -r requirements.txt cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml python run.py -c config.yml

第一条视频、第一份直播回放、第一批评论数据会陆续出现在你的下载目录里。需要提醒的是,请把下载内容用于个人学习与研究,尊重创作者版权,遵守平台规则——工具的价值,最终取决于使用它的方式。

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