抖音批量下载工具:一键无水印下载的完整指南
【免费下载链接】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 是一个 Python 编写的实用型抖音无水印批量下载工具。它既能下载单个视频、图文、合集和音乐,也能一键抓取创作者主页的全部作品,自带进度展示、失败重试与 SQLite 去重。无论你是内容创作者、研究者,还是只想保存喜爱作品的普通用户,这套命令行 + 配置文件的方式都能让你几分钟内跑起来。
先看它都能干什么
douyin-downloader 以命令行 + YAML 配置文件为核心,几个最实用的能力如下:
- 单个视频一键无水印下载:粘贴分享链接,直接拿到服务器上的原始文件,并自动挑选最高码率。实现方式是 core/api_client.py 请求抖音 API 并解析无水印视频源。
- 创作者主页批量下载:主页链接配合
post/like/mix/music等模式,可限量或全量抓取。core/user_modes/ 把每种下载模式做成独立策略,互不干扰。 - 自动归类存储:下载后按“日期_标题_ID”生成独立子目录,封面、音乐、JSON 元数据随文件一起保存,不用手动整理。
- 去重与断点延续:SQLite 记录 + 本地文件名双重去重;增量模式只拉取新作品;失败按指数退避自动重试,由 control/ 统一处理并发与限速。
- 可选扩展:评论采集、直播录制、关键词搜索、REST API 服务模式、下载完成推送通知。
同一套后端还有处于内测期的桌面客户端,粘贴链接即可下载,并可可视化跟踪任务:
抖音下载工具安装与首次运行
环境要求:Python 3.8+,支持 macOS / Linux / Windows。
安装依赖,克隆仓库并安装:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader && cd douyin-downloader && pip install -r requirements.txt获取 Cookie:Cookie 是访问抖音 API 的通行证。运行下面的命令后,在弹出的浏览器里登录抖音,再回到终端按 Enter,Cookie 会自动写入配置文件。cp一行把示例配置复制成你自己的config.yml:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml如果之后要启用浏览器兜底(翻页被风控时自动启动),再补装pip install playwright并执行python -m playwright install chromium。
首次运行:把config.yml里的link改成你要下载的抖音链接(视频、图文、合集或主页链接均可),然后执行:
python run.py -c config.yml预期结果:工作目录下出现Downloaded/目录,内部按“作者名/下载模式”组织,每部作品都有独立的“日期_标题_ID”子目录,包含视频文件及可选的封面、音乐、JSON 元数据。
⚡ 抖音下载工具常见下载任务演示
单个视频或图文一键下载
把link填成单个视频或图文 URL(v.douyin.com短链会自动解析)。也可以跳过改配置,直接用命令行追加链接:
python run.py -u "https://www.douyin.com/video/1234567890"
视频文件连同可选的封面、音乐一起保存到目标目录。
批量下载创作者主页作品
想抓取某位创作者的作品时,在配置文件里写入主页链接并指定模式:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post把上面链接替换成实际主页地址,number.post控制抓取数量(0 为不限)。跨模式重复的作品会自动去重,不会下载两次。
只同步新作品(增量下载)
持续跟踪某位博主更新时,保持increase.post: true与database: true。程序会对照数据库记录跳过已下载作品,每周跑一次只补上新内容。
按时间过滤与搜索采集
设置start_time/end_time(格式YYYY-MM-DD)可只拉取某时间段内的作品;--search "关键词"把关键词搜索结果导出为 JSONL;打开comments.enabled: true还会为每部作品额外生成评论 JSON。
抖音下载工具常用参数速查
| 配置项 | 说明 |
|---|---|
link | 要下载的抖音链接,可列多条 |
path | 下载目录,默认./Downloaded/ |
mode | post/like/mix/music;收藏夹模式collect/collectmix需单独使用 |
number.* | 各模式数量上限,0 为不限 |
increase.* | 各模式增量开关,依赖database: true |
start_time/end_time | 时间过滤,格式YYYY-MM-DD |
thread/retry_times | 并发数(默认 5)/ 失败重试次数(默认 3) |
video_quality | 画质档位,默认highest最高转码档 |
browser_fallback.enabled | 翻页受限时启用浏览器兜底 |
proxy | HTTP 代理地址 |
🛠 抖音下载工具常见坑与对策
现象:主页只能抓到 20 条左右作品。可能原因:翻页触发了平台风控。 解决办法:设置browser_fallback.enabled: true且headless: false,浏览器弹出后手动完成验证再让其继续翻页。
现象:下载失败,提示需要登录或 Cookie 无效。可能原因:Cookie 已过期。 解决办法:重新执行python -m tools.cookie_fetcher --config config.yml刷新。
现象:想重新下载某部作品,程序却跳过。可能原因:程序同时用数据库记录和本地文件名做双重去重。 解决办法:同时删除对应的文件目录和数据库记录,再运行下载。
现象:直播录制的 HLS 源无法直接播放。可能原因:HLS 源只保存了 playlist 文件,属于实验性功能。 解决办法:用 ffmpeg 对录制的分片做后处理合成。
抖音下载工具原理速览
程序先用 core/url_parser.py 判断链接类型(视频、图文、合集、音乐、主页、直播),再由下载器工厂分发到对应下载器。core/api_client.py 携带反爬签名请求抖音 API 并解析无水印源;control/ 负责并发限速与指数退避重试;storage/ 用 SQLite 记录下载历史,作为去重与增量下载的依据。
使用边界与合规
本项目定位于技术研究、学习交流与个人数据管理。请尊重创作者的版权,不要把下载内容用于商业再分发,或任何侵犯他人隐私与合法权益的用途;由此产生的风险与责任由使用者自行承担。若平台规则或接口策略调整导致功能失效,属于正常技术风险,请留意版本更新。
总结
当你需要无水印保存抖音视频、批量抓取创作者主页,或定期同步新作品时,安装 douyin-downloader、取好 Cookie,从一份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),仅供参考