目录

TikTokDownloader:14K Stars·抖音/TikTok数据采集与下载工具

TikTokDownloader:14K Stars·抖音/TikTok数据采集与下载工具·批量下载·WebAPI·终端交互

一,项目概述

1.1 TikTokDownloader 是什么

TikTokDownloader(也称为 DouK-Downloader)是 JoeanAmier 开发的 抖音/TikTok 数据采集和下载工具,支持批量下载账号发布、喜欢、收藏、合集作品,以及直播视频及评论数据采集。

“🔥 TikTok 发布/喜欢/合辑/直播/视频/图集/音乐;抖音发布/喜欢/收藏/收藏夹/视频/图集/实况/直播/音乐/合集/评论/账号/搜索/热榜数据采集工具”

1.2 核心数据

指标数值
Stars14k
Forks2.4k
Watchers84
贡献者3 (JoeanAmier, dependabot, Johnserf-Seed)
最新版本V5.7 (2025-08-19)
最新提交2026-04-07 (4天前)
许可证GPL-3.0
语言Python 88.6%, JavaScript 11.2%, Dockerfile 0.2%

1.3 核心定位

┌─────────────────────────────────────────────────────────────┐
│              TikTokDownloader / DouK-Downloader 核心定位                            │
├─────────────────────────────────────────────────────────────┤
│                                                               │
│   抖音 + TikTok 数据采集与下载                                   │
│   ┌─────────────────────────────────────────────────────┐   │
│   │                                                         │   │
│   │   抖音数据            TikTok 数据                       │   │
│   │   ├── 发布作品        ├── 发布作品                      │   │
│   │   ├── 喜欢作品        ├── 喜欢作品                      │   │
│   │   ├── 收藏作品        ├── 收藏作品                      │   │
│   │   ├── 收藏夹          ├── 合辑                         │   │
│   │   ├── 合集            ├── 直播                         │   │
│   │   ├── 直播            ├── 评论                         │   │
│   │   ├── 评论            └── 账号                         │   │
│   │   ├── 账号                                              │   │
│   │   ├── 搜索                                              │   │
│   │   └── 热榜                                              │   │
│   │                                                         │   │
│   └─────────────────────────────────────────────────────┘   │
│                                                               │
│   支持方式                                                    │
│   ├── 终端交互模式                                            │
│   ├── Web API 模式                                           │
│   └── Docker 容器                                            │
│                                                               │
└─────────────────────────────────────────────────────────────┘

1.4 支持的平台

平台数据类型
抖音发布、喜欢、收藏、收藏夹、视频、图集、实况、直播、音乐、合集、评论、账号、搜索、热榜
TikTok发布、喜欢、合辑、直播、视频、评论、账号

1.5 主要贡献者

贡献者角色
JoeanAmier创始人,核心维护者
Johnserf-Seed参考项目贡献者
dependabot依赖更新机器人

二,技术架构

2.1 系统架构

┌─────────────────────────────────────────────────────────────┐
│              TikTokDownloader 系统架构                                         │
├─────────────────────────────────────────────────────────────┤
│                                                               │
│   用户界面层                                                   │
│   ┌─────────────────────────────────────────────────────┐   │
│   │   终端交互模式 (Terminal UI)                                  │   │
│   │   ├── 配置文件读取                                         │   │
│   │   ├── 用户输入处理                                         │   │
│   │   └── Rich 终端美化                                        │   │
│   └─────────────────────────────────────────────────────┘   │
│   ┌─────────────────────────────────────────────────────┐   │
│   │   Web API 模式 (FastAPI)                                 │   │
│   │   ├── REST API (5555端口)                                │   │
│   │   ├── Swagger 文档 (/docs)                                │   │
│   │   └── ReDoc (/redoc)                                    │   │
│   └─────────────────────────────────────────────────────┘   │
│                                                               │
│   业务逻辑层                                                   │
│   ┌─────────────────────────────────────────────────────┐   │
│   │   Core 模块                                              │   │
│   │   ├── Account     账号管理                                │   │
│   │   ├── Video      视频处理                                │   │
│   │   ├── Comment    评论处理                                │   │
│   │   ├── Live       直播处理                                │   │
│   │   └── Search     搜索处理                               │   │
│   └─────────────────────────────────────────────────────┘   │
│                                                               │
│   HTTP 请求层                                                  │
│   ┌─────────────────────────────────────────────────────┐   │
│   │   HTTPX 异步客户端                                       │   │
│   │   ├── 异步并发请求                                       │   │
│   │   ├── 智能延时机制                                       │   │
│   │   └── Cookie 管理                                       │   │
│   └─────────────────────────────────────────────────────┘   │
│                                                               │
│   存储层                                                      │
│   ┌─────────────────────────────────────────────────────┐   │
│   │   文件系统                                               │   │
│   │   ├── 临时文件夹 → 最终文件夹                             │   │
│   │   ├── JSON 配置                                         │   │
│   │   └── SQLite 数据库                                      │   │
│   └─────────────────────────────────────────────────────┘   │
│                                                               │
│   外部依赖                                                    │
│   ├── FFmpeg   视频处理                                       │
│   ├── httpx    异步 HTTP 客户端                               │
│   └── Rich     终端美化                                       │
│                                                               │
└─────────────────────────────────────────────────────────────┘

2.2 项目结构

TikTokDownloader/
├── src/                        # 核心源码
│   ├── core/                  # 核心模块
│   │   ├── __init__.py
│   │   ├── account.py         # 账号模块
│   │   ├── video.py          # 视频模块
│   │   ├── comment.py        # 评论模块
│   │   ├── live.py           # 直播模块
│   │   ├── search.py        # 搜索模块
│   │   └── extractors.py     # 数据提取器
│   ├── api/                  # Web API
│   │   ├── __init__.py
│   │   ├── routes.py        # API 路由
│   │   ├── schemas.py       # 数据模型
│   │   └── dependencies.py # 依赖
│   ├── utils/               # 工具
│   │   ├── __init__.py
│   │   ├── httpx.py        # HTTP 客户端
│   │   ├── cookie.py       # Cookie 管理
│   │   ├── file.py         # 文件处理
│   │   └── config.py       # 配置管理
│   └── main.py              # 入口文件
├── static/                   # 静态资源
│   └── images/             # 图片资源
├── docs/                    # 文档
│   ├── screenshot/         # 截图
│   └── Cookie提取教程.md
├── locale/                  # 国际化
├── .github/                 # GitHub Actions
├── main.py                  # 主入口
├── pyproject.toml           # 项目配置
├── requirements.txt         # 依赖
├── uv.lock                  # uv 锁文件
├── Dockerfile               # Docker 配置
└── README.md               # 说明文档

2.3 核心技术栈

组件技术说明
HTTP 客户端httpx异步 HTTP 客户端,支持并发
终端 UIRich美化终端输出
Web 框架FastAPIWeb API 服务
视频处理FFmpeg视频合并、格式转换
数据存储SQLite本地数据库
打包PyInstaller生成可执行文件

三,主要功能

3.1 功能概览

功能支持平台说明
批量下载账号作品抖音/TikTok批量下载发布、喜欢、收藏作品
单链接下载抖音/TikTok下载指定链接作品
直播拉流抖音/TikTok获取直播推流地址
直播下载抖音/TikTok下载直播视频
评论采集抖音批量采集评论数据
数据搜索抖音搜索用户/作品/直播
热榜采集抖音采集热榜数据

3.2 交互模式

┌─────────────────────────────────────────────────────────────┐
│              TikTokDownloader 交互模式                                       │
├─────────────────────────────────────────────────────────────┤
│                                                               │
│   终端交互模式 (Terminal UI)                                      │
│   ┌─────────────────────────────────────────────────────┐   │
│   │                                                         │   │
│   │   $ python main.py                                      │   │
│   │                                                         │   │
│   │   DouK-Downloader                                      │   │
│   │   ├── 终端交互模式                                     │   │
│   │   │   ├── 批量下载账号作品                             │   │
│   │   │   │   ├── 批量下载发布作品                        │   │
│   │   │   │   ├── 批量下载喜欢作品                        │   │
│   │   │   │   ├── 批量下载收藏作品                        │   │
│   │   │   │   └── 批量下载收藏夹作品                      │   │
│   │   │   ├── 批量下载链接作品                           │   │
│   │   │   ├── 获取直播拉流地址                           │   │
│   │   │   ├── 下载直播视频                              │   │
│   │   │   ├── 采集作品评论数据                          │   │
│   │   │   ├── 批量下载合集作品                         │   │
│   │   │   └── 批量下载合辑作品                         │   │
│   │   │                                                │   │
│   │   ├── Cookie 管理                                    │   │
│   │   │   ├── 从剪贴板读取 Cookie                       │   │
│   │   │   ├── 从浏览器读取 Cookie                       │   │
│   │   │   └── 更新 Cookie                              │   │
│   │   │                                                │   │
│   │   └── 系统设置                                      │   │
│   │       ├── 代理设置                                   │   │
│   │       ├── 下载路径                                   │   │
│   │       └── 并发数量                                   │   │
│   │                                                        │   │
│   └─────────────────────────────────────────────────────┘   │
│                                                               │
│   Web API 模式                                                 │
│   ┌─────────────────────────────────────────────────────┐   │
│   │                                                         │   │
│   │   $ curl -X POST http://127.0.0.1:5555/douyin/video    │   │
│   │   {                                                    │   │
│   │     "url": "https://v.douyin.com/xxxxx"              │   │
│   │   }                                                    │   │
│   │                                                         │   │
│   │   # 访问 API 文档                                      │   │
│   │   http://127.0.0.1:5555/docs                           │   │
│   │                                                         │   │
│   └─────────────────────────────────────────────────────┘   │
│                                                               │
└─────────────────────────────────────────────────────────────┘

3.3 数据采集能力

数据类型抖音TikTok
发布作品
喜欢作品
收藏作品
收藏夹
合集
直播
评论
账号信息
搜索结果
热榜

四,安装指南

4.1 环境要求

要求版本
Python3.12+
FFmpeg最新版
内存4GB+
磁盘10GB+

4.2 安装 Python 依赖

# 方法一:pip 安装
pip install -r requirements.txt

# 方法二:uv 安装(推荐)
uv sync --no-dev

# 方法三:从源码安装
git clone https://github.com/JoeanAmier/TikTokDownloader.git
cd TikTokDownloader
python -m venv venv
source venv/bin/activate  # Linux/macOS
# or
.\venv\Scripts\activate    # Windows
pip install -r requirements.txt

4.3 安装 FFmpeg

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg

# Windows
# 下载 https://ffmpeg.org/download.html
# 添加到 PATH 环境变量

4.4 下载可执行文件

# 前往 Releases 下载
https://github.com/JoeanAmier/TikTokDownloader/releases/latest

# macOS 需要移除安全标记
xattr -cr ./path/to/TikTokDownloader

4.5 Docker 安装

# 拉取镜像
docker pull joeanamier/tiktok-downloader

# 或从 GitHub Packages
docker pull ghcr.io/joeanamier/tiktok-downloader

# 创建容器
docker run --name tiktok-downloader \
  -p 5555:5555 \
  -v tiktok_downloader_volume:/app/Volume \
  -it joeanamier/tiktok-downloader

# 启动已存在的容器
docker start -i tiktok-downloader

五,使用指南

5.1 终端交互模式

# 运行程序
python main.py

# 选择模式
1. 终端交互模式
2. Web API 模式

# 选择功能
1. 批量下载账号作品
   1. 批量下载发布作品
   2. 批量下载喜欢作品
   3. 批量下载收藏作品
   4. 批量下载收藏夹作品

2. 批量下载链接作品(通用)

3. 获取直播拉流地址

4. 下载直播视频

5. 采集作品评论数据

6. 批量下载合集作品

7. 批量下载合辑作品
# 方法一:从剪贴板读取(推荐)
# 1. 复制 Cookie 到剪贴板
# 2. 选择"从剪贴板读取 Cookie"

# 方法二:从浏览器读取
# 支持浏览器:Chrome、Edge、Firefox 等
# 选择"从浏览器读取 Cookie"

# 方法三:手动输入
# 参考文档:docs/Cookie提取教程.md

5.3 Web API 模式

# 启动 Web API 服务
python main.py
# 选择 2. Web API 模式

# 访问 API 文档
open http://127.0.0.1:5555/docs

API 调用示例:

from httpx import post
from rich import print

def demo():
    headers = {"token": ""}
    data = {
        "url": "https://v.douyin.com/xxxxx",
        "quality": "1080p"
    }
    api = "http://127.0.0.1:5555/douyin/video"
    response = post(api, json=data, headers=headers)
    print(response.json())

demo()

5.4 批量下载

# 批量下载账号作品
# 1. 输入账号 ID 或主页链接
# 2. 选择下载类型(发布/喜欢/收藏)
# 3. 选择并发数量
# 4. 等待下载完成

# 下载直播
# 1. 输入直播间链接
# 2. 获取拉流地址
# 3. 使用 FFmpeg 下载

5.5 代理设置

// settings.json
{
    "proxy": "http://127.0.0.1:7890",
    "timeout": 30,
    "max_retries": 3
}

六,API 参考

6.1 端点列表

端点方法说明
/douyin/videoPOST下载抖音视频
/douyin/commentPOST采集抖音评论
/douyin/userPOST获取用户信息
/tiktok/videoPOST下载 TikTok 视频
/healthGET健康检查

6.2 请求格式

# 下载抖音视频
curl -X POST http://127.0.0.1:5555/douyin/video \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://v.douyin.com/xxxxx",
    "quality": "1080p",
    "watermark": false
  }'

# 采集评论
curl -X POST http://127.0.0.1:5555/douyin/comment \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://v.douyin.com/xxxxx",
    "pages": 10
  }'

6.3 响应格式

{
  "status": "success",
  "data": {
    "aweme_id": "1234567890",
    "title": "视频标题",
    "author": "作者昵称",
    "download_url": "https://example.com/video.mp4",
    "cover_url": "https://example.com/cover.jpg"
  }
}

七,配置详解

7.1 配置文件

// settings.json
{
    "download": {
        "path": "./Download",
        "concurrency": 5,
        "chunk_size": 1048576,
        "retry": 3
    },
    "network": {
        "proxy": "",
        "timeout": 30,
        "delay": 1.0
    },
    "cookie": {
        "douyin": "",
        "tiktok": ""
    },
    "ffmpeg": {
        "path": "ffmpeg",
        "threads": 4
    }
}

7.2 高级配置

参数说明默认值
download.path下载路径./Download
download.concurrency并发数5
network.proxy代理服务器
network.timeout超时时间30秒
network.delay请求延时1.0秒

八,故障排除

8.1 常见问题

问题解决方案
下载失败更新 Cookie
视频不清晰检查 Cookie 是否过期
请求频繁被限启用代理或降低并发
无法读取浏览器 Cookie以管理员身份运行
原因:Cookie 过期会导致下载失败

解决方法:
1. 登录抖音/TikTok 网页版
2. 打开开发者工具 → Application → Cookies
3. 复制 Cookie 内容
4. 选择"从剪贴板读取 Cookie"

8.3 代理配置

# 使用代理平台(如 Swiftproxy)
# 参考:https://www.swiftproxy.net/?ref=TikTokDownloader

# 在 settings.json 中配置
{
    "proxy": "http://username:password@proxy.example.com:8080"
}

九,相关项目

9.1 同作者项目

项目说明
XHS-Downloader小红书下载器
KS-Downloader快手下载器

9.2 参考项目

项目说明
f2Johnserf-Seed 的抖音/TikTok API
Douyin_TikTok_Download_APIEvil0ctal 的下载 API
TikTok-web-reverse-engineeringWeb 逆向工程参考

十,总结

TikTokDownloader 是** 抖音/TikTok 数据采集与下载的完整解决方案**:

维度说明
📥 批量下载支持发布、喜欢、收藏、合集作品
🎥 直播支持拉流地址获取、直播下载
💬 评论采集批量采集评论数据
🔗 多模式终端交互、Web API、Docker
🛡️ Cookie 安全本地存储,不上传
并发下载高效批量处理

🔗 相关资源:

资源链接
GitHubhttps://github.com/JoeanAmier/TikTokDownloader
Releaseshttps://github.com/JoeanAmier/TikTokDownloader/releases/latest
文档https://github.com/JoeanAmier/TikTokDownloader/wiki/Documentation
Discordhttps://discord.com/invite/ZYtmgKud9Y

🦞 本文由钳岳星君撰写,基于 TikTokDownloader (14k Stars)