如何无水印批量下载抖音作品?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 去重(一个本地数据库,记录下载历史防重复)。
Douzy 桌面版下载页:粘贴链接自动识别类型,单条或多条都能排队
日常使用有两条路:Douzy 桌面版把同一套后端包成图形界面,粘贴链接、跟踪任务进度、管理本地作品档案;本文以命令行版为主线,适合想脚本化、可重复执行的用户。两种用法共用同一套配置。
装完直接跑
环境只要 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最后一步装的是无头浏览器,接口被限流时它负责兜底翻页。接着完成登录:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml工具会弹出浏览器,登录后回终端按回车,Cookie(登录凭证,接口靠它识别你是谁)自动写回config.yml。已有 Cookie 的话直接粘贴进配置也行。
配置不用背,必改的就两个字段:
| 字段 | 作用 | 默认值 |
|---|---|---|
| link | 要下载的链接:单视频、图集、作者主页、短链都支持,列表可写多条 | 示例值 |
| path | 文件保存目录 | ./Downloaded/ |
把link改成目标主页,保存后运行python run.py -c config.yml,进度实时打印,全部跑完即完成第一次下载。其余参数跑通后按场景调。
把整个主页搬下来
目标是某位创作者的作品、合集、背景音乐一次存全。mode改成[post, mix, music]声明要哪几类内容,number里对应项填 0 表示不限条数,increase开 true 开启增量:磁盘上已有的作品自动跳过。
任务中心:批量下载进度、失败重试与输出目录实时可见
你会得到按作者分目录的完整档案:视频、封面、音乐、JSON 元数据各就各位,SQLite 里留好下载记录。同一配置隔天再跑一次,只补新发的内容,老作品一个字节不重下。想圈定时间范围,再配start_time/end_time(格式 YYYY-MM-DD)。
收藏夹整段备份
目标是不用自己翻收藏,把整个收藏夹搬进本地。link填自己主页的收藏夹地址(/user/self?showTab=favorite_collection),mode用collect下收藏视频、collectmix下收藏的合集系列。
收藏与喜欢面板:收藏的合集可以整组下载
注意这两个模式按登录 Cookie 的账号身份取数,必须单独使用,不能和 post、mix 混在同一份配置里,也不支持增量跳过。产出按 collect、collectmix 子目录归档,方便按收藏夹结构慢慢翻。
给作品留下可分析的数据
目标不只是存视频,还要每条评论和每句口播都有据可查。comments.enabled设 true 开启评论采集,max_comments限制单条作品抓取的评论数,include_replies控制是否抓二级回复;transcript.enabled设 true 后,每条视频走语音转写,密钥放OPENAI_API_KEY环境变量里即可。实现细节见 core/transcript_manager.py。
产出很直接:作品目录里多一个*_comments.json评论文件,转写文本有 txt 和 json 两种格式,视频、数据、文本一次备齐。
进阶与可选能力
| 能力 | 开关与说明 |
|---|---|
| 下载完成通知 | notifications.enabled开 true,支持 bark、telegram、webhook 三类推送 |
| 时间段筛选 | start_time/end_time圈定发布范围,含结束当天 |
| 画质档位 | video_quality默认 highest(最高转码档),original 尝试原片、失败自动回退 |
| 并发与重试 | thread默认 5,retry_times默认 3,proxy可填代理 |
| REST API | python run.py --serve --serve-port 8000起服务,方便脚本集成 |
| 热搜与搜索 | python run.py --hot-board 30、--search "关键词" --search-max 50,结果输出 JSONL |
文件怎么摆
默认folderstyle开启时每个作品一个独立文件夹。文件名由filename_template控制,默认{date}_{title}_{id},可用变量还有{author}、{type}等;模板里必须含{id},否则不同作品可能撞名。作者目录层由author_dir决定:nickname是纯昵称,sec_uid是稳定的用户 ID,nickname_uid是"昵称_ID",重名多的重度用户推荐后者。
高频排错
| 现象 | 解法 |
|---|---|
| Cookie 失效,任务频繁失败 | 重跑python -m tools.cookie_fetcher --config config.yml,建议每周检查一次 |
| 只拿到少量作品就停 | 确认browser_fallback.enabled: true、headless: false,在弹出浏览器里手动完成验证,必要时配proxy |
| 文件名重名、作者目录混乱 | filename_template加回{id};author_dir改nickname_uid |
| 磁盘空间不够 | 用start_time、end_time圈范围,用number限条数,定期外迁 |
需要看日志就加-v,全部命令行参数见python run.py --help。
需要留一句实话:受接口风控影响,当前命令行版对单个视频、合集、音乐的直接下载不保证成功,主页作品可用浏览器兜底但不保证稳定,完整的字段与限制说明详见仓库 README。
回到开头那个场景:一条链接换一整个主页的无水印档案,剩下的交给定时任务和增量开关。工具请仅用于个人学习、研究与备份,尊重创作者的合法权益,发布内容时遵守平台规则。
【免费下载链接】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),仅供参考