抖音批量下载工具怎么用?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 自动去重与断点续传,配置一次就能反复使用。下面按「先跑起来 → 再按能力用 → 遇到问题排查 → 想深入再扩展」的顺序,带你把这个抖音批量下载工具用熟。
一、先搞清楚它是什么
一句话:一个面向实用场景的 Python 抖音下载器,既能存单条作品,也能把整个主页的作品、点赞、合集、音乐批量落盘。
相比「看到一条存一条」的手动方式,它多帮你解决了三件烦事:
- 去水印:自动挑选无水印视频源,按码率挑最高清档位;
- 批量 + 去重:把作者主页一次抓全,SQLite 记录 + 本地文件双重判断,下过的自动跳过;
- 可续传、可重试:网络抖动时指数退避重试,中断后可接着下载,不完整文件会自动清理重来。
支持的下载对象大致有这几类:单个视频、图文、合集、原声音乐、用户主页作品/点赞/合集/音乐,以及当前登录账号的收藏夹。此外还附带直播录制、评论采集、热搜榜与关键词搜索等扩展能力。
想快速了解整体架构,可以直接看 PROJECT_SUMMARY.md 与中文说明 README.zh-CN.md。
二、五分钟把它跑起来
1. 克隆项目并装依赖
先拿到代码,再安装运行所需的 Python 依赖(要求 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」或「翻页兜底」,再补装 Playwright 和 Chromium:
pip install playwright python -m playwright install chromium2. 配好 Cookie(能抓到内容的前提)
抖音要凭有效 Cookie 才会返回完整内容,有两种拿法:
- 自动获取(推荐):会打开浏览器让你扫码登录,登录后回到终端按回车,程序自动把 Cookie 写进配置。
python -m tools.cookie_fetcher --config config.yml- 手动填写:把现成的 Cookie 直接填到配置文件的
cookies段即可。
Cookie 一般能撑 7~15 天,失效后重跑上面那条命令即可。
3. 准备最小配置并启动
复制一份模板再编辑,只保留真正要用的字段:
cp config.example.yml config.ymllink: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post # post 作品 / like 点赞 / mix 合集 / music 音乐 number: post: 0 # 0 表示不限量,抓全部作品 thread: 5 retry_times: 3 database: true # 开启数据库去重与下载历史 increase: post: true # 增量模式:跳过已下载的作品保存后一条命令启动,下载进度、统计信息会实时打在终端:
python run.py -c config.yml也可以在命令行临时追加参数,比如临时换下载目录、加并发:
python run.py -c config.yml -u "https://www.douyin.com/video/7604129988555574538" -t 8 -p ./Downloaded三、按你的需求用:能力分层
保存单个作品(适合先试手)
只想存一条?把link指到具体作品页即可,工具会识别类型(视频 / 图文 / 合集 / 音乐):
link: - https://www.douyin.com/video/7604129988555574538除视频本体外,还可以按需打开封面、原声、头像、元数据这些附加产物(在配置里把cover/music/avatar/json置为true)。
批量保存作者主页(最常用的场景)
发现一个值得收藏的创作者时,把link指到其主页,选一种或多种模式,number里填0就是全量:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - mix number: post: 0 mix: 0多模式之间会自动按作品 ID 去重,同一个作品不会下两遍。想只看某段时间的内容,再加上时间过滤:
start_time: "2024-06-01" end_time: "2024-06-30"同步关注列表与收藏夹
工具还能管理你的抖音关注列表、收藏夹和喜欢列表,方便批量归档常看博主的内容;collect/collectmix模式则用于备份当前登录账号自己的收藏(注意:这两种模式只能单独使用,不能和post/like等混用)。
进阶能力:直播、评论、热搜与搜索
- 直播录制:
link指向直播间即触发,max_duration_seconds填0会一直录到主播下播,中途断网或中断,已录的字节也会保留。
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 录 1 小时;0 = 录到下播- 评论采集:按作品抓取评论并输出结构化 JSON,可控制是否带二级回复、上限条数。
comments: enabled: true include_replies: false max_comments: 500- 热搜榜 / 关键词搜索:不落视频,只导出 JSONL 快照,适合做数据研究。
python run.py --hot-board 30 -p ./Downloaded python run.py --search "猫咪" --search-max 100 -p ./Downloaded四、高频配置项速查
| 配置项 | 作用 | 常见取值 |
|---|---|---|
mode | 下载哪种内容 | post/like/mix/music,登录账号收藏用collect/collectmix |
number.* | 各模式数量上限 | 0= 不限量 |
increase.* | 是否增量跳过已下载 | true/false |
start_time/end_time | 按发布时间过滤 | YYYY-MM-DD |
video_quality | 画质档位 | original原画 /highest最高转码(默认)/ 指定分辨率 |
thread/retry_times | 并发数 / 重试次数 | 默认 5 / 3 |
browser_fallback | 翻页受限时启动浏览器兜底 | enabled: true |
database/database_path | 去重与下载历史 | 默认生成dy_downloader.db |
完整的字段与注释可以直接翻 config.example.yml,改完另存为config.yml用即可。
五、遇到问题,这样排查
- Cookie 失效(报 403 / 未登录):重跑
python -m tools.cookie_fetcher --config config.yml重新取一份。 - 只能抓到 20 条作品:多半是翻页触发了风控。确认
browser_fallback.enabled: true、headless: false,弹窗出现后手动过完验证再关窗。 - 没生成转写文件:依次确认
transcript.enabled是否为true、下载的是视频(图文不转写)、OPENAI_API_KEY有效、response_formats里有txt或json。 - 想查下载历史:直接用 SQLite 查库即可。
sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name, datetime(download_time,'unixepoch','localtime') FROM aweme ORDER BY download_time DESC LIMIT 20;"提示:去重靠「数据库记录 + 本地文件」双重判断。只删库不删文件不会触发重下;要让某个作品重新下载,需同时清理对应文件与库记录。
六、想更进一步
以 REST API 服务模式运行
适合接到自动化流程里:先装fastapi与uvicorn,再用--serve起服务,之后就能用接口提交下载任务、查询进度。
pip install fastapi uvicorn python run.py --serve --serve-port 8000常用端点:POST /api/v1/download提交任务,GET /api/v1/jobs/{job_id}查状态,GET /api/v1/jobs列最近任务,GET /api/v1/health健康检查。
Docker 部署
仓库自带 Dockerfile,适合放在服务器上长期跑:
docker build -t douyin-downloader . docker run -v $(pwd)/config.yml:/app/config.yml -v $(pwd)/Downloaded:/app/Downloaded douyin-downloader浏览器兜底机制
当 API 翻页被限制时,工具会自动拉起浏览器「兜底」抓取。相关阈值(最大滚动轮数、空闲判定、等待超时)都在browser_fallback段可调,能有效扛住平台反爬策略。
七、几点实用建议
- 先单条后批量:先用一个视频链接验证环境没问题,再上主页批量。
- 善用增量 + 去重:常看博主开
increase,每次只补新作品,省时省流量。 - 按时间过滤:只要近期内容就用
start_time/end_time,避免无谓抓取。 - 合理控制并发:内存或网络吃紧时把
thread调小,分批下载更稳。 - 合规使用:本项目仅用于技术研究、学习与个人数据备份,请勿用于侵犯他人隐私、版权等用途。
把配置调顺之后,你只需要把链接丢进去,剩下的无水印下载、自动去重、断点续传和归档整理都交给它——手动一条一条存的麻烦,到这里就该结束了。
【免费下载链接】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),仅供参考