news 2026/8/18 2:36:07

抖音批量下载实操手册:用 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 就是为你准备的。它支持单条视频、图文、合集、音乐下载,也能一键批量抓取作者主页,自带去重、进度展示和浏览器兜底,特别适合内容收藏爱好者和自媒体从业者。

一、动手之前:先摸清这套工具的能力边界

一句话讲清它是什么

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

服务提供四个核心接口,提交一个链接就能拿到任务状态:

MethodPath说明
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: trueheadless: 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;"

建议的上手路线

  1. 第一天:跑通单条视频下载,确认配置和网络没问题;
  2. 第一周:尝试作者主页的post模式,开启increasedatabase,体会增量下载的威力;
  3. 进阶期:玩转直播录制、评论采集和通知推送;
  4. 自动化期:研究 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),仅供参考

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

基于大语言模型智能体协作的自动化多选题生成与评估系统实践

1. 项目概述:当大模型“科学家”学会协作最近在折腾一个挺有意思的课题:如何让多个大语言模型(LLM)智能体像一支训练有素的科研团队一样协同工作,去完成一项具体的科学任务。这个想法源于一个很实际的痛点:…

作者头像 李华
网站建设 2026/8/18 2:35:14

实战解析SPY期权Gamma分布:从数据计算到机构视角解读

最近在跟踪期权市场数据时,发现很多朋友对“Gamma”这个指标既熟悉又陌生。熟悉是因为常听人提起“Gamma挤压”、“Gamma风险”,陌生则是面对海量的希腊字母数据,不知道如何从中提取有效信息,更不清楚机构投资者到底在关注什么。本…

作者头像 李华
网站建设 2026/8/18 2:34:14

从奔驰高管任命看汽车行业人才流动与本土化战略新趋势

1. 从一则人事任命看汽车行业高管流动的底层逻辑今天早上,一则人事变动消息在汽车圈内传开:杨铭将出任北京奔驰销售公司总裁兼CEO。这看似是一则常规的企业高管任命新闻,但对于我们这些长期观察汽车行业,尤其是豪华品牌在华运营的…

作者头像 李华
网站建设 2026/8/18 2:32:50

【单片机毕业设计推荐】基于 STM32 或 51 单片机的水质多参数监测与自动换水控制系统设计 基于 STM32 或 51 单片机的水体 PH、温度、浊度智能监测装置设计(021506)

文章目录20 个相关毕业设计备选题目项目研究背景摘要总体方案核心功能一、数据采集基础功能二、本地配置与显示功能三、报警与自动控制核心功能四、蓝牙移动端交互功能技术路线项目演示关于我们项目案例源码获取温馨提示:本人主页置顶文章(点我)有 CSDN 平台官方提供…

作者头像 李华
网站建设 2026/8/18 2:23:40

9张新面孔:蓝调低腰成年时装提示词

五联封面只展示统一蓝调,不复用同一张脸;正文九张图覆盖九种人物身份、地点与镜头。 摘要| 同一类蓝色牛仔裤与成年百褶裙,不该每次都长成同一个人。这组九图明确使用九位年轻、漂亮、身形修长的亚洲成年女性,并为每张…

作者头像 李华
网站建设 2026/8/18 2:22:39

汽车产品规划揭秘:新增车型背后的市场定位与配置博弈

1. 从一则新车上市消息,聊聊“新增车型”背后的市场逻辑今天看到一条汽车资讯,标题是“观致3 1.6L新增车型上市 售价12.09万”。乍一看,这似乎只是一条平平无奇的产品线更新新闻,无非是某个车系多了一个配置选择。但作为一名在汽车…

作者头像 李华