news 2026/9/18 13:19:56

douyin-downloader 上手笔记:抖音视频无水印下载与主页批量抓取

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 是一个值得试的命令行工具:它从抖音服务端直接拉取原始文件,做抖音无水印下载,视频、图文、合集、音乐和作者主页作品都可以批量抓下来。整体是 Python 加 YAML 配置文件的形态,内置并发、重试和去重。这篇笔记按从零跑通到日常使用的顺序讲一遍,并附上容易踩到的坑。

它能做什么,边界在哪里

使用方式很直接:给它一条抖音链接,它把对应内容下载下来并把文件整理好。支持的链接类型包括单个视频、单个图文、单个合集、单个音乐、短链和作者主页。主页场景通过配置文件里的mode字段选模式:post(发布作品)、like(点赞)、mix(合集)、music(音乐),另外还能抓取当前登录账号的收藏夹与收藏合集,这两种 collect 模式需要单独使用,不能和别的模式混配。

几个值得了解的机制:

  • 无水印优先:自动选无水印源,并从码率数组里挑最高码率
  • 双重去重:SQLite 数据库加本地文件检查,重跑时跳过已有作品,不重复占盘
  • 并发与限速:默认 5 线程、每秒 2 个请求,失败按指数退避重试
  • 附加资源:封面、原声音乐、作者头像、JSON 元数据可开关,评论采集、直播录制、视频转写也都是可选项

对不写代码的人来说,这个工具的价值集中在两件事:把某人的作品批量拿下来,以及让下载内容有条理地摆放。

最短跑通路径:安装、Cookie 与首次运行

安装依赖并获取 Cookie

需要 Python 3.8 以上,Windows、macOS、Linux 都行。克隆仓库并装依赖:

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt

抖音的内容接口需要登录态,所以下一步是拿 Cookie。项目自带自动获取脚本(先装上可选依赖 playwright 和 chromium 浏览器),运行后弹出浏览器,用手机登录,回终端按回车,Cookie 就写进配置文件了:

python -m tools.cookie_fetcher --config config.yml

Cookie 的存放与 token 刷新逻辑在 auth/ 模块里,平时不用手动动它。

最小配置文件

按官方文档,把仓库里的 config.example.yml 复制为 config.yml。最小可用配置只需要这几个字段:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post thread: 5 database: true

link是下载目标,mode选主页模式,thread是并发数,database: true打开去重和下载历史。保存后执行python run.py -c config.yml即可开始任务,也可以用命令行-u直接追加链接、用-t调并发。

一次运行之后发生了什么:文件、去重与进度

目录结构与文件命名

folderstyle: true(默认)时,文件按"作者名 → 模式 → 单个作品子目录"组织,文件名带作品发布日期、标题和 aweme_id。一个作品的目录里并排放着视频、封面、音乐、头像和 JSON 元数据,Downloaded 根目录还有一份download_manifest.jsonl清单,每个作品一行,方便日后批量查找。

终端里用进度条展示总体进度,progress.quiet_logs默认开启,下载阶段会压住日志输出,避免刷屏。

两个常见坑

坑一:只能抓到二十来条作品。这是翻页风控的典型表现。把配置里browser_fallback.enabled保持trueheadless保持false,弹出浏览器窗口后手动完成验证码,别立刻关窗,否则兜底就白开了。

坑二:Cookie 失效或大量 403。多数情况是 Cookie 过期,重跑上面的获取命令更新即可。另外要留意:截至本文写作时,抖音已对作品详情、合集、音乐等接口上线风控门禁,CLI 里直接请求单个作品、合集、音乐类链接可能拿不到数据,主页作品则依赖浏览器兜底。这一限制的背景在 README.zh-CN.md 的"限制说明"一节写得比较细;同后端还有一款内测中的桌面版 Douzy,能绕过其中部分限制,值得一试:

长期使用前的注意事项

几个进阶配置值得知道

日常用得最多的几项都在配置文件里:

number: post: 50 increase: post: true start_time: "2024-01-01" end_time: "2024-12-31"

前两段的意思是只取前 50 条发布作品、后续运行只取新增;后两段按发布日期过滤。此外comments.enabled: true会为每个作品生成评论 JSON;命令行还带--hot-board--search两个小工具,分别抓热搜榜和按关键词搜作品,输出都是 JSONL。想了解内部结构(URL 解析、下载器工厂、存储层),PROJECT_SUMMARY.md 里有现成的梳理,看一遍就够。

使用边界

工具适合个人存档、学习和研究场景,下载内容仅限个人观看,不要用于再分发或商业用途。批量下载时把并发数和运行频率控制在合理范围,既影响体验,也避免给对方服务造成不必要压力。下载任务多起来之后,建议放到可视化界面里管理:桌面版任务中心能看到每个任务的状态,失败项可以直接重试:

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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 13:16:53

7 款免费开源 PDF 工具实测指南:Acrobat 替代品怎么选

7 款免费开源 PDF 工具实测指南:Acrobat 替代品怎么选 【免费下载链接】Adobe-Alternatives A list of alternatives for Adobe software 项目地址: https://gitcode.com/GitHub_Trending/ad/Adobe-Alternatives PDF 订阅费不便宜,安装包也不小&a…

作者头像 李华
网站建设 2026/9/18 13:16:25

Python+OpenGL绘制3D模型(六)材质文件载入和贴图映射

系列文章 基础 Python+OpenGL绘制3D模型(一)Python 和 PyQt环境搭建 Python+OpenGL绘制3D模型(二)程序框架PyQt5 Python+OpenGL绘制3D模型(三)程序框架PyQt6 Python+OpenGL绘制3D模型(四)绘制线段 Python+OpenGL绘制3D模型(五)绘制三角型 Python+OpenGL绘制3D模型(…

作者头像 李华
网站建设 2026/9/18 13:16:18

UltraISO光盘镜像制作与ISO文件系统深度解析

简介:本资源是一份面向初学者与系统维护人员的UltraISO光盘镜像制作实操指南,聚焦解决光盘备份、可启动系统盘创建及ISO文件管理等实际需求。文档以图文结合方式详解核心操作:从插入光盘后通过“工具→制作光盘映像文件”完成标准ISO生成&…

作者头像 李华
网站建设 2026/9/18 13:16:15

基本数据分析和统计描述

(1)首先安装、载入两个拓展包并导入数据#拓展包安装 install.packages(table1) install.packages(lubridate) library(table1) library(lubridate)#载入数据 load(diagnosis.Rdata)(2)进行一些分析前处理#新生成一个分类变量&…

作者头像 李华