DouK-Downloader :抖音 / TikTok 视频图集批量下载,附带 WebUI

DouK-Downloader 是一款面向抖音和 TikTok 平台的开源作品下载与数据采集工具。该项目的核心定位并非简单的单视频解析,而是提供了一套涵盖内容获取、数据导出以及自动化管理的完整工程方案。对于需要进行平台内容归档、数据分析或素材收集的用户而言,它将原本需要手动操作的过程转化为了可配置的程序化流程。

从技术实现来看,DouK-Downloader 支持多线程并发下载与断点续传机制,并内置了文件完整性校验处理。这意味着在面对大规模账号作品或合集拉取时,程序能够维持稳定的吞吐量,并在网络波动导致传输中断后继续任务,而无需从头开始。

DouK-Downloader :抖音 / TikTok 视频图集批量下载,附带 WebUI插图

媒体资源获取:从基础下载到直播流抓取

在核心的媒体文件下载能力上,DouK-Downloader 覆盖了平台现有的主流内容形态,并针对画质和文件类型做了细分处理:

  • 常规作品:支持下载抖音与 TikTok 的视频及图文图集,默认拉取平台提供的最高画质版本。
  • 特殊格式:兼容抖音实况照片与动图文件的解析与保存。
  • 封面提取:可单独下载作品的动态或静态封面图片。
  • 直播流处理:支持获取抖音与 TikTok 的直播拉流地址,并通过调用本地 ffmpeg 组件完成直播内容的录制与下载。

除了单一链接的解析,程序提供了更高维度的批量处理能力。用户可以直接输入目标账号主页,按“发布”、“喜欢”、“收藏”或特定“收藏夹”维度进行全量下载;也可以针对特定合集或合辑进行定向抓取。同时,剪贴板监听功能的加入,使得用户在浏览器中复制链接后,程序即可自动触发下载任务,减少了跨窗口切换的操作成本。

DouK-Downloader :抖音 / TikTok 视频图集批量下载,附带 WebUI插图1

数据采集与结构化存储

DouK-Downloader 的另一项重点能力是元数据的采集与持久化。它不仅下载物理文件,还会同步抓取与作品或账号相关的结构化信息。

  • 作品级数据:包括评论数据、点赞数、收藏数等统计指标,并支持对已下载作品的统计数据进行后续更新。
  • 账号级数据:支持采集抖音账号的详细资料信息。
  • 宏观数据:具备采集抖音搜索结果数据及热榜数据的能力。
  • 筛选机制:允许用户根据作品发布时间、自定义规则设定过滤条件,精准控制采集范围。

在数据落地环节,采集到的信息支持导出为 CSV、XLSX 表格文件或直接写入 SQLite 数据库。配合按文件夹归档保存、自定义文件大小上限、自定义账号/合集标识等功能,用户可以根据后续的数据分析需求,提前规划好本地存储结构。

运行环境与依赖管理

DouK-Downloader 提供了两种启动方式,以适应不同技术背景用户的操作习惯。

可执行文件直跑模式
适用于无需修改源码的用户。直接从项目的 Releases 或 Actions 页面下载构建好的压缩包,解压后双击 main 文件即可运行。项目文档建议 Windows 用户使用 Windows 11 自带的默认终端以获得更好的交互体验。

Python 环境配置模式
要求本地安装不低于 3.12 版本的 Python 解释器。项目推荐使用 uv 作为依赖管理工具,具体流程如下:

  1. 下载最新源码至本地。
  2. 执行 uv sync --no-dev 命令同步环境依赖。
  3. 执行 uv run main.py 启动程序。

若使用传统的 pip 工作流,则需先通过 python -m venv venv 创建虚拟环境(可选),激活环境后执行 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt 安装依赖模块,最后运行 python main.py 启动。

鉴权配置与 Cookie 注入

由于抖音和 TikTok 的反爬策略及权限控制,程序的正常运行依赖于有效的 Cookie 信息。DouK-Downloader 目前提供两种主要的 Cookie 配置路径:

  • 手动输入:参考相关教程在浏览器中提取所需 Cookie 并复制,在程序界面选择“手动输入 Cookie”选项后粘贴,按提示完成写入。
  • 剪贴板读取:将提取的 Cookie 复制至系统剪贴板,选择“从剪贴板读取 Cookie”选项,程序会自动识别并将其写入配置文件。

需要注意的是,“从浏览器读取 Cookie”这一自动化选项在当前版本中已被标记为弃用状态。此外,TikTok 平台的初始设置要求比抖音更为复杂,具体参数配置需查阅项目官方文档。

部署架构与进阶接口

为了满足长期运行或团队协作的需求,DouK-Downloader 在架构设计上保留了较高的扩展性。

  • Web UI 与 API:内置 Web UI 交互界面,支持局域网内的远程访问。同时暴露了 Web API,允许其他脚本或业务系统通过接口调用其下载与采集能力。
  • 服务器部署:支持将服务部署至私有或公开服务器。
  • Docker 容器化:支持通过 Dockerfile 本地构建镜像,或直接拉取 joeanamier/tiktok-downloader / ghcr.io/joeanamier/tiktok-downloader 镜像。标准启动命令为 docker run --name [容器名称] -p [主机端口号]:5555 -v tiktok_downloader_volume:/app/Volume -it <镜像名称>,后续可通过 docker start -idocker restart -i 管理容器生命周期。

在使用 Docker 部署时需特别注意:容器环境无法直接访问宿主机的文件系统。因此,诸如“从浏览器读取 Cookie”这类依赖宿主机本地环境的功能在容器内将不可用。

增量更新与防重复机制

在处理动辄包含数千条作品的账号时,重复下载会极大浪费带宽与存储空间。DouK-Downloader 引入了多项机制来规避这一问题:

  • ID 记录与跳过:程序会在本地记录已下载作品的 ID,再次运行时自动比对并跳过已存在的文件。
  • 增量下载:支持仅针对账号新增的作品进行增量拉取,无需每次全量扫描。
  • 自动维护:支持自动更新账号昵称与标识,确保本地归档目录的名称与实际账号状态保持同步。

结合代理池的支持,该工具在面对高频请求触发的风控限制时,也具备一定的应对手段。

下载地址
夸克
密码:无