news 2026/9/16 11:44:06

抖音作品批量下载:从单条到全量收藏的完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
抖音作品批量下载:从单条到全量收藏的完整指南

抖音作品批量下载:从单条到全量收藏的完整指南

【免费下载链接】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 的开源抖音批量下载工具:输入单条链接、主页链接或合集链接,即可无水印批量采集作品、图集、合集与原声音乐,并自动按作者和日期整理输出。

2. 能力总览

支持的链接类型

输入输出备注
单视频/video/xxx视频、封面、音乐、JSON 元数据无水印源优先,自动挑最高码率
短链v.douyin.com/...同单视频自动解析真实链接后下载
用户主页/user/xxx发布 / 喜欢 / 合集 / 原声批量下载mode选择模式
合集链接/collection/xxx合集内全部作品兼容/mix/xxx形式
音乐链接/music/xxx使用该音乐的作品优先原声文件
直播链接live.douyin.com/xxxFLV 录制文件实验性,下播时保留已录数据

关键能力

  • 无水印优先:自动选择无水印视频源,画质可在原画与最高转码档之间选择
  • 并发与限速:默认 5 个并发线程、约 2 请求/秒,均可调整
  • 去重与增量:SQLite 数据库与本地文件双重去重,增量模式只取新作品
  • 重试与兜底:失败任务自动退避重试;翻页受限时可切换浏览器兜底,人工过验证
  • 附加资源:封面、音乐、头像、元数据 JSON、评论按需开关

工具以 YAML 配置文件驱动,绝大多数功能靠改几个键就能覆盖;命令行参数可覆盖配置,适合一次性快速任务。桌面客户端 Douzy(内测中)复用同一套后端,提供图形化工作台。

3. 环境准备与首次运行

需要 Python 3.8+,支持 macOS、Linux、Windows。

3.1 克隆与依赖

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

3.2 配置访问凭证(Cookie)

为什么需要 Cookie:抖音接口需要有效登录态才会返回完整作品列表与无水印源,这一步不能省略。获取方式有两种:

  • 自动获取(推荐):内置工具会打开浏览器,你用自己账号登录,回到终端按 Enter 即自动写入配置
  • 手动获取:在已登录抖音网页的浏览器开发者工具里复制 Cookie,粘贴到配置的cookies
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml

如果打算使用浏览器兜底(翻页受限时才需要),再补装:

pip install playwright python -m playwright install chromium

3.3 下载第一个目标

把一条想试的视频链接填进配置的link字段,然后运行:

python run.py -c config.yml

也可以直接在命令行传入链接,并指定输出目录与并发数:

python run.py -c config.yml -u "https://www.douyin.com/video/7604129988555574538" -p ./Downloaded -t 5

运行后终端会显示下载进度条,文件按命名规则存入Downloaded/。想查看更详细的日志,加--show-warnings-v即可。另外也提供了 Dockerfile,习惯容器化的话可以直接构建镜像运行。

4.1 收藏某创作者的全部发布

目的:把一个主页下的作品一次性拉到本地,不用手动翻页。

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 0 # 0 表示不限数量

运行后工具按时间顺序翻页拉取作品列表,默认 5 线程并发下载,封面、音乐按covermusic开关附带保存。默认不抓作者置顶作品,需要的话把download_pinned设为 true。

如果是自己收藏的作品,可以把mode换成collectlink填本人主页链接,工具会取 Cookie 所属账号的收藏夹列表。

4.2 按时间范围筛选作品

目的:只采集某个时间段内的作品,例如 2024 年发布的全部作品。

link: - https://www.douyin.com/user/xxxxx start_time: "2024-01-01" end_time: "2024-12-31"

过滤依据是作品发布时间,区间外的作品不会被请求。时间格式为YYYY-MM-DD,留空即该方向不限制。筛出来的作品同样按发布时间命名,目录天然按时间排好。

4.3 定时增量备份

目的:定期只取新发布的作品,避免重复下载。

database: true increase: post: true

增量模式依赖数据库记录:已入库的作品直接跳过,只有新作品进入下载队列。把它和系统定时任务(比如 cron)配合,每天固定时间跑一次,就能持续归档新发布的作品。若本地文件被人删掉但数据库仍有记录,redownload_missing_files决定是补下还是继续跳过,默认补下。

5. 性能调优与进阶

5.1 调整并发线程数

thread配置控制,默认 5。网络稳定时可以试 10,加快大批量下载;网络一般时建议保持 5,避免频繁超时;不稳定时降到 3 反而更稳。

5.2 混合下载模式

mode: - post - like number: post: 0 like: 50

上面的配置会同时拉取全部发布作品和最近 50 条喜欢作品,跨模式自动去重,同一作品只保存一次。

5.3 自动重试与浏览器兜底

失败请求按 1s、2s、5s 退避自动重试,默认 3 次。主页翻页受限时(比如只能拉到 20 条),把browser_fallback.enabled设为 true,工具会弹出浏览器窗口,你手动通过验证后它再从断点继续翻页。

6. 输出产物说明

默认按「作者—模式—作品」三层组织输出,每个作品一个独立子目录:

Downloaded/ └── 作者名/ └── post/ └── 2024-02-07_作品标题_作品ID/ ├── 2024-02-07_作品标题_作品ID.mp4 ├── 2024-02-07_作品标题_作品ID_cover.jpg ├── 2024-02-07_作品标题_作品ID_music.mp3 └── 2024-02-07_作品标题_作品ID_data.json

命名规则默认是「发布日期_标题_作品ID」,日期取作品发布时间而不是下载时间。去重靠「数据库记录 + 本地文件」双重检查:再次运行时已存在的作品直接跳过,文件缺失才补下。根目录还会写一份download_manifest.jsonl下载清单,每行一个作品的 JSON,方便日后按标签、日期检索。

7. 实现简析

  • core/api_client.py— 负责抖音接口请求、签名处理与无水印源挑选
  • core/url_parser.pycore/downloader_factory.py— 识别链接类型并选择下载执行器
  • core/user_modes/— 发布、喜欢、合集、音乐、收藏夹等模式的下载策略
  • auth/cookie_manager.py— Cookie 的加载、解析与写入
  • control/rate_limiter.pycontrol/retry_handler.py— 速率限制与指数退避重试
  • storage/database.py— SQLite 下载历史与增量去重

8. 常见疑问速答

8.1 下载的视频有水印吗

没有。工具自动优先选择无水印源,画质可选原画或最高码率转码档;原画文件可能比转码档大数倍,可按存储预算选择。

8.2 需要登录抖音账号吗

需要。完整作品列表和无水印源都依赖有效 Cookie,用内置工具扫码登录一次即可自动保存,失效后重跑同一条命令。

8.3 下载速度大概多快

取决于网络。默认 5 线程配置下,100 个视频通常需要约 10-30 分钟,另需加上列表拉取阶段的时间。

8.4 会不会影响账号安全

合理使用一般不会。保持默认限速(2 请求/秒)、不盲目拉高并发即可降低风险;遇到验证弹窗时手动通过就行。

8.5 一次能下多少个作品

number: 0即不限。作品量上千的账号建议分批运行或开启浏览器兜底,避免翻页受限中途截断。

9. 合规边界

本工具仅用于个人学习、研究与自有数据管理。请尊重内容版权,不要将下载的作品用于商业再分发,并遵守平台规则与相关法律法规。

  • 仅用于个人学习研究,不用于商业二次创作或传播
  • 尊重他人隐私,不批量抓取涉及隐私的内容
  • 控制下载频率,不给平台服务器造成过大压力
  • 接口策略变化导致功能失效属于正常技术风险,随项目更新跟进

10. 行动清单

  1. 克隆仓库并执行pip install -r requirements.txt安装依赖
  2. 复制config.example.ymlconfig.yml
  3. 运行python -m tools.cookie_fetcher --config config.yml,在浏览器完成登录
  4. link填一条单视频链接,运行python run.py -c config.yml跑通首个任务
  5. 确认输出无误后,再换成主页链接尝试批量模式,最后开启增量并配置定时任务

跑通第一个任务后,再逐步尝试批量与增量功能,配合时间过滤,让它匹配你自己的收藏节奏。

【免费下载链接】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/16 11:43:16

UC1698与Arduino电表显示实践:从接线到刷新策略

简介:一套面向UC1698液晶控制器的电表显示方案资料,适合嵌入式开发者和Arduino/STM32爱好者,用于实现电表图形界面的驱动与定制,尤其适用于智能电表、工业仪表等需要图形显示的场景。方案将UC1698与Arduino、STM32平台结合&#x…

作者头像 李华
网站建设 2026/9/16 11:42:58

企业财务报表勾稽关系:利润表与资产负债表的深度解析

1. 利润表与资产负债表的勾稽关系解析在企业财务的三张主表中,利润表与资产负债表之间存在着天然的"血缘关系"。这种联系主要通过所有者权益项目实现——利润表中的净利润会通过"未分配利润"科目进入资产负债表的所有者权益部分。但二者的关联远…

作者头像 李华
网站建设 2026/9/16 11:42:37

YuE开源AI音乐生成:双大模型实现歌词到完整歌曲

1. 这个项目到底做了什么:从“YuE”拆解核心定位如果你是搞AI生成内容这一挂的,最近大概率刷到过“YuE”这个词。老实说,我第一次看到这个缩写的时候也愣了一下,以为是某个搞音乐的虚拟偶像,或者是某个视频平台的滤镜代…

作者头像 李华
网站建设 2026/9/16 11:39:35

PHP性能优化实战:深入Zend引擎核心原理与调优技巧

做PHP开发这么多年,我一直觉得有个问题特别有意思:同一个项目,有的人服务器扛500并发就喘,换个懂行的人调一调,2000并发都稳如老狗。代码基本没动,差别在哪?大部分时候,差别就在你对…

作者头像 李华
网站建设 2026/9/16 11:39:04

VidBee:1000+ 网站视频离线下载指南

VidBee:1000 网站视频离线下载指南 【免费下载链接】VidBee Download video and audio from YouTube , TikTok , Twitter , Instagram , Facebook , Twitch , Bilibili , and 1000 sites—or import local media. Create searchable transcripts on your computer, …

作者头像 李华