抖音视频无水印批量下载: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 是MIT 开源的抖音下载器:单条链接去水印,博主主页整页批量抓,视频、图文、合集、音乐、收藏夹通吃,内置进度展示、并发下载和数据库去重。适合做素材管理、内容备份的零基础用户,Python 环境就绪后 3 条命令就能跑起来。
它到底能帮你做什么
- 无水印下载:视频、图文(图集)、合集、音乐四类链接都支持,自动优先选无水印源,还能在 360p 到 1080p 甚至原画之间挑画质
- 主页批量抓取:
/user/主页链接直接丢进去,post(发布)、like(点赞)、mix(合集)、music(原声)四种模式任意组合,还能按start_time/end_time过滤时间段 - 收藏夹下载:支持抓当前登录账号自己的收藏夹与收藏合集
- 去重不白干:SQLite 数据库加本地文件双重记录,重复任务直接跳过,
increase增量模式只拉新作品 - 风控有兜底:翻页被限制时自动启动浏览器兜底,人工过一下验证码就能继续
- 顺手的数据能力:可采集评论、保存 JSON 元数据,任务完成推送 Bark / Telegram 通知
3 条命令完成首次抖音下载器部署
第一步,拿到代码并装依赖(Python 3.8 以上):
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader && pip install -r requirements.txt第二步,用内置的浏览器工具获取 Cookie(它会弹出登录页,登录抖音后回终端按 Enter,Cookie 自动写入配置):
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml第三步,把 config.example.yml 复制成的config.yml改成最小配置:
link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ # 下载目录 mode: [post] database: true # 开启去重然后一条命令开跑:
python run.py -c config.yml终端里出现 Rich 进度条、文件落进Downloaded/作者名/post/日期_标题_aweme_id/目录,就算成功了。
批量抓博主主页:每天只拉新作品
场景:你关注了一批博主,想把他们的更新持续存进本地素材库。操作:link换成主页链接,开increase增量开关:
link: - https://www.douyin.com/user/MS4wLjABxxxx mode: [post] increase: [post] # 只下数据库里没有的新作品结果:定时任务每天跑一次,只下载博主的新发布,旧作品凭aweme_id记录直接跳过。同一作者开多个模式也不会重复下载。
一次抓完点赞、合集、音乐
场景:某博主的点赞内容和音乐原声才是你要的素材,发布页看着杂。操作:mode写多个值即可同时抓,数量上限单独控制:
mode: [like, mix, music] number: like: 50 mix: 0 # 0 表示不限结果:三类内容落到like/、mix/、music/子目录,跨模式自动去重,跑完打开download_manifest.jsonl就能看到完整清单。
多个下载任务同时跑,失败自动补
场景:link列表里塞了十几个主页,跑一晚上。操作:把thread调到 3~5 控制并发,默认限速 2 请求/秒,别为了快把限速拉满。结果:每个任务在进度区独立显示状态,单条失败走 1s/2s/5s 指数退避自动重试,最终失败数一目了然,第二天补跑一次即可。
一点原理:双重去重加浏览器兜底
去重是「数据库记录 + 本地文件名」双保险:每个作品下载后把aweme_id写进 SQLite,同时文件名里也嵌着这个 ID,任一处能命中就跳过,所以下载中断再续跑不会白下。另一处差异在风控应对——多数同类工具是纯 API 方案,翻页一旦受限就停在 20 条;这个项目检测到翻页受限后会自动启动 Playwright 模拟真人滚动加载,配合 2 请求/秒的限速,把批量抓取的成功率拉高了一截。
容易踩的坑
- Cookie 失效:表现为批量任务大面积失败。重跑
python -m tools.cookie_fetcher --config config.yml拿新 Cookie 即可,别手动去浏览器里拷,容易漏字段。 - 只抓到 20 条:典型翻页风控。确认
browser_fallback.enabled: true且headless: false,浏览器弹窗出现后手动过验证,别急着关窗口。 - 想重新下载却跳过了:光删数据库记录没用,本地文件还在也会被去重命中。要重下得把对应的本地目录和数据库记录一起清掉。
increase增量不生效:增量模式依赖数据库记录历史,database: true必须开着,关掉后增量就是个空开关。
收尾:从单条链接到整个主页
douyin-downloader 把「无水印下载、批量抓取、去重续跑」三件事打包进了一个 YAML 配置和一条python run.py命令,从单条视频试水到长期运营素材库都能接得住。想继续深入:完整功能表和场景示例看 README.zh-CN.md,可直接改的配置骨架看 config.example.yml,下载主流程和 URL 解析逻辑在 core/ 目录,架构总览在 PROJECT_SUMMARY.md。 🚀
【免费下载链接】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),仅供参考