news 2026/9/15 12:42:17

douyin-downloader 快速上手教程:抖音无水印批量下载与主页采集完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
douyin-downloader 快速上手教程:抖音无水印批量下载与主页采集完整指南

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 这条流水线值得 10 分钟试跑一遍。它是一个命令行优先的抖音下载器:单条视频、图文、合集、音乐、整个用户主页,都能进同一个入口处理,并且默认带进度展示、失败重试、SQLite 去重和浏览器兜底。本文按"先跑通一条,再放大到主页级批量采集"的动线走一遍,顺带把去重、增量、通知这些后台机制讲清楚。

这条流水线能吃下哪些链接

判断能不能用的标准很简单:只要你能从抖音复制或从 App 分享出来的链接,基本都在它的处理范围内。短链会被自动展开,不用先手动跳转。

输入形式处理行为
/video/{id}下载单个视频,自动挑无水印、最高码率的源
/note/{id}/gallery/{id}下载单个图文
/collection/{id}/mix/{id}按合集整组抓取
/music/{id}下载音乐原声,缺失时回退到该音乐下的首条作品
v.douyin.com/...等短链自动解析成真实目标
/user/{sec_uid}主页批量采集,配合mode指定抓什么
当前登录账号收藏夹collect/collectmix模式,只能单独使用
live.douyin.com/{room_id}直播录制(实验性,FLV/HLS)
--hot-board/--search "关键词"热搜榜、关键词搜索结果导出 JSONL

首次跑通:安装、登录态与第一条视频

这一节把三件事并成一条线走完:装好环境、拿到登录态、把第一条无水印视频落到本地。

装好项目与依赖

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt cp config.example.yml config.yml

第一、二行拿到源码并进入目录,第三行装依赖(要求 Python 3.8+,Windows / macOS / Linux 均可),第四行从 config.example.yml 复制出一份可编辑的config.yml。浏览器兜底用到的 Playwright 不急,遇到翻页被风控时再补装:

pip install playwright && python -m playwright install chromium

Cookie 登录态:自动获取优先

登录态有两个来源。首选自动获取,tools/cookie_fetcher.py 会拉起一个浏览器窗口:

python -m tools.cookie_fetcher --config config.yml

在弹出的窗口里登录抖音,回到终端按回车,Cookie 会自动写进配置文件,全程不碰代码。如果你习惯从浏览器开发者工具里复制,也可以手动写进config.yml,字符串或字典形式都支持:

cookies: "msToken=xxx; ttwid=xxx; odin_tt=xxx;"

Cookie 偶尔会过期,过期后重跑一次上面的自动获取命令即可,属于日常维护动作而不是故障。

无水印视频下载命令

配置就绪后,单条视频一行命令:

python run.py -c config.yml -u "https://www.douyin.com/video/7604129988555574538"

-c指定配置文件,-u追加链接,-t调并发,-p指定下载目录。工具解析后会自动在无水印源里挑码率最高的一档,落盘的同时在终端给出成功 / 失败 / 跳过的实时计数,跑完一眼就能核对结果。

主页级批量采集:模式、数量与增量

单条只是起点,把整个主页搬下来才是这套工具的主场。把主页链接和采集策略写进配置:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - like number: post: 50 like: 0

三个字段的含义:link是目标主页;mode决定采集范围,post发布作品、like点赞作品,另有mix(合集)、music(用过的原声);number给每个模式设上限,0表示不设上限全量抓。保存后运行python run.py -c config.yml,多任务会并发跑,每个任务的进度、耗时滚动刷新。

两个配套技巧:

  • 跨模式去重:同一个aweme_id在"发布"和"合集"里同时出现时,只落盘一次;
  • 增量模式:把increase.post: true打开(依赖database: true),再次运行时只补新发布的内容,适合挂成长期监控任务。

还可以用start_time/end_time(格式YYYY-MM-DD)把采集范围圈在某段时间内。

产物去向:下载目录的自动分层

下载完成后,文件不是堆在一个平铺目录里,而是按"作者 → 模式 → 日期+标题"自动分层:

Downloaded/ └── 作者名/ ├── post/ │ └── 2024-02-07_作品标题_aweme_id/ │ ├── ...mp4 # 视频本体 │ ├── ..._cover.jpg # 封面(按需开启) │ ├── ..._music.mp3 # 原声(按需开启) │ └── ..._data.json # 元数据(按需开启) ├── like/ └── mix/

每个作品一个独立文件夹,命名模板(filename_template/folder_template)可用{date} {title} {id} {author}等变量自定义,素材库整理时直接按文件夹拖走。封面、原声、头像、JSON 这些附带产物默认关闭,在配置里按需打开,避免平白多出几倍文件。

让它替你干活:去重、重试、校验与通知

真正降低维护成本的是几个后台机制,平时你感觉不到它们存在,出问题时才显出价值:

  • 双重去重:SQLite 数据库记录 + 本地文件名扫描双保险。换机器、挪目录之后,它仍能从文件名里的aweme_id认出"这条下过";
  • 指数退避重试:网络抖动导致的失败按 1s → 2s → 5s 节奏自动重试,中途中断的文件可续传;
  • 完整性校验:下载结束比对 Content-Length,发现截断的文件自动清理并重下,避免"看着成功实际损坏";
  • 直播录制:喂入live.douyin.com的房间链接即可边播边录,主播下播或按 Ctrl+C 时已录字节保留,FLV 直接可播;
  • 完成通知notifications.providers支持 Bark、Telegram、Webhook(企业微信 / 飞书 / 钉钉 bot 地址同样可用),一批任务跑完推到手机,人不守机器;
  • 数据侧输出comments.enabled: true时每个作品旁生成*_comments.json--hot-board 30--search "关键词"把结果落成 JSONL,接分析流程很方便。

如果你希望用程序而不是命令行触发任务,还有一个 REST 服务模式:

pip install fastapi uvicorn python run.py --serve --serve-port 8000

POST/api/v1/download提交链接拿job_id,再轮询任务状态即可,适合嵌进自己的自动化系统。

故障速查表

症状可能原因处理方式
只抓到 20 条就停翻页触发风控browser_fallback.enabled: trueheadless: false,弹窗出现后手动过验证,别急着关窗口
下载大面积报错Cookie 失效重跑python -m tools.cookie_fetcher --config config.yml
想重下却一直被"跳过"去重机制生效删掉Downloaded/作者名/模式/*_<aweme_id>/目录,并执行sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"
进度刷屏影响阅读日志未静默确认progress.quiet_logs: true,需要排查时再加-v
没生成 transcript 文件转写未生效依次查transcript.enabled、是否为视频作品(图文不转写)、OPENAI_API_KEY是否有效

查下载历史也走数据库:sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;"

适合谁,以及边界在哪

这套流程适合三类场景:个人素材归档(按作者分好层,随取随用)、竞品 / 账号长期监控(增量 + 定时 + 通知推送)、以及需要评论与热搜数据配合的分析工作。它的边界同样明确:

  • collect/collectmix收藏夹模式只认当前登录 Cookie 对应的账号,且不能与post/like等混用;
  • 浏览器兜底目前只在post模式完整验证过,like/mix/music主要依赖 API 正常分页;
  • 直播录制标记为实验性:FLV 直接可播,HLS 源只保存 playlist 文件,需要 ffmpeg 后处理。

不想敲命令的人可以留意桌面端Douzy(内测中),与命令行共用同一套引擎:粘贴链接即下、同步关注列表、可视化跟踪任务。

工具的价值在于"跑起来之后不用你管":去重、重试、分类、增量这些重复劳动都压在后台,你只负责复制链接、触发任务、回来验收。按上面的动线走一遍,第一条无水印视频落盘之后,主页级批量采集只是改几个配置项的事。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 12:40:50

API越权漏洞自动化检测实战:Hadrian+Vespasian+crAPI工具链解析

API越权漏洞在OWASP API Security Top 10 2023里占了两个席位——BOLA&#xff08;对象级授权缺失&#xff09;排第一&#xff0c;BFLA&#xff08;功能级授权缺失&#xff09;排第五。名字听着很学术&#xff0c;翻译成大白话就是水平越权和垂直越权。手动测越权是安全测试里最…

作者头像 李华
网站建设 2026/9/15 12:40:43

程序员考公如何备考:6 个月迭代式上岸的完整计划

程序员考公如何备考&#xff1a;6 个月迭代式上岸的完整计划 【免费下载链接】developer2gwy 公务员从入门到上岸&#xff0c;最佳程序员公考实践教程 项目地址: https://gitcode.com/GitHub_Trending/de/developer2gwy 深夜在工位上收到优化通知&#xff0c;或者只是看…

作者头像 李华
网站建设 2026/9/15 12:38:05

WRF后处理实战:nc变量提取、物理量计算与可视化避坑指南

1. 这不是教程&#xff0c;是我在气象建模组熬了三年夜班后整理的WRF后处理实操手记WRF模型跑完输出那堆nc文件&#xff0c;很多人第一反应是——“终于跑完了&#xff1f;可以交差了&#xff1f;”然后双击打开netCDF文件&#xff0c;看到满屏的time、south_north、west_east维…

作者头像 李华
网站建设 2026/9/15 12:38:03

Craft Agents自动更新系统解析:auto-update.ts工作原理

Craft Agents自动更新系统解析&#xff1a;auto-update.ts工作原理 【免费下载链接】craft-agents-oss 项目地址: https://gitcode.com/GitHub_Trending/cr/craft-agents-oss Craft Agents 是一款面向 AI 智能体协作的开源桌面应用&#xff0c;它的自动更新系统让用户无…

作者头像 李华