用 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 基于 Python只要你的电脑装了 Python 3.8 及以上版本其余都不难。先把项目克隆到本地再安装依赖# 克隆项目到当前目录 git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader # 安装依赖国内网络慢的话可加 -i 指定镜像源 pip install -r requirements.txt装完依赖后复制一份配置文件作为你的工作配置。项目根目录下的config.example.yml是官方提供的精简示例注释里写清了每个选项的作用直接以它为起点最稳妥cp config.example.yml config.yml避坑提示如果你计划用到浏览器兜底后面会讲是用来对抗翻页风控的或者想自动获取 Cookie还需要额外安装 Playwrightpip install playwright python -m playwright install chromium这两行可以先不装等遇到只能抓到 20 条这种典型情况时再补也不迟。第二步身份认证不用再手动抠 Cookie 字符串抖音的内容接口需要登录态也就是 Cookie。很多类似工具会要求你打开浏览器开发者工具从请求里手工复制一长串 Cookie 粘进配置——既不直观又容易抄漏。douyin-downloader 提供了一个自动获取脚本你只需要在终端跑一条命令python -m tools.cookie_fetcher --config config.yml程序会自动打开一个浏览器窗口你像平时一样扫码或输账号登录抖音登录完成后回到终端按一下 Enter程序会把拿到的登录态自动写回config.yml全程不需要手动复制粘贴。如果你更喜欢自己掌控也可以在配置里直接粘贴整串 Cookie 字符串或按键值对填msToken、ttwid、odin_tt等字段。两种方式任选官方配置注释里有详细的写法对照。避坑提示Cookie 是有时效的隔一段时间失效很正常。失效后重新跑一遍上面的命令即可程序内置的登录失效检测会在下载中途发现登录态过期时提示你重新登录不用整个重来。第三步第一单先下载一条视频试试水认证搞定后先用最小成本验证整个流程。在config.yml的link位置放上任意一条抖音视频链接link: - https://www.douyin.com/video/1234567890123456789 path: ./Downloaded/ # 所有文件都存到这里然后运行python run.py -c config.yml终端会实时显示下载进度、线程数、跳过项和耗时统计。我第一次跑的时候大约十几秒就拿到了视频文件同目录下还自动生成了封面图、背景音乐和一份 JSON 元数据。看到上面这个界面说明链路已经打通接下来就可以上批量了。第四步批量抓取主页作品点赞合集一次收齐单条验证通过后把link换成创作者主页地址并声明要抓取的模式。这是 douyin-downloader 最有价值的部分——一条命令代替成百上千次手动点击link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post # 该创作者发布的作品 - like # 他点赞过的作品 - mix # 他创建的合集 - music # 他用过的原声音乐 number: post: 50 # 每种模式最多下载多少条0 表示不限制 like: 20 mix: 0 music: 0mode数组可以自由组合只想要作品就只留post。number用来控制数量归档常用0全部日常追更建议设一个上限。运行方式和刚才完全一样python run.py -c config.yml程序会按并发数默认 5 个线程同时下载配合失败自动重试和速率限制整体速度相当稳。抓取大量内容时终端会像下面这样同时推进多条进度条每一条对应一个文件避坑提示主页翻页偶尔会遇到平台风控表现是只能抓到 20 条。这时需要开启配置里的browser_fallback选项程序会拉起浏览器模拟真实用户滚动翻页弹窗出现后你手动过一下验证码即可不要急着关窗口。这一机制目前对post模式验证最完整其他模式主要依赖 API 正常分页。第五步规范的目录与命名文件多了也不乱批量下载最大的隐患不是下不下来而是下完找不着。douyin-downloader 默认按作者名 → 模式 → 作品三级组织文件每个作品单独一个文件夹里面按需存放视频/图片、封面、音乐、头像和 JSON 元数据Downloaded/ └── 创作者昵称/ ├── post/ │ └── 2024-02-07_作品标题_aweme_id/ │ ├── 2024-02-07_作品标题_aweme_id.mp4 │ ├── ..._cover.jpg │ ├── ..._music.mp3 │ └── ..._data.json ├── like/ ├── mix/ └── music/文件名前缀取自作品的发布时间而不是下载时间方便按日期排序回顾标题里带着aweme_id方便日后去重和回溯。如果你有自己习惯的命名方式还可以用filename_template和folder_template自定义模板比如{date}_{title}_{id}。除了文件系统工具还会在根目录生成一份download_manifest.jsonl下载清单记录每一条作品的日期、标题、标签和保存路径相当于给整个资源库建了个目录索引。第六步增量更新让追更变成例行公事资源库建好后真正的日常需求是只下载新增内容。如果每次全量重跑既浪费时间又浪费空间。douyin-downloader 用两层机制解决这个问题SQLite 数据库去重每次下载都会把作品的aweme_id记进本地数据库默认dy_downloader.db本地文件检查下载前扫描目标目录文件名里已存在对应aweme_id的自动跳过。两者结合重复下载被拦在源头。配合增量开关就能实现只拉新的increase: post: true # 发布作品只下载新增 like: true mix: true music: true database: true # 增量依赖数据库记录务必保持开启想查看下载历史直接查数据库即可例如列出最近下载的 20 条作品sqlite3 dy_downloader.db SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;避坑提示想重新下载某个作品时记得本地文件和数据库记录要一起清理——只删文件不删记录会触发重新下载只删记录不删文件则不会因为程序会先扫本地文件名。第七步从归档到进阶直播回放、评论与通知当你熟练掌握了基础下载可以按需点亮几个进阶能力。它们都写在官方文档和源码目录里按需启用即可。直播回放录制把链接换成直播间地址配置录制时长主播下播后已录内容会自动保留link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 录制上限0 录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30录制结果保存在Downloaded/{作者}/live/目录下并附带直播间元数据快照适合用来沉淀知识分享类直播。评论采集开启后每个作品旁会生成*_comments.json适合做内容分析和选题参考comments: enabled: true include_replies: false max_comments: 0 # 0 不限 page_size: 20热搜与搜索不依赖配置文件直接命令行输出热搜榜或关键词结果到 JSONL 文件# 拉取抖音热搜榜前 30 条 python run.py --hot-board 30 -p ./Downloaded # 搜索猫咪相关内容最多 100 条 python run.py --search 猫咪 --search-max 100 -p ./Downloaded完成通知下载结束推送到 Bark、Telegram 或企业微信 Webhook适合长时间批量任务挂机场景跑完自动提醒不用一直盯屏幕。不想碰命令行桌面版 Douzy 了解一下如果你更习惯图形界面项目还提供了一个基于同一套后端的桌面版客户端 Douzy目前处于内测阶段。粘贴链接、勾选下载内容即可开始左侧导航集成了关注同步、任务中心、作品档案和设置等功能对于命令行陌生的用户桌面版的学习成本明显更低但它和你前面搭好的 CLI 环境共用同一套下载逻辑归档结果、SQLite 记录完全互通随时可以在两种方式之间切换。让资源库滚动起来从备份到日常维护至此你已经走完了建库—批量—增量—进阶的完整闭环。把这一切串成一个可长期执行的习惯建议按下面这个节奏来每周用增量模式更新你关注的创作者只拉新增内容每月整理一次直播回放把有价值的转存归档其余清理定期把重要资源备份到移动硬盘或云盘别把鸡蛋放在一个篮子里需要时用数据库和download_manifest.jsonl检索历史内容而不是翻文件夹。关于更详细的配置项说明可以直接看仓库里的config.example.yml每个选项都有注释和USAGE.md想研究实现原理的话core/目录下是下载器与 API 客户端的核心源码。整个项目采用 MIT 协议开源二次开发和功能定制都有空间。最后想多说一句工具本身没有立场关键在怎么用。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),仅供参考