抖音批量下载完整实战:1个主页链接,快速无水印下载全部作品
【免费下载链接】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
在 App 里一条一条点保存,慢还带着水印。douyin-downloader 让你无水印下载抖音:贴进单条视频或整个作者主页链接,就能完成抖音批量下载,封面、原声、元数据一并归档,重复运行还会自动跳过已存内容。
douyin-downloader 是什么:本地命令行下载器 + SQLite 自动去重
一句话定位:它是一套运行在你自己电脑上的命令行下载器——贴链接开跑,SQLite 数据库自动去重,全程不经过第三方中转。
原理很直白:本地发起请求 → 解析链接类型 → 拉取作品列表与无水印直链 → 并发落盘 → 把结果写入本地 SQLite 和清单文件。下次再跑同一链接,已存在的作品直接跳过,不重复占空间。
先说清能力边界,免得中途产生落差:
| 它能做 | 它做不到的 / 要留意的 |
|---|---|
| 单条视频、图集、合集、原声音乐无水印下载 | 没有图形界面,全程敲命令 |
| 抖音主页视频下载(作品/喜欢/合集页签) | 必须准备有效 Cookie,且会过期 |
| 增量、时间范围、数量上限,SQLite + 本地文件双重去重 | 不内置定时任务,周期备份要自己挂 crontab |
| 进度条、失败重试、下载完整性校验 | 无跨账号并行,也不该用于商业分发 |
开始之前:Python 环境与 Cookie 登录态 🍪
前置条件只有一条:Python 3.8+(macOS / Linux / Windows 均可)。真正让新手卡壳的是 Cookie——抖音的多数接口需要登录态,没有它基本寸步难行。
装依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader && pip install -r requirements.txt准备 Cookie 有两条路:
- 自动(推荐):跑
python -m tools.cookie_fetcher --config config.yml,弹出浏览器登录抖音,回终端按回车,Cookie 自动写回配置。 - 手动:浏览器登录抖音后打开开发者工具,把 Cookie 值复制进 config.example.yml 的
cookies段。
Cookie 只存在你本地。两种方式拿到登录态后,后面所有环节都不会再为它分心。
首次运行:最小配置 + 两条入口命令 ⚡
配置只保留这几行就能跑起来(完整版参考 config.example.yml):
link: - https://www.douyin.com/user/xxxxx path: ./Downloaded/ mode: [post] thread: 5两条入口命令:
python run.py -u "https://www.douyin.com/video/xxxx" -p ./Downloaded # V1:单条视频 python run.py -c config.yml # V2:主页批量第一条贴单条链接即时下载,第二条读配置文件批量拉主页。跑通一次后,剩下的都是调参数的事。
三类常用下载任务:全量归档 / 增量备份 / 按时间导出 📋
日常使用基本就下面三种任务,每张卡按「场景 → 配置 → 完成标志」三行读完就能照抄。
任务 A · 一次性全量归档(使用频率:低,一次备齐) 适用场景:把某位创作者的全部作品连封面、原声、元数据一起搬进本地。
number: post: 0 # 0 = 不限量 json: true完成标志:终端打印作品总数与逐条进度,结尾汇总成功条数、耗时与保存路径;目录按「日期_标题_作品ID」分文件夹。
任务 B · 周期性增量备份(使用频率:高,适合挂定时任务) 适用场景:每天自动补新发布的作品,不用人盯着。
increase: post: true # 依赖 database: true配一条 crontab 每天凌晨 2 点跑:0 2 * * * cd /path/to/douyin-downloader && python run.py -c config.yml。完成标志:第二次运行秒级结束,绝大多数条目显示跳过,目录只多出少量新文件。
任务 C · 按时间范围导出(使用频率:中,做阶段性整理) 适用场景:只要某段时间内发布的内容,比如最近一个月。
start_time: "2026-07-25" # 格式 YYYY-MM-DD,留空即不过滤 end_time: "2026-08-24"完成标志:终端顶部回显当前时间窗口,目录里每个文件夹的日期前缀都落在区间内,肉眼即可核对。
参数速查:哪些字段值得调 💡
默认值都能直接用,想调参时对照这张表就够了:
| 字段 | 默认值 | 作用 | 何时调整 |
|---|---|---|---|
link | — | 下载目标:单条视频或主页链接 | 每个任务必填 |
path | ./Downloaded/ | 保存目录 | 想换存储位置时 |
mode | post | 主页页签:post 作品 / like 喜欢 / mix 合集 / music 音乐 | 想连带其他页签时 |
number.post | 0(全部) | 每次抓取的作品数 | 试跑或省磁盘时设小值 |
increase.post | false | 增量开关,只拉新作品 | 挂定时备份时 |
thread | 5 | 并发线程数 | 网络好时提到 8 |
retry_times | 3 | 失败自动重试次数 | 网络不稳定时提到 5 |
start_time/end_time | 空(不过滤) | 按发布时间截取区间 | 只导出特定时段时 |
cookies | 必须提供 | 抖音登录态 | 出现登录类报错时刷新 |
另外music/cover/json/database四个开关默认都是开启的,只想要视频本体时把它们关掉即可。
下载出问题时:先对照这张自查表 🩺
故障大概率集中在 Cookie 和抓取范围两处,先自查再翻报错:
| 现象 | 高概率原因 | 处理办法 |
|---|---|---|
| 大面积失败,提示需要登录 | Cookie 过期或缺失 | 重跑 cookie_fetcher 刷新,别只手改其中某个字段 |
| 抓了十几条就停,远少于预期 | 翻页被限流或触发风控 | 调高retry_times、调低thread,重跑补齐——去重机制保证不重复下载 |
| 同标题作品互相覆盖 | 文件名冲突 | 默认命名带日期前缀;自定义过filename_template的,务必保留{id} |
| 下载途中磁盘写满 | 全量抓取没设上限 | 加start_time/end_time,或调小number.post |
| 提示需要安装 Playwright | 依赖没装全(浏览器兜底/自动抓 Cookie 需要) | 执行pip install playwright并python -m playwright install chromium,或改手动填 Cookie |
下载完成之后:元数据与历史记录的二次利用
json: true时每个作品旁会多一份元数据 JSON,作者、发布时间、标题标签全在里面,倒进表格或笔记软件就是现成的内容盘点底稿;SQLite 库(默认dy_downloader.db)还存着aweme明细表和每次任务的download_history,"我到底存过哪些东西"用一条 SQL 就能查出来。内容库攒到一定规模,翻本地封面比刷 App 找回忆快得多。
最后一句:请仅将下载能力用于个人学习、研究与备份,尊重创作者的权益,不要用于商业或侵权场景。
【免费下载链接】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),仅供参考