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是一个用 Python 写的抖音下载工具,输入视频、图文、合集、音乐链接或作者主页,即可得到无水印的媒体文件,并支持作者主页批量抓取、进度展示、失败重试和 SQLite 去重。项目以 YAML 配置文件加命令行参数驱动,另有一个基于同一套后端的桌面版Douzy,面向不想碰终端的用户。需要说明的是,抖音 2026 年 8 月后加强了接口风控,部分直连接口(点赞、收藏、单个视频详情等)已被拦截,本文按当前版本如实描述可用范围。
快速上手:从克隆到首次下载
前置要求只有 Python 3.8+,macOS、Linux、Windows 均可运行。
- 克隆仓库并安装依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt复制一份配置文件:
cp config.example.yml config.yml。获取 Cookie。抖音需要登录态才能拉取内容,推荐用内置脚本自动抓取:
python -m tools.cookie_fetcher --config config.yml浏览器弹出后登录抖音,回到终端按回车,Cookie 会自动写入配置。
- 首次运行:
python run.py -c config.yml命令行参数可以追加进配置文件:-u追加下载链接(可重复传入)、-p指定输出目录、-t指定并发数。
同一套后端还做成了桌面客户端 Douzy:左侧是账号内容和下载管理入口,中间粘贴视频、主页或合集链接即可一键下载,右侧任务中心跟踪每个任务的成败状态。
核心能力拆解
批量下载作者主页与多模式内容
能做什么:传入https://www.douyin.com/user/{sec_uid}形式的主页链接,按mode配置拉取post(作品)、like(点赞)、mix(合集)、music(音乐)四类内容;登录态下还支持collect、collectmix下载自己账号的收藏夹和收藏合集。怎么触发:把主页链接写进link,在mode里勾选类型,一次可组合多种模式,同一aweme_id跨模式自动去重。注意事项:collect系列只能单独使用,不能与post等其他模式混用,且仅对当前登录 Cookie 对应的账号有效。
增量下载与去重
能做什么:increase.post: true这类开关让工具跳过本地已存在的主要媒体文件,适合反复跟踪同一批作者。怎么触发:在increase下按模式设true,再配合number的上限即可。注意事项:去重靠"本地文件 + SQLite 记录"双检查,删掉本地文件即可触发重新下载,但数据库里残留的记录也要一并清理,否则会被跳过。
评论采集与热搜、关键词导出
能做什么:comments.enabled: true后,每条作品旁边会生成*_comments.json,include_replies控制是否抓取二级回复;--hot-board 30和--search "关键词"则直接导出热搜榜或搜索结果 JSONL,不落媒体文件。怎么触发:配置项或命令行参数,见 core/ 下的采集实现。注意事项:抓取二级回复会额外消耗 API 调用,max_comments设上限更稳妥。
浏览器兜底与其他选项
browser_fallback在分页被风控卡住时启动真实浏览器读取页面自己的请求,默认有头模式,验证码需要人工在窗口里完成;其他可选能力还包括直播录制(实验性)、REST API 服务模式、下载完成推送 Bark/Telegram/Webhook、调用 OpenAI 接口的视频转写,均按需在配置中开启。
关键配置项说明
只列日常真正会改的字段:
link:要下载的链接列表,视频、图文、合集、主页均适用。path:保存目录,默认./Downloaded/。mode:批量下载类型,post/like/mix/music,收藏夹模式见上文。number:各模式的数量上限,0表示不限制。start_time/end_time:按发布时间过滤,格式YYYY-MM-DD。thread:并发下载数,默认 5。retry_times:失败重试次数,默认走指数退避。proxy:可选 HTTP/HTTPS 代理。browser_fallback:分页受限时是否启动浏览器,headless: false才能人工过验证。increase:增量模式开关,按模式独立控制。
典型用法
批量保存一位作者的作品
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50number.post设 0 即全量。翻页受限时确认browser_fallback.enabled: true且保持有头模式。
长期跟踪博主的新内容
在上一段配置基础上加时间范围与增量开关,start_time设为上次同步的日期,每次运行只拉取新增作品,本地已有的文件会被跳过,配合path固定目录即可持续积累素材库。
导出热搜与关键词搜索结果
python run.py --hot-board 30 -p ./Downloaded python run.py --search "露营" --search-max 100 -p ./Downloaded结果分别写入hot_board/与search/下的 JSONL 文件,适合先做数据调研,再决定下载哪些内容。
常见问题
现象:任务大面积失败或提示登录过期。原因:Cookie 失效。解决办法:重新运行python -m tools.cookie_fetcher --config config.yml,扫码后回终端按回车即可。
现象:主页只翻到 20 条左右就停。原因:抖音对分页接口做了风控限制。解决办法:确认browser_fallback.enabled: true、headless: false,并在弹出的浏览器窗口里手动完成验证,不要过早关闭窗口。
现象:删除文件后再次运行仍被跳过。原因:增量机制按"本地文件 + 数据库记录"双重判断,只删文件不一定够。解决办法:同时清理 storage/database.py 对应的 SQLite 记录,再重新运行。
现象:单个视频、合集、音乐或点赞收藏类任务直接 403。原因:2026 年 8 月起抖音 Argus 风控拦截了这些接口的非浏览器请求。解决办法:CLI 暂无法绕过,改由桌面版 Douzy 处理;仍可直接使用的包括用户资料、关注列表、评论、直播、热搜与搜索。
写在最后
文件默认按"作者/模式"分目录存放,每条作品附带封面、音乐和 JSON 元数据,下载清单记录在download_manifest.jsonl。douyin-downloader 把 Cookie 获取、去重、重试和浏览器兜底都做成了开箱即用的配置项,对只想把内容存到本地的用户足够实用。下载内容请仅用于个人学习与数据管理,避免侵权或传播他人隐私。
【免费下载链接】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),仅供参考