完整指南:用开源项目 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 就是为这类需求写的。douyin-downloader 是一个免费的抖音批量下载工具定位很明确单条作品与创作者主页批量下载两条主线配套进度显示、失败重试、SQLite 去重以及 Playwright 浏览器兜底翻页。 工具速览它做什么、不做什么这是一个纯 Python 的 CLI 项目解决的核心问题是把抖音内容按你的命名规则批量落到本地磁盘并且重复跑不重复下。它不做什么命令行版目前只支持抖音平台也不负责内容审核下什么、怎么用由使用方自行负责。日常下载如果碰到风控桌面端 Douzy 是目前更省事的选择后文会展开。核心能力清单✅ 无水印视频、图集、音乐原声、合集下载短链自动解析✅ 创作者主页批量下载支持 post / like / mix / music / collect 等模式✅ 视频源默认取 bit_rate 档位中的最高转码也可切original探测原画✅ SQLite 记录下载历史增量模式自动跳过已下作品✅ 时间区间过滤只拉指定日期内的作品✅ 直播录制FLV 分片与结构化评论采集✅ 进度条显示、断点续传、失败重试✅ 可选 REST API 服务、完成通知推送、语音转写关键参数速查参数说明link下载链接列表视频/图文/主页/直播间均可path落盘根目录mode/number下载模式与各模式条数上限0表示不限量video_qualityhighest默认/original/lowest/ 指定分辨率increase.post增量开关true跳过已下载作品thread并发下载线程数默认 5start_time/end_time作品发布时间过滤YYYY-MM-DD格式filename_template文件名模板必须包含{id}author_dir作者目录层命名策略database下载历史数据库开关增量去重依赖它 第一次下载体验安装与依赖项目是标准 Python 包结构入口是run.py要求 Python 3.9 以上。git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader python -m pip install -r requirements.txt避坑提醒如果后面要启用browser_fallback浏览器兜底翻页还要额外执行python -m playwright install chromium安装浏览器内核。Cookie 获取与刷新抖音接口需要有效的登录态Cookie 是访问一切内容的前提。自动获取方式是启动内置抓取脚本它打开浏览器窗口扫码登录抖音后回到终端按回车即可保存python -m tools.cookie_fetcher --config config.ymlCookie 只写在本地的config.yml里不会上传到任何服务器。避坑提醒Cookie 有效期有限常见 7 天左右一旦接口开始返回 403 或未登录第一条对策就是重跑上面的命令而不是怀疑网络。最小配置完成首个下载复制模板并填写自己的链接即可完整字段参考 config.example.ymlcp config.example.yml config.ymllink: - https://v.douyin.com/xxxxx/ path: ./Downloaded/ video: true json: true thread: 5python run.py -c config.yml产物按{date}_{title}_{id}命名视频与info.json元数据一起落盘。避坑提醒命令行的-u、-p、-t等参数可以在不改配置的情况下临时追加链接、改目录或调线程数python run.py --help有完整列表。 场景实操场景一单个视频或图文临时保存一条链接里的作品是最常见的用法把分享短链填进link数组直接运行工具会解析短链、判定内容类型视频或图文、选最高码率源并落盘。短链v.douyin.com、v.iesdouyin.com与完整地址均可识别。link: - https://v.douyin.com/xxxxx/ music: true cover: trueDownloaded/ └── 2025-10-01_作品标题_aweme_id/ ├── video.mp4 ├── music.mp3 ├── cover.jpg └── info.json场景二创作者主页全量备份要长期保留某位创作者的内容时link填主页地址用number控制条数link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: [post] number: post: 0 # 0 不限量全量拉取Downloaded/ └── 某创作者昵称/ ├── 2025-09-30_标题A_idA/ └── 2025-09-29_标题B_idB/mode除了post作品列表还支持like赞过、mix/allmix合集、music原声、collect收藏等按需组合。场景三直播录制link指向直播间地址live.douyin.com/{room_id}时自动进入录制模式注意这是实验功能link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 录到主播下播Downloaded/ └── live/ ├── live_123456789.flv分片合并 └── live_123456789.json录制元数据避坑提醒FLV 源正常但部分 HLS 源只保存播放列表而不是可直接播放的视频录制前先确认推流格式。场景四评论采集需要作品下的评论做分析时打开comments开关每个作品额外产出一份结构化 JSONcomments: enabled: true include_replies: true # 是否抓取二级回复 max_comments: 200 # 0 不限Downloaded/ └── 2025-09-30_标题A_idA/ └── xxx_comments.json⚙️ 进阶设置以下配置对应几类典型情况遇到再打开对应开关即可。反复跑同一个主页、不想重复下→ 开增量模式。increase.post: true时依据 SQLite 记录跳过已下载作品redownload_missing_files: true表示磁盘上主文件缺失或为空时重新下载。想强制全量重下把increase.post改为false即可不用清数据库。只要某个时间窗内的作品→ 时间过滤。start_time/end_time用YYYY-MM-DD结束日期整天都包含在内例如只拉 6 月的内容就配2025-06-01到2025-06-30。文件名乱、想按自己的习惯归档→ 命名模板。filename_template与folder_template支持{id} {title} {author} {date} {year} {month} {day} {time} {timestamp} {type} {mode}等变量模板必须包含{id}否则重名会互相覆盖。folderstyle: true时每个作品单独建子目录。同名作者目录被合并、或作者改名后目录分裂→ 作者目录策略。author_dir三个取值nickname默认直观但重名合并、改名分裂、sec_uid稳定唯一但不直观、nickname_uid直观且唯一重度使用推荐。切换只影响后续下载不会迁移已有目录。想核对都下过什么→ 历史查询。database: true时所有下载记录写入dy_downloader.db可直接用 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;️ 排坑速查症状403 Forbidden 或未登录错误原因Cookie 过期或字段失效。 解法重跑python -m tools.cookie_fetcher --config config.yml不要反复刷新配置问题在登录态。症状主页翻页只抓到 20 条左右就停了原因触发了抖音翻页风控验证。 解法保持browser_fallback.enabled: true与headless: false在弹出的浏览器窗口里手动完成验证后再让程序继续。症状下载速度慢或频繁中断原因并发过高时单连接被限速或网络本身不稳定。 解法把thread从默认 5 降到 2-3同时确认到抖音服务器的链路稳定断点续传机制会在重启后跳过已完成的分片。症状批量任务跑起来内存/CPU 占用偏高原因并发线程同时缓冲多个视频流。 解法降低thread或把大任务拆成按时间段的若干批分别执行每批 50-100 条。症状日志里全是 warning不知道下没下成功原因默认控制台只输出精简进度。 解法加-v参数查看详细日志python run.py -c config.yml -v。 扩展能力REST API 服务把 CLI 包装成 HTTP 接口方便脚本和其他系统提交下载任务、轮询状态。python -m pip install fastapi uvicorn python run.py --serve --serve-port 8000完成通知推送任务跑完或失败时推送到手机支持 bark / telegram / webhook 三类 provider。notifications: enabled: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY语音转写调用 OpenAI 音频转写接口为视频额外生成文本稿输出格式可配 txt / json。transcript: enabled: true model: gpt-4o-mini-transcribe response_formats: [txt, json]热搜榜与关键词搜索独立子命令结果以 JSONL 形式落盘适合做数据抓取的前置步骤。python run.py --hot-board 30 -p ./Downloaded python run.py --search 关键词 --search-max 100 -p ./Downloaded版本选择与合规提示版本方面两条路线分工明确命令行版面向脚本化、服务器部署和批量场景参数全部可配置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),仅供参考