无水印批量下载抖音视频怎么做: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 编写的抖音批量下载工具:粘贴链接即可获取无水印视频、图文、合集与原声音乐,支持博主主页批量抓取、增量去重、直播录制与评论采集,CLI 驱动、YAML 配置。
🧰 能力速览:它能干什么
| 类别 | 能力 | 关键点 |
|---|---|---|
| 链接解析 | 单视频、图文、合集、音乐,v.douyin.com短链 | 自动识别链接类型 |
| 批量下载 | 博主主页post/like/mix/music四种模式 | 跨模式自动去重 |
| 画质控制 | video_quality可选原画、最高转码档或指定分辨率 | 默认选最高转码档 |
| 去重与增量 | increase按磁盘主文件判断跳过 | SQLite 仅记录历史 |
| 范围筛选 | start_time/end_time时间过滤,各模式number限数 | 0表示不限量 |
| 附带资源 | 封面、音乐、头像、JSON 元数据、评论 JSON | 逐项开关 |
| 直播录制 | live.douyin.com/{room_id}录为 FLV | 中断时保留已录数据 |
| 检索 | 热搜榜--hot-board、关键词--search,输出 JSONL | 不下载媒体 |
| 分发集成 | REST API 服务模式、Docker 镜像 | 面向自动化场景 |
🚀 三步从零跑通
第一步:安装与依赖配置
需要 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:
pip install playwright && python -m playwright install chromium第二步:完成登录凭证配置
抖音接口依赖有效 Cookie。推荐用浏览器自动抓取:命令会打开登录页,扫码登录后回到终端按回车,Cookie 自动写入配置文件。
python -m tools.cookie_fetcher --config config.yml已有 Cookie 值的话,直接手工填入 配置模板 的cookies段即可。
第三步:跑通第一次下载
把模板复制为实际配置,写入目标链接后运行:
cp config.example.yml config.ymllink: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/python run.py -c config.ymlDownloaded/下即得到无水印视频。-u追加链接、-t设并发、-p设目录等参数,详见 README。
🎯 高频场景
批量下载博主主页作品
需求:长期保存某创作者的全部发布作品。
做法:用/user/{sec_uid}链接,mode指定抓取范围,number置0不限量。
关键配置:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: [post] number: {post: 0}桌面版还提供可视化的关注列表,可按"有新作品"过滤创作者并批量发起下载。
增量下载跳过重复内容
需求:周期性重跑同一博主,只取新增作品。
做法:增量判断基于磁盘主文件——存在且非空即跳过,删掉则重新下载。按模式打开increase:
increase: {post: true}某个模式设为false时,会在当前筛选范围内重新下载并原子覆盖旧文件。
按时间区间筛选作品
需求:只保存某段时间内发布的内容。
做法:YYYY-MM-DD格式设定起止日期,两个边界都生效:
start_time: "2026-06-01" end_time: "2026-06-30"直播录制
需求:录制指定时长的直播,或跟到主播下播。
做法:链接指向直播间,max_duration_seconds: 0表示不限时长。产物为 FLV 加房间元数据,下播或中断时已写入的部分会保留:
link: [https://live.douyin.com/123456789] live: {max_duration_seconds: 3600}⚙️ 进阶能力
- 数据存档:
folderstyle: true时每个作品独立子目录;download_manifest.jsonl逐条记录清单;SQLite(dy_downloader.db)存作品明细与任务历史,sqlite3 dy_downloader.db "SELECT aweme_id, title FROM aweme LIMIT 20;"即可查询。 - 评论抓取:
comments.enabled: true后每个作品生成*_comments.json;include_replies决定是否抓二级回复,max_comments设上限(0 不限)。 - 语音转写:
transcript.enabled: true调用 OpenAI Transcriptions API 生成.transcript.txt/.json,Key 走OPENAI_API_KEY环境变量;图文作品不参与转写。 - API 与容器部署:安装
fastapi uvicorn后python run.py --serve --serve-port 8000,暴露/api/v1/download、/api/v1/jobs等接口;仓库自带 Dockerfile,构建后挂载配置与输出目录运行。 - 完成通知:
notifications.providers支持 Bark / Telegram / Webhook 并行推送,单个渠道失败不阻塞下载。
🛠️ 避坑指南
- Cookie 过期,出现 403 或未登录:重跑
python -m tools.cookie_fetcher --config config.yml,有效期通常 7~15 天。 - 只抓到 20 条左右作品:属于翻页风控。设
browser_fallback.enabled: true、headless: false,在弹窗中手动完成验证,别过早关窗。 - 重下逻辑不生效:跳过判断是"数据库记录 + 本地文件"双检查。只删文件会触发重下;只删库记录不会。想强制重抓,两边都清。
- 进度输出太吵或需要排查:
progress.quiet_logs: true默认压制进度阶段日志;调试时加-v或--show-warnings。 - 转写文件缺失:依次核对
transcript.enabled、是否为视频、API Key 是否有效、response_formats是否含txt或json。
🖥️ 版本选择
命令行版功能最全,适合自动化、服务器与集成场景;桌面版 Douzy 处于内测期,提供图形界面、任务中心与本地作品档案,适合希望粘贴链接即下、可视化跟踪进度的普通用户。建议先用命令行建立内容库,再用桌面版做日常管理。
✅ 收尾
- 无水印、画质可选,批量、增量、时间过滤一次配齐
- 封面、音乐、元数据、评论均可随作品归档
- 内置浏览器兜底、重试与限速,批量任务可放后台跑
- REST API 与 Docker 开箱即用,方便接入自动化
请将其用于个人学习、研究与自有数据备份,尊重创作者版权,勿用于商业再分发。
【免费下载链接】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),仅供参考