字
字节笔记本
2026年2月22日
DouK-Downloader:抖音 TikTok 数据采集与下载工具
本文介绍 DouK-Downloader(原 TikTokDownloader),一个功能强大的抖音和 TikTok 数据采集与下载工具。该项目完全开源,支持批量下载视频、图集、直播等内容,是社交媒体内容管理的实用利器。
项目简介
DouK-Downloader 是一个基于 Python 开发的开源项目,由 JoeanAmier 开发维护。截至目前,该项目在 GitHub 上已获得 13.2k+ stars 和 2.3k+ forks,是一个非常受欢迎的数据采集工具。
该项目基于 HTTPX 模块实现,提供完全免费的数据采集和文件下载功能,支持抖音和 TikTok 双平台的内容获取。
核心功能
抖音平台支持
- 批量下载账号发布、喜欢、收藏、收藏夹作品
- 下载抖音链接作品(视频/图集/实况)
- 获取抖音直播拉流地址并下载直播视频
- 采集抖音作品评论数据
- 批量下载抖音合集作品
- 采集抖音账号详细数据
- 采集抖音用户/作品/直播搜索结果
- 采集抖音热榜数据
TikTok 平台支持
- 批量下载账号发布、喜欢作品
- 下载 TikTok 链接作品
- 获取 TikTok 直播拉流地址并下载直播视频
- 批量下载 TikTok 合辑作品
技术栈
- Python 3.12 - 主要开发语言
- HTTPX - 高性能 HTTP 客户端
- Docker - 容器化部署支持
- Web UI - 交互式界面(开发中)
- Web API - RESTful API 接口
安装指南
方式一:使用预编译程序(推荐)
Mac OS、Windows 10 及以上用户可直接下载使用:
Mac OS 用户注意:由于可执行文件未经过代码签名,首次运行时需要在终端执行
xattr -cr 项目文件夹路径移除安全标记。
方式二:源码运行
前置要求:
- Python 3.12
- pip 或 uv 包管理器
使用 pip 安装:
bash
# 克隆仓库
git clone https://github.com/JoeanAmier/TikTokDownloader.git
cd TikTokDownloader
# 创建虚拟环境(可选)
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
# 安装依赖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
# 启动程序
python main.py使用 uv 安装(推荐):
bash
# 创建虚拟环境
uv venv
# 同步依赖
uv sync
# 启动程序
uv run main.py方式三:Docker 部署
bash
# 拉取镜像
docker pull joeanamier/tiktok-downloader
# 或
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快速开始
- 运行程序(选择上述任意一种安装方式)
- 阅读免责声明并根据提示操作
- 配置 Cookie:
- 从剪贴板读取 Cookie(推荐)
- 从浏览器读取 Cookie
- 选择工作模式:
- 终端交互模式
- Web UI 交互模式(开发中)
- Web API 接口模式
使用示例
终端交互模式
bash
# 启动后选择:
# 终端交互模式 -> 批量下载链接作品(通用) -> 手动输入待采集的作品链接
# 输入抖音/TikTok 作品链接即可下载Web API 模式
启动 API 模式后,访问 http://127.0.0.1:5555/docs 或 http://127.0.0.1:5555/redoc 查看自动生成的文档。
API 调用示例:
python
from httpx import post
from rich import print
def demo():
headers = {"token": ""}
data = {
"detail_id": "0123456789",
"pages": 2,
}
api = "http://127.0.0.1:5555/douyin/comment"
response = post(api, json=data, headers=headers)
print(response.json())
demo()重要说明
关于 Cookie
- Cookie 仅需在失效后重新写入配置文件,并非每次运行都需要
- Cookie 会影响下载的视频文件分辨率,如遇问题请尝试更新 Cookie
- 获取私密账号数据需要登录后的 Cookie,且登录账号需关注该私密账号
使用限制
- 本项目不支持付费作品下载
- Windows 系统需要以管理员身份运行才能读取 Chromium、Chrome、Edge 浏览器 Cookie
- 不建议程序多开,如需多开请复制整个项目文件夹
其他注意事项
- 程序提示输入时,直接回车代表返回上级菜单,输入
Q或q代表结束运行 - 如需终止程序,请按下
Ctrl + C,不要直接点击终端窗口的关闭按钮 - 下载文件时会先保存至临时文件夹,完成后再移动至储存文件夹
项目链接
- GitHub 仓库:https://github.com/JoeanAmier/TikTokDownloader
- 项目文档:https://github.com/JoeanAmier/TikTokDownloader/wiki/Documentation
- Cookie 获取教程:https://github.com/JoeanAmier/TikTokDownloader/blob/master/docs/Cookie获取教程.md
- 演示视频:
免责声明
使用者对本项目的使用由使用者自行决定,并自行承担风险。作者对使用者使用本项目所产生的任何损失、责任、或风险概不负责。本项目的作者提供的代码和功能是基于现有知识和技术的开发成果,旨在提供学习和研究用途,并不保证其准确性、完整性或可靠性。使用者应自行判断其适用性,并自行承担风险。
分享: