需自行准备并配置 Cookie 才能采集数据;加密参数算法已不再维护,平台更新后部分功能可能失效需自行提供生成代码;Web UI 模式代码尚未更新,当前不可用。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
python main.py 硬件要求按 README 说明
README 未说明硬件要求,仅要求 Python 3.12 及以上;Mac OS、Windows 10 及以上可直接下载已编译程序运行。
有 Docker 镜像
抖音/TikTok 作品批量下载与数据采集工具,支持终端交互和 Web API 调用
抖音和 TikTok 作品下载与数据采集工具,支持批量抓取视频、评论等数据并导出 CSV,可通过 Docker 部署。
核心能力
- 批量下载抖音/TikTok 视频、图集、实况与最高画质文件
- 采集作品评论、账号详情、搜索与热榜数据
- 数据可持久化为 CSV/XLSX/SQLite 格式
- 支持多线程下载、断点续传与跳过已下载文件
- 提供 Web API 模式,可查阅自动生成的接口文档
容易踩的坑
内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README
- 5.8DouK-Downloader V5.8最新正式版2026-09-13 · 2026-09-13 11:10 UTC
更新内容:
- API 模式搜索接口增加
offset和count参数 - 修复部分 TikTok 账号提取 sec_user_id 失败的问题
- 修复 API 模式账号作品接口部分参数不生效的问题
- 修复配置文件
tab参数无效导致报错的问题 - 修复 API 模式搜索接口多页数据报错的问题
- 修复 API 模式搜索接口结果为空报错的问题
- 修复 TikTok 平台批量下载账号作品功能
- 修复 TikTok 平台批量下载合集作品功能
- 修复报错时可能损坏 XLSX 文件的问题
- TikTok 平台新增 X-Gnarly 请求参数
- 实现动态加载外部 Python 代码功能
- 使用
curl_cffi替代httpx - 移除
从浏览器读取 Cookie功能 - 服务器模式默认启用局域网访问
- 优化提取 secUid 的正则表达式
- 修复请求参数编码错误的问题
- 支持下载最高质量视频文件
- 修复提取作品 ID 失败的问题
- 重构项目内置请求延时机制
- 恢复手动输入 Cookie 功能
- 增加文件下载缓冲机制
- 更新数据接口请求参数
- 更新项目英语翻译
- 修正项目功能描述
- 修复其他已知问题
⚠️ 升级提醒:本次升级请将旧版本程序文件夹下的 _internal\Volume 文件夹,复制到新版本程序所在的文件夹内(与主程序在同一目录)
- API 模式搜索接口增加
- 5.7DouK-Downloader V5.72025-08-19 · 2025-08-19 14:55 UTC
查看更新说明
更新内容:
- 修复下载私密账号作品时出现
404响应码的问题 - 修复 API 模式评论接口
source参数无效的问题 - 修复 API 模式直播接口获取原始数据报错的问题
- 修复部分功能不支持
run_command参数的问题 - 从浏览器读取 Cookie 失败时不再保存至配置文件
- 修复自定义
User-Agent导致功能失效的问题 - 配置文件新增作品文件名称长度限制参数
- 修复直播分享链接获取数据失败的问题
- 优化 API 模式搜索接口的响应提示
- 修复 API 模式进度条冲突的问题
- 优化 TikTok 平台作品链接提取
- 新增监听剪贴板链接下载作品功能
- 修复 MacOS 下载直播报错的问题
- 搜索数据为空时不再保存至文件
- 支持设置直播下载的默认清晰度
- 重构复制粘贴写入 Cookie 功能
- 重构调用 ffmpeg 下载直播功能
- 配置与文件归集到单文件夹
- 优化提取链接的正则表达式
- 优化配置文件参数容错机制
- 恢复数据请求延时机制
- 优化程序运行提示
- 修复其他已知问题
- 其他细节优化
- 修复下载私密账号作品时出现
- 5.6TikTokDownloader V5.62025-05-10 · 2025-05-10 16:05 UTC
查看更新说明
更新内容:
- 修复 TikTok 平台获取直播推流地址功能报错的问题
- 修复账号只有共创作品且均不是作者时报错的问题
- 配置文件参数
original_cover变更为static_cover - 修复实况作品与图集作品判断错误的问题
- 修复 TikTok 平台批量下载账号作品功能
- 移除作品采集数据的
视频分辨率字段 - 修复数据包含非法字符导致报错的问题
- 修复搜索接口关键词编码错误的问题
- 优化视频作品分辨率数据提取逻辑
- 修复提取下载地址失败时程序异常
- 重构静态封面下载地址提取逻辑
- 优化
latest参数设置规则 - 新增批量下载视频原画功能
- 新增实况作品处理数量统计
- 新增 TikTok 直播下载功能
- 重新开放 Web API 模式
- 优化语言代码获取逻辑
- 优化项目代码复用性
- 移除服务器部署模式
- 重构 Web API 模式
- 禁用扫码登录功能
- 禁用请求参数更新
- 更新项目英语翻译
- 移除内置延时机制
- 优化网络异常捕获
- 优化代码运行逻辑
- 支持
SOCKS代理 - 优化运行状态提示
- 修复其他已知问题
- 5.5TikTokDownloader V5.52025-01-12 · 2025-01-12 13:25 UTC
查看更新说明
更新内容:
- update_cookie_tiktok 参数变更为 tiktok_platform 参数
- update_cookie 参数变更为 douyin_platform 参数
- default_mode 参数变更为 run_command 参数
- 修复 TikTok 直播推流地址不显示的问题
- 修复未输入收藏合集序号报错的问题
- 修复从文本文档读取链接异常的问题
- 使用 rookiepy 替代 browser-cookie3
- 修复调用 FFmpeg 下载直播功能
- 优化从浏览器读取 Cookie 功能
- 支持更多 TikTok 合辑链接格式
- 支持最高分辨率视频文件下载
- 修复代理参数测试报错的问题
- 修复作品文件响应为空的问题
- 优化 run_command 参数功能
- 新增实况/动图作品下载功能
- 恢复作品评论数据采集功能
- 恢复账号详细数据采集功能
- 恢复搜索结果数据采集功能
- 优化作品文件名称处理逻辑
- 优化文件名称非法字符处理
- 重构视频下载地址提取逻辑
- 优化 earliest 参数设置规则
- 适配最新版 FFmpeg 命令
- 日志不再记录请求体数据
- 捕获中断程序的异常错误
- 优化重定向链接获取逻辑
- 更新 proxy 参数设置规则
- 优化检查版本更新功能
- 优化请求参数编码处理
- 优化音乐文件格式判断
- 新增文件断点续传功能
- 修复删除下载记录功能
- 捕获响应码异常的错误
- 优化文件名称长度限制
- 优化程序运行状态提示
- 更新网络接口请求参数
- 适配新版本 HTTPX 库
- 移除直播内置下载器
- 新增英语语言支持
- 优化文件下载功能
- 优化代理测试逻辑
- 修复其他已知问题
- 优化代码运行逻辑
- 其他细节优化
- 5.4TikTokDownloader v5.42024-07-21 · 2024-07-21 05:35 UTC
查看更新说明
更新日志:
- 新增获取 TikTok 直播推流地址功能
- 优化批量下载 TikTok 账号作品功能
- 更新扫码登录获取 Cookie 功能
- 优化自动更新 Cookie 参数功能
- 优化从浏览器读取 Cookie 功能
- 优化批量下载 TikTok 作品功能
- 新增 TikTok 直播视频下载功能
- 新增 TikTok 合集作品下载功能
- 暂时禁用抖音评论数据采集功能
- 暂时移除抖音账号数据采集功能
- 暂时移除抖音搜索数据采集功能
- 优化抖音图集下载链接提取逻辑
- 使用 HTTPX 替代 AIOHTTP
- 更新项目映射数据储存位置
- 更新作品下载记录储存位置
- 新增支持更多作品链接格式
- 新增收藏合集作品下载功能
- 新增收藏夹作品下载功能
- 新增收藏音乐下载功能
- 优化文件下载进度条效果
- 暂时移除服务器部署模式
- 暂时移除 Web API 模式
- 暂时移除 Web UI 模式
- 更新加密参数生成算法
- 优化处理链接统计功能
- 新增网络请求延时机制
- 移除储存数据无效字段
- 简化网络请求头参数
- 修复其他已知 Bug
- 其他细节优化
5.4对项目代码进行了重构,部分模式代码未重构完成,未来开发完成将会重新开放!从
5.3更新至5.4时,请在更新文件后运行升级工具,根据提示操作,更新配置文件参数及迁移旧版数据!
用户点评
登录用户的真实使用记录,可按版本和硬件筛选共 0 条
还没有人点评。第一个说出真实体验的人最有价值。
📝 项目功能
💻 程序截图
终端交互模式



Web UI 交互模式
该模式代码尚未更新,未来重构完成重新开放!
Web API 接口模式


启动该模式后,访问
http://127.0.0.1:5555/docs或者http://127.0.0.1:5555/redoc可以查阅自动生成的文档!
API 调用示例代码
from curl_cffi.requests 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()
📋 项目说明
快速入门
Docker 容器
关于 Cookie
Cookie 仅需在失效后重新写入配置文件,并非每次运行程序都要写入配置文件!
程序获取数据失败时,可以尝试更新 Cookie 或者使用已登录的 Cookie!
其他说明
本指南将引导您通过 Fork 本仓库并执行 GitHub Actions 自动完成基于最新源码的程序构建和打包!
使用步骤
1. Fork 本仓库
- 点击项目仓库右上角的 Fork 按钮,将本仓库 Fork 到您的个人 GitHub 账户中
- 您的 Fork 仓库地址将类似于:
https://github.com/your-username/this-repo
2. 启用 GitHub Actions
- 前往您 Fork 的仓库页面
- 点击顶部的 Settings 选项卡
- 点击右侧的 Actions 选项卡
- 点击 General 选项
- 在 Actions permissions 下,选择 Allow all actions and reusable workflows 选项,点击 Save 按钮
3. 手动触发打包流程
- 在您 Fork 的仓库中,点击顶部的 Actions 选项卡
- 找到名为 构建可执行文件 的工作流
- 点击右侧的 Run workflow 按钮:
- 选择 master 或者 develop 分支
- 点击 Run workflow
4. 查看打包进度
- 在 Actions 页面中,您可以看到触发的工作流运行记录
- 点击运行记录,查看详细的日志以了解打包进度和状态
5. 下载打包结果
- 打包完成后,进入对应的运行记录页面
- 在页面底部的 Artifacts 部分,您将看到打包的结果文件
- 点击下载并保存到本地,即可获得打包好的程序
注意事项
-
资源使用:
- Actions 的运行环境由 GitHub 免费提供,普通用户每月有一定的免费使用额度(2000 分钟)
-
代码修改:
- 您可以自由修改 Fork 仓库中的代码以定制程序打包流程
- 修改后重新触发打包流程,您将得到自定义的构建版本
-
与主仓库保持同步:
- 如果主仓库更新了代码或工作流,建议您定期同步 Fork 仓库以获取最新功能和修复
Actions 常见问题
Q1: 为什么我无法触发工作流?
A: 请确认您已按照步骤 启用 Actions,否则 GitHub 会禁止运行工作流
Q2: 打包流程失败怎么办?
A:
- 检查运行日志,了解失败原因
- 确保代码没有语法错误或依赖问题
- 如果问题仍未解决,可以在本仓库的 Issues 页面 提出问题
Q3: 我可以直接使用主仓库的 Actions 吗?
A: 由于权限限制,您无法直接触发主仓库的 Actions。请通过 Fork 仓库的方式执行打包流程
程序更新
💝 项目赞助
Swiftproxy
SX.ORG
DartNode
TikHub
♥️ 支持项目
✉️ 联系作者
⚠️ 免责声明
💡 参考与致谢
- https://github.com/Evil0ctal/Douyin_TikTok_Download_API
- https://github.com/Johnserf-Seed/f2
- https://github.com/ihmily/DouyinLiveRecorder
- https://github.com/lexiforest/curl_cffi/
- https://github.com/Textualize/rich
- https://github.com/omnilib/aiosqlite
- https://github.com/Tinche/aiofiles
- https://github.com/marcelotduarte/cx_Freeze
- https://foss.heptapod.net/openpyxl/openpyxl
- https://github.com/carpedm20/emoji/
- https://github.com/lxml/lxml
- https://github.com/extremeheat/JSPyBridge
- https://ffmpeg.org/ffmpeg-all.html
