抖音批量下载实操手册:用 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 是一个开源的抖音下载工具,核心目标只有一个:把抖音上的内容干净、完整、有秩序地搬到你的硬盘上。和那些只能复制粘贴单个链接的在线工具不同,它更看重"批量"和"管理"这两个词——下载只是起点,去重、归档、历史记录才是它的重头戏。
命令行版与桌面版,两种入口怎么选
项目提供了两套操作入口:适合脚本化操作的命令行版,以及界面化的桌面客户端 Douzy。两者共用同一套下载后端,体验差异主要在交互方式上。
| 对比维度 | 命令行版(推荐) | 桌面版 Douzy |
|---|---|---|
| 适用人群 | 习惯终端、想写自动化脚本的用户 | 喜欢图形界面、点击操作的用户 |
| 功能覆盖 | 全功能,含直播、评论、API 服务 | 主流的下载、任务、档案管理 |
| 批量配置 | 用 YAML 配置文件,可版本化管理 | 界面勾选,所见即所得 |
| 自动化 | 支持--hot-board、--search、--serve | 偏手动操作 |
| 上手成本 | 需要读一点配置说明 | 装好即用 |
如果你第一次接触,建议先用命令行版把流程跑通;等确认这套工具适合自己,再决定要不要换桌面版。
仓库目录速览:找功能时别再迷路
douyin-downloader/ ├── run.py # 程序入口,所有下载都从它开始 ├── config.example.yml # 配置模板,复制一份改成自己的即可 ├── douyin-downloader/ │ ├── core/ # 核心下载逻辑(视频、合集、直播、音乐) │ ├── cli/ # 命令行入口与进度展示 │ ├── auth/ # Cookie 与登录凭证管理 │ ├── config/ # 配置加载与默认值 │ ├── storage/ # SQLite 数据库、文件归档 │ └── utils/ # 命名、通知、校验等公共能力 ├── img/ # 使用截图与示意图 └── requirements.txt # 依赖清单小提示:想深挖某个功能时,顺着core/目录找对应模块就行,比如直播录制看live_downloader.py,合集下载看mix_downloader.py。
二、环境部署三步走,今天就能跑通第一次下载
先别急着配置各种花哨参数,跟着下面三步把最小流程跑起来,你就能直观感受它的工作方式。
第一步:克隆代码、安装依赖
项目要求 Python 3.8 以上,在终端里依次执行:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt如果你后续想用浏览器兜底功能或自动获取 Cookie,再多装一个 Playwright:
pip install playwright python -m playwright install chromium第二步:自动获取登录凭证,绕开手动填 Cookie 的坑
抖音的大部分接口需要登录态,手动复制 Cookie 容易出错也容易过期。项目提供了一个自动化脚本,帮你省掉这一步:
python -m tools.cookie_fetcher --config config.yml运行后会自动打开浏览器,你只需登录一次抖音账号,回到终端按一下回车,程序就会把认证信息写入配置文件。之后 Cookie 失效了,重跑这条命令即可。
第三步:最小配置 + 第一条命令
cp config.example.yml config.yml把配置文件精简成下面这样,就是一个可用的最小方案:
link: - https://www.douyin.com/video/1234567890123456789 path: ./Downloaded/ cookies: auto保存后运行:
python run.py -c config.yml看到进度条开始走动,说明你已经成功跑通了第一次下载。命令行会实时展示当前下载了哪个视频、成功几个、耗时多久,一目了然。
需要注意的是,如果下载数量较大,第一次运行会先抓取作品列表再逐个下载,期间日志可能看起来"卡住了",其实是在拉取数据,耐心等待即可。
三、批量下载:从"单个收藏"升级为"整个主页照单全收"
四种链接,一套命令全覆盖
除了最常见的视频链接,它还支持这些类型,全部放进link:列表即可:
link: - https://www.douyin.com/video/7604129988555574538 # 单条视频 - https://www.douyin.com/note/7341234567890123456 # 图文 - https://www.douyin.com/collection/7341234567890123456 # 合集 - https://www.douyin.com/music/7341234567890123456 # 音乐(原声) - https://v.douyin.com/xxxxx/ # 短链,自动解析下载时会自动优先挑选无水印源,并按码率自动选择最高清版本,视频、封面、音乐、元数据 JSON 会一起归档。
作者主页批量下载:post / like / mix / music 四种模式
把链接换成用户主页地址,再指定模式,就能一次抓取整个主页的内容:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post # 作者发布的作品 - like # 作者点赞过的内容 - mix # 作者创建的合集 - music # 作者使用的音乐 number: post: 50 # 只下载最近 50 个作品,0 表示全量这里有一个很贴心的细节:跨模式会自动去重——同一个作品既出现在post又出现在like里时,只会下载一次,不会白白浪费流量和磁盘空间。
增量下载:重复内容自动跳过,更新收藏像拉取订阅一样简单
这是最值得开启的功能之一。关闭与开启的差别,看这张表就明白了:
| 场景 | 不开增量下载 | 开启增量下载 |
|---|---|---|
| 每周更新一次某博主的作品 | 每次都重新下载全部历史内容 | 只下载新增部分 |
| 重复运行同一条命令 | 反复下载已保存的内容 | 自动跳过,秒级完成 |
| 磁盘空间 | 持续膨胀 | 长期稳定 |
开启方式很简单,两行配置:
increase: post: true like: true database: true # 增量依赖 SQLite 记录,务必开启对应的 SQLite 文件默认生成在dy_downloader.db,它同时承担去重和历史记录两个职责。
时间筛选与归档结构:下载结果整洁可查
只想保存某段时间的内容?用时间过滤:
start_time: "2024-01-01" end_time: "2024-12-31"下载完成后,文件会自动按作者、按模式归档成清晰的目录树:
Downloaded/ └── 作者名/ ├── post/ │ └── 2024-02-07_作品标题_aweme_id/ │ ├── ...mp4 │ ├── ..._cover.jpg │ ├── ..._music.mp3 │ └── ..._data.json ├── like/ ├── mix/ └── music/每个作品独占一个文件夹,视频、封面、音乐、元数据互不混淆,找起来非常方便。
四、直播回放与评论采集:精彩内容不再"错过即失去"
直播录制:下播自动保留,断网不丢数据
错过直播只能等回放?不用。把直播间链接丢给它,就能边看边录:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 表示录到主播下播为止 idle_timeout_seconds: 30录制成果会保存在Downloaded/作者名/live/下,同时生成一份直播间元数据快照。最贴心的是:即使主播突然下播、网络中断或你手动 Ctrl+C 中断,已经录下来的数据也会被完整保留,不会前功尽弃。
需要说明的是,录制格式分为 FLV 与 HLS 两种:FLV 文件录制完即可直接播放;HLS 源目前只保存播放列表文件,需要你用 ffmpeg 做一次后处理才能播放。日常使用建议优先选择 FLV 源。
评论采集:顺手给数据分析留一手
如果你做内容研究或舆情分析,评论采集功能可以直接输出结构化数据:
comments: enabled: true include_replies: false # 设为 true 会多拉二级回复,请求量更大 max_comments: 500 # 0 表示不限条数每个作品会生成一份独立的*_comments.json,和媒体文件放在一起,方便后续导入表格或分析工具。
五、进阶玩法:把下载任务交给机器自动执行
热搜榜与关键词搜索:先找内容,再决定下什么
不想一个个找链接?直接用命令拉取热门内容和搜索结果:
python run.py --hot-board 30 -p ./Downloaded python run.py --search "猫咪" --search-max 100 -p ./Downloaded结果会以 JSONL 格式落到hot_board/和search/目录,你可以先浏览数据,再挑有价值的链接去下载。
REST API 服务模式:把下载能力嵌进自己的系统
如果想让下载功能对接到自己的程序里,可以先安装可选依赖再启动服务:
pip install fastapi uvicorn python run.py --serve --serve-port 8000服务提供四个核心接口,提交一个链接就能拿到任务状态:
| Method | Path | 说明 |
|---|---|---|
| POST | /api/v1/download | 提交{"url": "..."},返回任务 ID |
| GET | /api/v1/jobs/{job_id} | 查询单个任务的状态 |
| GET | /api/v1/jobs | 列出最近的下载任务 |
| GET | /api/v1/health | 健康检查 |
这个模式非常适合定时任务、内容爬取流水线等自动化场景。
完成通知与视频转写:下载完自动告知、自动出稿
下载是异步的,跑批时总不能一直盯着终端。配置通知后,任务完成会推送到你的手机:
notifications: enabled: true on_success: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY除了 Bark,还支持 Telegram 与通用 Webhook(企业微信、飞书、钉钉的机器人地址也能直接用),多个渠道可以同时推送。
更进一步,如果你有 OpenAI 的 API Key,还能开启视频转写,下载完成后自动生成字幕文件*.transcript.txt与*.transcript.json,省去手动听写的功夫。
六、高频问题速查与下一步行动
四个最常见的卡点,先替你踩过了
Q1:为什么只能抓到 20 条作品?这是抖音翻页风控的常见现象。确保配置文件里browser_fallback.enabled: true、headless: false,浏览器弹出后手动完成验证码,别急着关窗口,程序会继续翻页。
Q2:下载速度慢怎么办?先检查并发数和重试参数:
thread: 5 # 网络好可以调大,如 8 retry_times: 3 # 网络波动时自动重试如果仍不理想,可以给proxy配一个 HTTP 代理。
Q3:Cookie 失效了怎么处理?重新执行python -m tools.cookie_fetcher --config config.yml,重新登录一次即可,不用手动改配置。
Q4:如何查看下载历史?直接查 SQLite 数据库:
sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;"建议的上手路线
- 第一天:跑通单条视频下载,确认配置和网络没问题;
- 第一周:尝试作者主页的
post模式,开启increase与database,体会增量下载的威力; - 进阶期:玩转直播录制、评论采集和通知推送;
- 自动化期:研究 REST API 服务模式,把它接入自己的定时任务。
更详细的配置项说明可以参考config.example.yml,完整功能清单和参数表在douyin-downloader/README.zh-CN.md,核心实现源码都在douyin-downloader/core/下,遇到问题顺着模块名就能找到答案。
写在最后:收藏有道,使用有度
把喜欢的内容沉淀到本地,是对"内容资产"的一种打理,但请务必记住:下载的内容仅建议用于个人学习、研究与备份,不要用于商业传播或侵犯他人权益。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),仅供参考