如何用 douyin-downloader 批量下载抖音无水印视频,并按作者与日期自动归档
2026/9/16 12:48:02 网站建设 项目流程

如何用 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 去重防止重复下载。下面是一条能直接跑通的路径,以及各能力的实际用法。

一句话定位

相比逐条手动保存、或只能单链接取址的去水印站点,它直接对接抖音接口:并发抓取、失败自动重试、下载不完整会自动清理重下,文件按作者/模式/日期_标题_作品ID归档——手动方式的"保存"在这里是一次带筛选、去重和校验的批量任务。

能力速览

能力你能得到什么
无水印源抓取自动选无水印地址,video_quality: original时进一步探测上传原片
多模式批量发布作品、点赞、合集、原声音乐,外加当前登录账号的收藏夹
时间与数量筛选只取目标时间段内的内容,每种模式可单独限量
去重与增量数据库 + 本地文件双重去重,increase开启后重跑只补新作品
容错机制指数退避重试(1s/2s/5s)、默认限速 2 请求/秒、翻页受限时浏览器兜底

最短跑通路径

三步,约 5 分钟:

# 1. 克隆并安装依赖 git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt # 2. 准备配置并自动获取 Cookie(浏览器登录抖音后回到终端按 Enter) cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml
# 3. 下载第一个视频 python run.py -u "https://www.douyin.com/video/7604129988555574538" -p ./Downloaded

完成后到Downloaded/作者名/post/下查看,文件名形如2024-02-07_作品标题_作品ID.mp4,日期取自作品发布时间。短链(v.douyin.com/...)可直接传-u,工具会先解析再下载。

能力拆解

按模式批量下载作者主页

config.ymllink里放主页链接,用mode选择内容维度:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post # 发布作品;like 点赞、mix 合集、music 原声 number: post: 50 # 0 表示不限
python run.py -c config.yml

mode可以列多种,同一个作品 ID 跨模式只下载一次。命令行参数(-u-t并发、-p目录)会叠加在配置文件之上。

只下载目标内容的时间与数量过滤

start_time: "2024-01-01" end_time: "2024-12-31" increase: post: true # 重跑时跳过已下载过的作品

时间格式为YYYY-MM-DD,配合number的限额可以精确控制每次抓取的范围。增量依赖database: true(默认开启,库文件为dy_downloader.db)。

当前账号的收藏夹与喜欢列表

link: - https://www.douyin.com/user/self?showTab=favorite_collection mode: - collect # 收藏的作品;收藏的合集用 collectmix number: collect: 0

collect/collectmix仅对当前 Cookie 对应的账号生效,且必须单独使用,不能与post/like混写。

直播录制、搜索与评论采集

直播录制(实验性):

link: - https://live.douyin.com/123456789 live: max_duration_seconds: 0 # 0 = 录到主播下播,已录数据会保留

关键词搜索与热搜导出直接走命令行,结果落 JSONL:

python run.py --search "猫咪" --search-max 100 -p ./Downloaded

评论采集在配置中开启后,每个作品旁会多一个*_comments.json

comments: enabled: true include_replies: false max_comments: 500

组合实战

任务一:沉淀一个竞品账号的年度素材库

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - mix number: post: 0 mix: 0 start_time: "2024-01-01" end_time: "2024-12-31" increase: post: true mix: true video_quality: original

时间窗圈定样本范围,increase+ 数据库保证重跑只补新作品,video_quality: original逐条探测上传原片(每条多一次探测请求,失败回退最高转码档)。文件落在Downloaded/作者名/post|mix/,目录自带日期前缀,无需再手动整理。

任务二:给研究样本补齐元数据与互动数据

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post json: true comments: enabled: true max_comments: 200

json: true会在媒体旁保存原始元数据(含点赞、评论数),comments输出评论 JSON;Downloaded/download_manifest.jsonl额外汇总了每条作品的日期、标签、文件路径,可以直接用脚本按标签和时间做筛选统计。

调优与排错

现象:只能抓到 20 条左右的作品原因:主页翻页触发抖音风控,API 分页被截断。 处理:确认browser_fallback.enabled: trueheadless: false,浏览器弹窗后手动完成验证,不要立即关闭。

现象:报登录态失效 / 需要重新登录原因:Cookie 过期。 处理:重新执行python -m tools.cookie_fetcher --config config.yml,登录成功后自动写回配置。

现象:某条作品想重新下载,但任务直接跳过原因:去重是"数据库记录 + 本地文件名中的作品 ID"双重判断。 处理:删除对应目录后,再删数据库记录,两者缺一不可:

sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '作品ID';"

底层一瞥

它稳定的原因在于职责切分清晰:core/user_modes/ 里每种下载模式是独立策略,control/ 统一收口限速、指数退避重试与并发队列,storage/ 负责文件落盘与 SQLite 记录。下载完成后还会做 Content-Length 比对,不完整文件自动清理并重试。


最小路径跑通之后,建议先下载一个视频并翻看Downloaded/下的目录与download_manifest.jsonl,文件结构清楚了,后面所有配置项都在同一个语境里。

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询