抖音批量下载怎么做去水印与增量更新: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本地内容库做到什么程度才算好用答案是一句判定规则同一个 aweme_id抖音作品的全局唯一标识无论来自哪个作者主页、哪次任务落盘只落一次再跑一遍只补新增和丢失的部分。douyin-downloader 就是为此设计的单链接自动识别类型主页链接按 post / like / mix / music 等模式批量抓取无水印源优先SQLite 记录下载历史失败按固定退避序列重试翻页受限还能弹浏览器人工兜底。如果你要把某个作者主页的存量作品视频、图文、合集、原声持续维护成一份可查、可补、不重不漏的本地档案它值得装进你的定时任务里。五分钟把第一个无水印文件跑到磁盘上这一部分给你从克隆仓库到出现第一个文件的完整命令序列每步都只留必要操作。要求 Python 3.9Windows、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 两条是为浏览器兜底预装 Chromium不装就无法使用翻页兜底。接着复制配置并登录拿 Cookiecp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml它会打开浏览器引导你登录抖音登录后回到终端按 EnterCookie 就自动写回 config.yml无需手工复制任何字段。把配置里的示例link换成目标博主主页形如https://www.douyin.com/user/{sec_uid}number.post填一个小的值如 1先试跑然后执行python run.py -c config.yml。命令行参数可以临时覆盖配置而不改文件-u追加链接不替换配置里的链接、-p换输出目录、-t调并发、-v打开详细日志。注意一个前提抖音接口风控目前已限制 CLI 对单个视频/图文、合集、音乐、喜欢和收藏的下载主页作品走 Playwright 浏览器兜底、不保证成功反复重试或更新 Cookie 解决不了这类风控。日常大批量场景建议配合同一套后端的 Douzy 桌面客户端命令行版更适合作为脚本集成和兜底手段。双重去重与增量更新判定规则先读懂看懂下面的判定顺序你就不会问为什么这条没重下/为什么重下了——这是整个工具最反直觉的地方。database: true默认时程序维护dy_downloader.dbSQLite 文件。每条作品是否要下载按三步判定程序首次运行会扫描整个下载目录、把所有文件名中的 aweme_id 建成本地索引本地文件命中即跳过这是第一道闸。本地缺失时看redownload_missing_files默认true文件缺失就重新下载不再查库。设为false时数据库里存在有效记录file_path 非空仍会跳过。数据库不可用或查询报错时宁可补下也不误判为已下载——状态不明偏向重下这是设计取向。由此得到两条容易踩的坑只删库记录、本地文件还在不会触发重下第一道闸仍命中只删文件、且redownload_missing_files: false也不会重下库记录兜住。想强制重下某条最省事的做法是把对应模式的increase.post设为false它会对当前筛选范围内的作品重新下载并原子覆盖无需清空数据库或者把文件和库记录一起删掉。number各模式独立设置post/like/mix/music/collect/collectmix0表示不限start_time/end_time按YYYY-MM-DD过滤发布区间包含结束日期当天。目录层级与文件命名一次配好省日后翻找这一节解决攒了几百个作品之后怎么找的问题全部规则都写在命名模板里。默认输出到./Downloaded/folderstyle: true默认时每个作品独占一个子目录group_by_mode: true默认时在作者目录下再分一层 post / like / mixDownloaded/ └── 作者昵称/post/ └── 2024-02-07_作品标题_aweme_id/ ├── 作品.mp4 ├── 作品_cover.jpg └── 作品_data.jsonauthor_dir决定作者目录怎么命名三个取值的取舍值得对照取值效果适合nickname默认最直观但重名作者会合并、作者改昵称会分裂成两个目录作者少sec_uid稳定唯一但目录名不直观纯机器管理nickname_uid昵称_sec_uid直观且唯一重度用户推荐注意切换author_dir只影响之后的下载不会迁移已存在的目录——换之前想好旧数据怎么办。filename_template与folder_template默认都是{date}_{title}_{id}可用变量包括{id} {title} {author} {author_id} {date} {year} {month} {day} {time} {timestamp} {type} {mode}。模板必须至少包含{id}不带{id}时同名标题会互相覆盖而且基于文件名的磁盘判重上一节的去重第一道闸也会失效。可用变量清单见 utils/naming.py。另一个容易忽略的点video默认开但music、cover、avatar、json全部默认关。这是有意为之——全开会平白多出几倍文件和请求。要封面、原声、元数据 JSON 就显式打开对应开关只影响后续下载。画质选择与视频源机制这一节讲清楚video_quality每种取值的实际请求行为差异选错档位会直接影响带宽和画质。抖音 API 为每个视频返回多档码率这个参数决定选哪一档取值行为代价highest默认只在码率阶梯里挑最高档无额外请求original额外探测上传原片在转码档列表之外可比最高转码档大数倍比最高转码档大才下载否则回退每条作品多一次探测请求超时 10 秒lowest最低可用档省流量1440p~360p指定分辨率匹配不到时自动降级到最接近的可用档实际可用档位取决于原视频上传质量选original不等于每条都拿到原片。音乐链接的行为另说优先下载原声文件音源缺失时回退到该音乐下的首条作品。稳定性开关重试、限流与浏览器兜底批量任务要过夜跑这一节的参数决定它凌晨会不会自己崩掉。retry_times默认 3含义是初次尝试之外再试 3 次共 4 次退避序列固定为 1s、2s、5s第 4 次仍失败按失败处理。rate_limit默认 2 请求/秒实现上相邻请求之间还会追加 0~0.5s 的随机抖动打散节奏降低撞风控的概率。proxy填代理地址后API 请求和媒体下载走同一出口。browser_fallback默认enabled: true翻页被接口限制时启动浏览器继续抓取。headless: false默认会弹出可见窗口出现验证码时手动完成、不要立刻关窗翻页才会继续max_scrolls默认 240 是滚动上限idle_rounds默认 8 是判定没有新内容的空闲轮数wait_timeout_seconds默认 600 是总等待上限。三个默认关闭的可选能力按需打开即可互不影响主流程comments每个作品额外生成*_comments.jsoninclude_replies控制是否拉二级回复max_comments为 0 表示不限量transcript只对视频作品生效图文不生成。开启后默认先用 ffmpeg 本地抽出单声道 mp3 再上传规避 25 MiB 单文件上限密钥走环境变量OPENAI_API_KEY状态记录在数据库transcript_job表notifications支持 bark / telegram / webhook 三类推送单路失败不阻断下载。高频问题与判定口径这四条覆盖了实际使用中反复出现的疑问每条给出可操作的判定口径。主页只抓到少量作品先确认browser_fallback.enabled: true且headless: false浏览器弹窗出现后手动完成验证、等翻页完成再关窗。若仍受限属于接口风控边界见上文当前限制换 Cookie 或重试解决不了。这条作品为什么被重新下载了对照三重判定本地文件命中→跳过本地缺失且redownload_missing_files: true→重下本地缺失、补下关闭但库里有有效记录→跳过。所以文件不见了本身就会触发重下这是设计行为而不是 bug。Cookie 失效了重跑一遍python -m tools.cookie_fetcher --config config.yml登录完成后自动写回配置。环境里想临时覆盖配置支持四个环境变量DOUYIN_COOKIE、DOUYIN_PATH、DOUYIN_THREAD、DOUYIN_PROXY优先级高于 config.yml 里的同名字段适合跑在别人的机器上时不动配置文件。增量加去重加兜底的价值在长期每次重跑只处理差量本地库可以低维护地持续积累。这个工具适合个人学习、研究与数据备份场景下载内容请确认用途合法尊重创作者的版权与劳动成果并遵守平台的服务条款与规则。【免费下载链接】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),仅供参考

相关新闻

cppcheck 静态分析:incorrectStringBooleanError 与 incorrectCharBooleanError——字符串/字符字面量被误用为布尔条件

cppcheck 静态分析:incorrectStringBooleanError 与 incorrectCharBooleanError——字符串/字符字面量被误用为布尔条件

开发工具静态分析代码质量质量保障 【免费下载链接】cppcheck static analysis of C/C code 项目地址: https://gitcode.com/gh_mirrors/cpp/cppcheck 点击查看 免费下载 导读 本篇文章围绕 cppcheck 检查器 incorrectStringBooleanError(及其字符字面…

2026/10/4 1:54:38 阅读更多 →
diagrams Custom 自定义节点指南:用任意图片快速绘制自定义架构图

diagrams Custom 自定义节点指南:用任意图片快速绘制自定义架构图

diagrams Custom 自定义节点指南:用任意图片快速绘制自定义架构图 【免费下载链接】diagrams :art: Diagram as Code for prototyping cloud system architectures 项目地址: https://gitcode.com/GitHub_Trending/di/diagrams diagrams 是一个「图即代码」&…

2026/10/4 1:54:38 阅读更多 →
深入解析 jQuery Treeview 树形插件:OpenEMR 中的嵌套列表树状导航实践

深入解析 jQuery Treeview 树形插件:OpenEMR 中的嵌套列表树状导航实践

医疗健康后端 【免费下载链接】openemr The most popular open source electronic health records and medical practice management solution. 项目地址: https://gitcode.com/GitHub_Trending/op/openemr 点击查看 免费下载 导读 本文围绕 OpenEMR 仓库中内置的…

2026/10/4 1:54:38 阅读更多 →

最新新闻

Python购物商城毕设源码详解:Flask+MySQL部署与避坑指南

Python购物商城毕设源码详解:Flask+MySQL部署与避坑指南

简介:基于Python的购物商城管理系统毕业设计项目,包含完整源码与数据库,面向计算机专业毕业论文设计学生及需要项目实战练习的学习者,也可直接用于课程设计或期末大作业参考。项目经导师指导评审,最终得分98分&#xf…

2026/10/4 5:17:45 阅读更多 →
OpenShell实战:从终端增强到可迁移的主力终端配置

OpenShell实战:从终端增强到可迁移的主力终端配置

1. 为什么我要把OpenShell从“小玩具”调教成“主力终端”最早接触OpenShell那会儿,我其实没抱多大期待。终端里各种增强工具见多了,无非是换个提示符配色、加点补全、塞几个Git别名,玩两三天就腻了。真正让我对它改观的,是一次连…

2026/10/4 5:17:45 阅读更多 →
激光雷达与相机紧耦合碰撞检测实战指南

激光雷达与相机紧耦合碰撞检测实战指南

1. 项目概述:为什么“激光雷达相机”碰撞检测不是简单拼凑,而是必须融合的刚需在自动驾驶、AGV调度、智能仓储和工业机器人避障场景里,我见过太多团队踩坑——把激光雷达和相机各自跑通后,就以为“融合”完成了。结果一上真实产线…

2026/10/4 5:17:45 阅读更多 →
胶粘结构界面开裂的ANSYS模拟:内聚力模型与参数标定实践

胶粘结构界面开裂的ANSYS模拟:内聚力模型与参数标定实践

胶粘结构用久了,最怕的不是肉眼看得见的变形,而是界面内部悄悄裂开。我在做连接件强度评估时遇到一个典型工况:上下两端面被刚性固定,中间靠胶层传递载荷,某次试验后界面边缘出现裂纹。后续的分析工作就锁定在“界面上…

2026/10/4 5:17:45 阅读更多 →
MATLAB警告“名称不存在或不是目录”的完整排查指南

MATLAB警告“名称不存在或不是目录”的完整排查指南

2. 警告的成因与运行机制警告: 名称不存在或不是目录2.1 MATLAB 名称解析原理MATLAB 在运行脚本或函数时,需要解析代码中引用的每一个名称。这个解析过程遵循一套固定的搜索顺序,和操作系统查找可执行文件的逻辑很像,只不过 MATLAB 把“路径”…

2026/10/4 5:17:45 阅读更多 →
JSP+Servlet+MySQL纯原生博客系统实战指南

JSP+Servlet+MySQL纯原生博客系统实战指南

简介:这是一套基于JSPServletMySQL实现的完整博客系统网站源码,面向Java Web初学者及需要快速搭建轻量级内容平台的开发者,帮助理解MVC分层架构与传统Web开发全流程。资源共327个文件,包含49个JSP页面(负责前端展示与简…

2026/10/4 5:16:45 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →