五分钟存下抖音视频:一个免费开源工具搞定主页批量归档与直播录制
【免费下载链接】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的免费开源命令行工具,就是为普通用户准备的抖音视频下载方案:单条视频、图文、合集、音乐可以逐条保存,作者主页可以批量下载,直播可以实时录制,全程无水印、带进度条、自动重试,还能去重避免重复下载。不需要技术背景,跟着下面的流程走一遍就能跑起来。
它能替你做的事
先搞清楚能力边界,再决定用它下什么:
- 批量下载:给定作者主页链接,按
post(发布作品)、like(点赞)、mix(合集)、music(音乐)四种模式抓取,同一作品跨模式自动去重; - 直播录制:指向
live.douyin.com/房间号的链接会触发直播流录制,主播下播或中断时已录制的部分都会保留; - 附加资源:视频封面、背景音乐、作者头像、JSON 元数据,各有一个开关,想要什么打开什么;
- 下载质量:自动挑无水印源和最高码率,也可在配置里指定 1080p、720p 等档位,或探测上传原片(
original); - 稳妥机制:SQLite 数据库加本地文件双重去重、指数退避重试、限速、翻页受限时浏览器兜底。
桌面版 Douzy 基于同一套后端,粘贴链接即可开始下载,可视化跟踪任务状态:
把环境搭起来(最短路径)
整个过程只有三小步,全部在终端里执行。
克隆项目并安装依赖。把仓库拉到本地,然后安装它声明的 Python 依赖包:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt复制一份示例配置。项目自带一份带完整注释的配置模板,改它比从零写容易得多:
cp config.example.yml config.yml打开 config.example.yml 可以看到每个开关的含义,比如music、cover、avatar分别控制是否一并下载背景音乐、封面和头像。
自动获取 Cookie。访问抖音内容需要登录凭证,工具内置了一个浏览器脚本帮你自动完成,不用手动翻开发者工具复制字符串:
pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml最后一条命令会弹出一个浏览器窗口,你在里面登录一次抖音,回到终端按回车,Cookie 就会自动写进配置。Cookie 失效时重跑一遍即可。
两条常用链接,两种下法
一切下载都由入口脚本 run.py 发起,最小用法是:
python run.py -c config.yml它读取config.yml里的link列表,按配置的mode和number开始下载。
批量下载作者主页。在config.yml中填主页链接并指定模式与数量(0表示不限):
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50保存后执行上面的python run.py -c config.yml即可。想要"只存新作品",把increase.post设为true,工具会对照数据库跳过已下载过的内容。
下单个视频或短链。也可以不改配置,直接用参数追加一条链接,-u传地址、-p指定保存目录、-t指定并发数:
python run.py -c config.yml -u "https://v.douyin.com/xxxx" -p ./Downloaded -t 8短链接会被自动展开解析,不用手动找真实视频地址。文件最终按"作者名 / 模式 / 日期_标题_ID"分层存放,方便回溯。
直播录制:把正在播的内容留下来
想让这场直播存下来,link直接填直播间地址,并给录制行为设个上限或让它录到下播为止:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 = 一直录到主播下播 idle_timeout_seconds: 30录完的文件落在Downloaded/作者名/live/下,附带一份直播间元数据 JSON。中途断网或按 Ctrl+C,已写入的字节不会丢,临时文件会自动转正。
下载完成后的任务状态可以在桌面版的任务中心统一查看,失败项支持一键重试:
参数速查
改行为基本只涉及两类入口:配置文件里的开关,和命令行参数。
| 参数 / 配置项 | 作用 |
|---|---|
-u, --url | 追加一条下载链接,可重复使用 |
-c, --config | 指定配置文件,默认config.yml |
-p, --path | 指定下载目录 |
-t, --thread | 指定并发数(配置里对应thread) |
-v, --verbose | 输出更详细的日志 |
mode | 主页批量模式:post/like/mix/music |
number | 各模式数量上限,0为全量 |
increase | 增量下载,只存新作品 |
start_time/end_time | 按日期范围过滤作品 |
music/cover/avatar | 是否附带下载背景音乐、封面、头像 |
video_quality | 画质:original/highest/lowest或指定分辨率 |
browser_fallback | 翻页被风控限制时启动浏览器兜底 |
live | 直播录制时长与空闲超时 |
更多细节可以看 配置模板 的逐行注释,下载调度与重试逻辑集中在 control 目录。
避坑清单
跑之前花一分钟看这几条,能省掉大部分折腾:
- 风控限制是常态。平台接口会阶段性收紧,主页作品翻页受限是常见现象——保持
browser_fallback.enabled: true且headless: false,弹窗里手动过一次验证码,别急着关窗口。 - 控制频率。默认限速 2 请求/秒、失败重试 3 次,大批量下载时 IP 可能被暂时限制,建议分批进行。
- 想重新下载要先清记录。去重是"数据库 + 本地文件"双检查:只删文件会触发重下,只删数据库不会。
- 合规使用。下载内容请仅用于个人学习与数据管理,遵守平台规则,避免侵犯创作者权益。
- 收藏类模式有前提。
collect/collectmix(当前账号收藏夹)只认你登录的那个 Cookie 对应的账号,且不能和post等模式混用。
桌面版还同步管理你关注的主播,谁发了新作品、上次下载到哪,一目了然,适合想长期追踪固定博主的人:
如果你也受够了"直播一结束就找不到回放"或者"想留的作品散落各处",这个项目值得一试。觉得有用的话,给仓库点个 Star,也分享给同样需要保存抖音内容的朋友。
【免费下载链接】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),仅供参考