抖音免费批量下载工具 douyin-downloader:粘贴链接回车,200 条作品 10 分钟无水印进硬盘
【免费下载链接】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 是一款免费的抖音批量下载工具,支持视频、图集、合集、音乐(原声)的去水印下载,还能整页搬空作者主页,一套命令把直播回放、评论数据、热搜榜单都装进你的硬盘。本文不讲虚的,直接带你从零跑通,再教你几招"高手玩法"。
一、先说个真实场景
小林是影视解说博主,每周要拆解 20 个同行的热门视频。以前他的流程是:打开抖音 App → 搜到视频 → 录屏 → 剪辑时再手动去水印,一个视频折腾五分钟,攒够素材要整整一个下午。最崩溃的是,录到一半突然来电话,前面的内容全白干。
后来他换了思路:把博主主页链接复制下来,丢进终端,回车,然后去泡了杯咖啡。回来时硬盘里已经躺着几十个无水印原画视频,连封面、原声音乐、互动数据 JSON 都整整齐齐分好了类。这个帮他省下每周大半天时间的工具,就是douyin-downloader。
二、它能帮你省下什么
| 收益 | 大白话解释 | 项目文档佐证 |
|---|---|---|
| 去水印最高清 | 自动挑无水印源,码率数组里挑最高画质 | "基于 video.bit_rate 数组自动选最高码率" |
| 批量整页下载 | 主页作品、点赞、合集、音乐一次搬空 | "用户主页批量下载 + mode: [post, like, mix, music]" |
| 重复自动跳过 | 下过的不重下,不浪费带宽 | "数据库 + 本地文件双重去重" |
| 断了不怕 | 断网后重新跑,已下载部分自动续上 | "Content-Length 比对校验,损坏文件自动清理重试" |
| 下载完自动通知 | 跑完推送到手机,不用盯着屏幕 | "完成后推 Bark / Telegram / Webhook" |
三、30 秒看懂它怎么工作
它就像一条自动化流水线,你只管把原材料(链接)丢进去:
粘贴链接 → 解析类型(视频/图文/合集/音乐/主页/直播) → 拉取作品列表(API分页,受限时自动切浏览器兜底) → 套用时间过滤/数量限制/增量规则 → 多线程并发下载(默认5线程, 指数退避重试) → SQLite去重 + 文件完整性校验 → 落盘: 视频/封面/音乐/JSON元数据 + 下载清单这条流水线最值钱的工程细节:并发队列、速率限制(默认 2 请求/秒)防止被限流、指数退避重试(1 秒→2 秒→5 秒)、翻页受限时自动拉起浏览器辅助采集(必要时人工过验证码)。它不只是一把"铲子",而是一整套为抖音内容管理设计的自动化管线。
四、跟着做一遍:10 分钟跑通第一个下载
第 1 步:克隆并安装依赖
先说结论:下面命令把项目拉到本地并装好运行环境。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt预期效果:终端安静地滚动输出安装日志,最后回到命令行提示符。若提示pip未找到,改用python -m pip install -r requirements.txt。
第 2 步:准备 Cookie(访问抖音 API 的通行证)
先说结论:抖音接口需要登录凭证,这条命令会弹出浏览器让你扫码登录,之后自动把 Cookie 写进配置。
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml登录抖音后回到终端按回车,程序自动写入配置。想省事也可用仓库里的cookie_extractor.py自动抓取。这一步别跳过,八成"解析失败"都是 Cookie 没配好。
第 3 步:写一个最小配置
打开config.yml,把下载链接换成你想要的。下单个视频就这么写:
link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ mode: - post thread: 5 database: true第 4 步:运行并观察进度
先说结论:这条命令按配置开始干活,全程有 Rich 进度条实时显示。
python run.py -c config.yml预期输出:先是"已获取全部作品 N 个"的统计,然后是逐条任务的进度条,已存在的文件会被标记"跳过"。跑完后Downloaded/下会多出按日期_标题_作品ID命名的文件夹,里面是视频、封面、音乐和 JSON 元数据:
常见报错:如果提示"只能抓到 20 条",多半是翻页被风控。把配置里browser_fallback.enabled保持true、headless设为false,程序会弹浏览器辅助采集,弹窗出现后手动完成验证,别急着关窗口。
五、换个姿势用它:三类人的进阶玩法
普通用户——收藏夹一键备份适用场景:攒了一堆"先码后看"的喜欢视频,怕哪天被删。把链接换成/user/self?showTab=favorite_collection,模式切到收藏夹:
link: - https://www.douyin.com/user/self?showTab=favorite_collection mode: - collect number: collect: 0 # 0 表示全量一句话效果:你的点赞收藏全按日期归档进本地,相当于给内容上了道"本地保险"。
创作者——建立可检索素材库适用场景:批量收集同领域作品做拆解。下作品时连带封面、原声、元数据:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post cover: true music: true json: true一句话效果:几分钟搬空一个博主主页,换来一个带完整互动数据的创作素材库。
研究者/开发者——把下载变成 API 服务适用场景:想批量采集评论、热搜或把下载能力嵌入自己的程序。一条命令启动 REST 服务:
pip install fastapi uvicorn python run.py --serve --serve-port 8000然后POST /api/v1/download提交{"url": "..."}就能派发任务,GET /api/v1/jobs/{job_id}查询状态。另配--hot-board 30拉热搜榜、--search "关键词"做关键词搜索,结果落 JSONL 文件,方便后续分析。
六、真实效果对比
| 对比项 | 手动保存 | douyin-downloader |
|---|---|---|
| 保存博主 200 条作品 | 逐个打开、录屏或另存,约 30 分钟,还可能漏掉一半 | 粘贴主页链接回车,约 10 分钟,全量无水印 |
| 附带数据 | 无 | 每条约 10 个字段的 JSON 元数据 + 封面 + 原声 |
| 重复内容 | 手动判断,容易重 | 数据库自动去重,秒级跳过 |
| 断网恢复 | 前功尽弃 | 断点续传 + 完整性校验,自动补全 |
下载完成后,硬盘里是自动按日期和标题分类的文件夹,一眼就能找到想要的:
如果你喜欢图形界面,项目还提供了桌面版(Douzy),粘贴链接即刻开始、可视化跟踪下载进度、SQLite 历史一键检索:
七、高手都在调的参数速查表
| 配置项 | 作用 | 默认值 | 推荐值 |
|---|---|---|---|
thread | 并发下载数 | 5 | 5-8,过高易触发限流 |
retry_times | 失败重试次数 | 3 | 3 |
number.post | 单模式下载数量,0=全部 | 0 | 视需求 |
increase.post | 增量下载,只拉新增 | false | true(配合 database) |
start_time/end_time | 按发布时间过滤 | 空 | "2024-01-01"格式 |
database | 开启 SQLite 去重 | true | 保持 true |
proxy | API/下载代理 | 空 | http://127.0.0.1:7890 |
browser_fallback.enabled | 翻页受限时浏览器兜底 | true | 保持 true |
最推荐组合:increase: true+database: true,把同一个博主挂成"定时任务",每天只下新增内容,省流量又省时间。
八、你可能会问的 5 个问题
1. 提示"需要登录"或解析失败怎么办?八成是 Cookie 过期。重跑python -m tools.cookie_fetcher --config config.yml刷新;还不行就改用浏览器兜底browser_fallback.headless: false。
2. 只能抓到 20 条作品?这是翻页风控的典型现象。确认browser_fallback.enabled: true,弹窗出来后手动完成验证再放行。
3. 下载速度上不去?线程数不是越大越好,5-8 就够;同时确认带宽充足、代理通畅。速率限制默认 2 请求/秒,够用就好。
4. 下载的文件损坏或不完整?工具内置 Content-Length 完整性校验,发现不完整会自动清理损坏文件并重试。若想彻底重下,删掉对应本地文件和数据库记录即可。
5. 怎么查看下载历史?数据库开着的话,用一条 SQL 就能查:
sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name, datetime(download_time, 'unixepoch', 'localtime') FROM aweme ORDER BY download_time DESC LIMIT 20;"九、现在就把 10 分钟花在这件事上
无论你是想收藏视频的普通用户、需要素材库的创作者,还是做数据采集的研究者,douyin-downloader 都值得放进工具箱。从单个视频试起,熟悉参数后再上批量主页、直播录制、增量同步,你会发现抖音内容管理原来可以这么轻松。顺手一提,直播场景它也能接管——提供 FULL_HD1(1080P)、SD1(720P)、SD2(480P) 三档清晰度选择,拿到 FLV/HLS 流地址后配合 ffmpeg 即可录制,主播下播时已录数据自动保留:
开源工具最大的魅力在于"免费 + 可自己掌控"。今天贴下的这条命令,换回的是你每周几小时的自由时间。打开终端,去试一下吧。
【免费下载链接】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),仅供参考