抖音批量下载实操: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-downloaderdouyin-downloader 是一个面向单条作品与主页批量场景的抖音下载工具,支持无水印下载视频、图文、合集与音乐(原声),并提供进度显示、失败重试和基于 SQLite 的去重记录。本文从一个批量保存的真实需求出发,带你走完从安装、Cookie 认证到一次完整下载任务的全过程,并说明文件落盘规则和当前的使用边界。从一次批量保存需求说起假设你想把某位创作者最近的五十个作品存到本地做素材分析:手动方式意味着逐个复制链接、逐个保存,文件名各不一致,第二次运行又会重复下载已有的内容。douyin-downloader 处理这类需求的方式是:解析你提供的主页链接,按 mode 指定的内容类型翻页拉取作品,下载前先检查本地是否已有对应文件,文件按作者目录分开放置,并把每次任务写进 SQLite 数据库,方便以后查询和统计。项目有两种形态。命令行版只支持抖音,提供批量下载、日期筛选、失败重试、下载历史,以及可选的评论采集、视频转写和完成通知;Douzy 桌面版覆盖抖音、TikTok、YouTube、Telegram、X,粘贴链接即可提交任务,并在界面里查看进度和管理本地作品档案,适合日常下载使用。安装 douyin-downloader 与 Cookie 认证怎么配置命令行版需要 Python 3.9,支持 Windows、macOS 和 Linux。安装步骤如下:git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader python -m pip install -r requirements.txt python -m pip install playwright python -m playwright install chromium其中 Playwright 是浏览器兜底功能依赖的组件,后面会提到它在什么情况下起作用。装好后把示例配置复制为正式配置:Linux/macOS 用cp config.example.yml config.yml,Windows PowerShell 用Copy-Item config.example.yml config.yml。认证用内置的 Cookie 获取工具完成,它位于 tools/ 模块:运行python -m tools.cookie_fetcher --config config.yml后,浏览器会打开抖音登录页,登录完成回到终端按 Enter,Cookie 就会写入配置文件。如果你手头已有一份有效 Cookie,也可以直接编辑config.yml中的cookies字段(msToken、ttwid、odin_tt 等)手动填入。所有认证信息只保存在本地,不上传任何服务器。一次完整的主页批量下载任务实操改好配置后运行即可。一份最精简的配置长这样:link: - https://www.douyin.com/user/YOUR_SEC_UID path: ./Downloaded/ mode: [post] number: post: 10 # 0 表示不限数量 increase: post: true # 跳过已下载作品把link换成目标博主的主页地址,然后执行python run.py -c config.yml。常用命令行参数如下:参数用途-c, --config指定配置文件-u, --url追加链接,不替换配置中的链接,可重复使用-p, --path下载目录-t, --thread并发下载数-v, --verbose输出详细日志全部参数可用python run.py --help查看。下载过程有实时进度显示,失败条目会按retry_times自动重试。任务完成后,磁盘上的产物包括:按作者分目录的视频文件(可选的封面、背景音乐、头像和元数据 JSON,取决于cover、music、json等开关)、一份逐行记录每条作品信息的download_manifest.jsonl清单,以及 SQLite 数据库dy_downloader.db。第二次运行同一份配置时,已存在的作品会被自动跳过,不用手动整理。关键配置项怎么调:模式、数量、时间范围与画质mode决定下载哪类内容,可用值包括post(用户发布的作品)、like(用户点赞的内容)、mix(用户合集)、music(音乐原声)、collect(收藏夹内容)。每种模式都有对应的number和increase子项,number设为 0 表示不限量,increase设为 true 则启用该模式的增量下载。时间筛选用start_time/end_time,格式为YYYY-MM-DD,包含结束日期当天;想限定最近 100 条就配合number.post使用。画质由video_quality控制,默认highest(最高转码档),设为original会尝试探测上传原片、失败时回退,也可以直接指定1080p、720p等分辨率,匹配不到时自动降级到最接近的档位。并发与重试相关的参数:thread(默认 5)控制并行下载数,retry_times(默认 3)控制单条失败的重试次数,proxy可填代理地址,网络受限时配合降低thread使用。当 API 翻页受风控限制时,browser_fallback会启动 Playwright 浏览器补充抓取:常用组合是enabled: true、headless: false(保持窗口可见以便你手动完成验证)、max_scrolls: 240、idle_rounds: 8、wait_timeout_seconds: 600。其余可选能力都在 config.example.yml 中:评论采集(comments块,支持include_replies、max_comments);视频转写(transcript块,默认模型gpt-4o-mini-transcribe,输出txt或json);完成通知(notifications块,支持 bark、telegram、webhook 三类推送);日志精简(progress.quiet_logs)。完整的下载与解析逻辑在 core/ 目录,配置加载在 config/ 目录,想改行为前可以先看这两处源码。文件如何落盘,重复作品怎么跳过默认folderstyle: true,每个作品一个独立文件夹,目录结构是:下载根目录下先按作者分目录,再按模式(post/ 等)分层,作品文件夹名为发布日期_作品标题_作品ID,日期取自作品发布时间create_time,缺失时回退为当天日期并记录告警。文件名由filename_template控制,默认{date}_{title}_{id},可用变量包括{id}、{title}、{author}、{date}、{year}、{type}、{mode}等,模板中至少要包含{id}避免重名覆盖。作者目录命名由author_dir决定:nickname(默认,直观但重名会合并)、sec_uid(稳定唯一但不直观)、nickname_uid(两者兼顾,重度使用建议选它);切换只影响后续下载,不会迁移已有目录。跳过判断主要看磁盘上的非空主媒体文件,而不是数据库:增量下载命中时直接跳过,缺失或为空则重新下载。redownload_missing_files控制缺失时的行为,默认true;设为false后,只要数据库里还有有效的下载记录就继续跳过。SQLite 数据库(默认开启,库文件dy_downloader.db)包含aweme(作品明细、作者、时间、保存路径)和download_history(每次任务的 URL、总数、成功数、配置快照)两张表,你可以用 SQL 查询下载历史做统计。注意数据库只负责记录,关掉它(database: false)不影响增量跳过,只是不再写历史。使用限制与常见问题先说明当前边界:自 2026-08 起,抖音风控已陆续覆盖作品详情、主页作品、合集、音乐与点赞/收藏接口,命令行版的上述多数能力在 CLI 中已不可用,主页作品可尝试 Playwright 浏览器兜底,但不保证成功;更新 Cookie 或反复重试解决不了这类风控问题。日常下载建议使用 Douzy 桌面版。直播录制属于实验功能,HLS 源仅保存播放列表,不是可直接播放的视频。几个高频问题的处理方式:Cookie 失效时,重新运行python -m tools.cookie_fetcher --config config.yml即可;主页只抓到少量作品时,保持browser_fallback.enabled: true且headless: false,在弹出的浏览器里自行完成验证,但当前风控仍可能阻断下载;下载过程想追踪细节时加-v参数运行。另外项目还提供几个附加入口:python run.py --hot-board 30拉热搜榜、python run.py --search 关键词 --search-max 50做关键词搜索(结果输出为 JSONL),安装 fastapi 和 uvicorn 后可用python run.py --serve --serve-port 8000起一个 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),仅供参考

相关新闻

TVBox 增强版配置实战:94 个片源 JSON 组织与优化

TVBox 增强版配置实战:94 个片源 JSON 组织与优化

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

2026/9/25 1:42:39 阅读更多 →
如何快速点亮TM1650四位数码管?快速开始指南:3行代码显示你的第一个数字

如何快速点亮TM1650四位数码管?快速开始指南:3行代码显示你的第一个数字

如何快速点亮TM1650四位数码管?快速开始指南:3行代码显示你的第一个数字 【免费下载链接】CupCode_TM1650模块 源师兄扩展项目: TM1650 | 由源师兄组织创建 项目地址: https://gitcode.com/yuanshixiong/tm1650-led-driver TM1650四位数码管是源师…

2026/9/25 1:42:39 阅读更多 →
VMware Workstation 17 下载安装全攻略:从官网下载到虚拟机部署

VMware Workstation 17 下载安装全攻略:从官网下载到虚拟机部署

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

2026/9/25 1:42:38 阅读更多 →

最新新闻

ng-zorro-antd Cascader 搜索功能实战:从 nzShowSearch 到自定义 filter/sorter

ng-zorro-antd Cascader 搜索功能实战:从 nzShowSearch 到自定义 filter/sorter

UI组件前端 【免费下载链接】ng-zorro-antd Angular UI Component Library based on Ant Design 项目地址: https://gitcode.com/gh_mirrors/ng/ng-zorro-antd 点击查看 免费下载 导读 本文围绕 ng-zorro-antd 级联选择组件(Cascader)的搜索…

2026/9/25 3:53:03 阅读更多 →
用 acbuild 构建 ACI 并在单 Pod 中运行:rkt 的 PostgreSQL + Play Framework 组合镜像示例深度解析

用 acbuild 构建 ACI 并在单 Pod 中运行:rkt 的 PostgreSQL + Play Framework 组合镜像示例深度解析

容器运行时云原生网络 【免费下载链接】rkt [Project ended] rkt is a pod-native container engine for Linux. It is composable, secure, and built on standards. 项目地址: https://gitcode.com/gh_mirrors/rk/rkt 点击查看 免费下载 本指南基于 rkt 仓库 Doc…

2026/9/25 3:53:03 阅读更多 →
4PAM通信仿真:MATLAB代码到Simulink模型迁移调试全记录

4PAM通信仿真:MATLAB代码到Simulink模型迁移调试全记录

做通信仿真这几年,我一直有个习惯:先拿MATLAB脚本把算法跑通,再挪到Simulink里搭模型。这次手搓4PAM的发射接收链路,本来以为就是个“搬砖活”,结果硬是从代码到模型折腾了一整天,编译报错、波形不显示、误…

2026/9/25 3:53:03 阅读更多 →
医疗器械包装验证方案全解析:密封强度、微生物屏障与加速老化避坑指南

医疗器械包装验证方案全解析:密封强度、微生物屏障与加速老化避坑指南

简介:一份面向医疗器械研发、注册与质量控制人员的包装完整性验证方案文档,对应 YY/T0681.1、YY/T0313 等标准要求,可直接用于包装系统符合性评价与试验记录整理。文档共 1 个 doc 文件,压缩包大小约 80KB,虽体量不大&…

2026/9/25 3:53:03 阅读更多 →
2026低空经济风口已至!襄阳想学无人机怎么选?星辰航空真实学员案例告诉你答案

2026低空经济风口已至!襄阳想学无人机怎么选?星辰航空真实学员案例告诉你答案

最近低空经济热度持续走高,无人机测绘、电力巡检、商业航拍、农田植保等岗位需求不断增加,不少襄阳本地朋友都在问:襄阳无人机培训哪家好?襄阳无人机培训哪家靠谱?襄阳无人机培训哪家专业?襄阳无人机培训哪…

2026/9/25 3:53:03 阅读更多 →
新疆价钱合理的石墨水泥基改性聚氨酯复合防火保温板厂家避坑挑选指南

新疆价钱合理的石墨水泥基改性聚氨酯复合防火保温板厂家避坑挑选指南

在新疆做外墙保温、墙体保温工程,挑选石墨水泥基改性聚氨酯复合防火保温板厂家,最怕遇到价格虚高、质量不稳、交付延期、检测不合格这些问题,不少施工方都踩过小厂家的坑:要么报价看着低,实际拿到的产品偷工减料厚度不…

2026/9/25 3:52:02 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →