5 分钟上手 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 3.9 及以上版本,支持 Windows、macOS 和 Linux。执行下面四行完成拉源码、进目录、装依赖、装浏览器兜底组件:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt pip install playwright && python -m playwright install chromium前两句是获取代码和依赖;第三句playwright用于"浏览器兜底"——当接口翻页被风控限制时,工具会自动启动浏览器继续加载,这是后面排错会反复用到的开关。
如何复制配置文件
cp config.example.yml config.yml把仓库自带的模板 config.example.yml 复制为config.yml。之后所有修改都只动config.yml,模板保持原样,升级或对照文档时不会被自己改过的文件干扰。
如何获取 Cookie(登录通行证)
python -m tools.cookie_fetcher --config config.ymlCookie 是抖音在浏览器中发放的登录凭证,相当于一张有时效的通行证:没有它,接口拒绝返回需要登录态的数据;放久了还会过期。上面这条命令会弹出浏览器,你在浏览器里登录一次抖音,回到终端按回车,Cookie 就自动写入了本地配置,全程不用手动复制任何字符串。
填入链接并运行第一条下载
打开config.yml,把link字段换成你的目标链接,number.post设为 1 表示先只下 1 条验证流程:
link: - https://www.douyin.com/video/7604129988555574538 number: post: 1只保留最小可用字段,是为了先确认"链接→解析→落盘"这条主链路能走通,出问题也更容易定位。然后运行:
python run.py -c config.yml终端会实时显示解析与下载进度,成品默认落在path指定的./Downloaded/目录,文件名带作品发布时间前缀,方便日后核对。
它还能干什么:批量、增量、直播与数据导出
- 无水印原片提取:接口返回多档码率,
video_quality: highest时自动挑选最高转码档;改为original会额外探测上传原片,更大则下载原片,失败自动回退。典型用法:单条视频链接直接进link。 - 主页批量备份:
mode: [post]+number.post: 0表示不限条数,作者全部作品连同封面、音乐、元数据 JSON 一起落盘,目录按"作者 → 日期_标题"归档,仓库还附带 Douzy 图形界面,批量任务可视化配置如右图。
- 增量追更:
database: true开启后,下载历史写入本地 SQLite(dy_downloader.db),配合increase.post: true二次运行只处理新增内容。典型用法:每天跑一次同一份配置。 - 直播录制:
link填live.douyin.com/{房间号},live.max_duration_seconds: 0表示录到主播下播。典型用法:挂机录整场直播,断流时已录部分保留。 - 评论采集与热搜导出:
comments.enabled: true后每个作品额外生成*_comments.json;--hot-board与--search子命令直接把热搜榜和关键词搜索结果存成 JSONL。典型用法:为作品做舆情分析。
和常见替代方案横向对比一下:
| 维度 | 手机录屏 | 在线解析网站 | douyin-downloader |
|---|---|---|---|
| 画质 | 带水印与控制台痕迹 | 依赖站点解析,参差不齐 | 无水印,多档码率可选 |
| 批量能力 | 逐条操作 | 多数限单条 | 主页/合集整包、日期范围筛选 |
| 隐私 | 低 | 高,Cookie 交给第三方站点 | 低,Cookie 只存在本地 |
| 自动化 | 无 | 弱 | 命令行参数化,可接 REST API |
高频场景实操:最小配置与预期产物
抖音主页备份的最小配置:整页抓取作者作品
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: [post] number: post: 0number.post: 0表示不限条数。预期产物:Downloaded/作者昵称/下按发布时间归档的无水印视频、图文,另附download_manifest.jsonl清单文件记录每条作品的标题、标签和落盘路径。⚠️ 易踩的坑:作者改名后新下载会生成新的作者目录,旧目录不迁移;在意长期归档的用户可把author_dir设为nickname_uid,用"昵称_sec_uid"保证目录稳定唯一。
抖音增量追更的最小配置:只下上次之后的新作品
increase: post: true database: true预期产物:只有新增内容被下载,已存在的跳过。⚠️ 易踩的坑:需要"强制重下"时不要清数据库,把increase.post改为false即可覆盖当前筛选范围内的文件——增量跳过判断的依据是磁盘上的主媒体文件,改这个开关就够了。
抖音直播录制的完整流程:链接与时长配置
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 0预期产物:断流或下播时任务自动收尾,已录分片保留。⚠️ 易踩的坑:直播录制在 README 中标注为实验功能,HLS 源只保存播放列表,不是开箱即播的成品视频,重要场次建议同时用本地方式留一手。
热搜与搜索导出的命令:不下载、只收数据
python run.py --hot-board 30 python run.py --search "猫咪" --search-max 100预期产物:JSONL 文件,每行一条记录,可用任意文本工具或 pandas 继续分析。⚠️ 易踩的坑:--search-max默认 50,不显式传参会只拿到前 50 条,别以为结果不全。
常见卡点:表现、定位与修复动作
- 主页翻几页就提前停,只拿到二三十条→ 接口分页触发了抖音风控。保持
browser_fallback.enabled: true与headless: false,重跑后受限时会自动弹出浏览器滚动加载,出现验证码手动完成即可。 - 报"登录态失效"或大量作品解析失败→ Cookie 过期,时效到了。重跑
python -m tools.cookie_fetcher --config config.yml刷新一次,无需手抄字段。 - 删掉了本地视频,再运行仍显示已存在→ 跳过逻辑同时看磁盘文件和数据库记录,两边状态不一致。把
increase.post改为false强制覆盖,或把对应本地目录清干净再跑。 mode里同时写post和collect报错→ 收藏数据只能来自当前登录账号本身,且不能与作品模式混跑。分两次运行:一次下作品,一次单独跑收藏。- 下载一半断了要重头来吗 / 进度刷屏太吵 / 转写文件没生成→ 合并到这里一次说清:断网中断的文件有完整性校验,损坏的自动清理并按重试次数(默认 3 次)重试,不用重头下;刷屏保持
progress.quiet_logs: true、运行时不加-v即可;转写缺失则依次核对transcript.enabled是否为 true、对象是否为视频(图文不转写)、OPENAI_API_KEY是否有效。
进阶入口:API 服务、通知与数据导出
- REST API 服务化:
pip install fastapi uvicorn后运行python run.py --serve --serve-port 8000,POST 一条 URL 返回job_id轮询状态,实现见 server/app.py。 - 完成通知:
notifications.enabled: true并配置providers,支持 Bark、Telegram 和通用 webhook,字段示例就在 config.example.yml 里。 - 视频转写:
transcript.enabled: true时视频先抽音轨再上传转录,产出 txt/json,入口在 core/transcript_manager.py。 - 二次开发:核心模块在 core/,配置加载在 config/;跑测试与代码检查用
python -m pytest tests/和ruff check .,设计文档在 docs/。
三步行动路线
- 第一次下载:照"先跑通"一节装依赖、复制模板、刷新 Cookie,用一条视频链接验证链路。
- 第一个批量任务:换成目标作者主页链接,
number.post: 0全量备份,确认Downloaded/归档结构符合预期。 - 日常追更与扩展:打开
increase每日增量运行,再按需挑直播录制、评论采集或 REST API 中的一个场景接入自己的工作流。
最后提醒一句:下载的内容建议仅用于个人学习、研究与数据备份,请尊重创作者版权与平台规则,商业用途前务必确认授权。
核心关键词:抖音无水印下载;长尾关键词:抖音批量下载、抖音主页备份、抖音直播录制、抖音评论采集
【免费下载链接】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),仅供参考