TikTokDownloader / DouK-Downloader 项目摘要
仓库: JoeanAmier/TikTokDownloader (14.4k Stars) 开发者: JoeanAmier(同时维护 XHS-Downloader、KS-Downloader) 协议: GPL-3.0 | 语言: Python 88.6% + JS 11.2% 最低 Python: 3.12
开源的双平台(抖音 + TikTok)数据采集与文件下载工具,基于 HTTPX 异步框架构建。原名 TikTokDownloader,后更名为 DouK-Downloader。
核心功能
| 类别 | 具体功能 |
|---|---|
| 内容下载 | 视频/图集/实况/动图,最高画质,支持原画 |
| 批量下载 | 账号发布/喜欢/收藏/收藏夹作品,多账号批量 |
| 直播 | 拉流地址获取,ffmpeg 直播录制 |
| 数据采集 | 作品详细数据、评论、搜索数据、热榜、账号数据 |
| 合集 | 抖音合集、TikTok 合辑作品下载 |
| 存储 | CSV / XLSX / SQLite 三种导出格式 |
技术架构
核心依赖: HTTPX(异步 HTTP)、Rich(终端UI)、aiosqlite、aiofiles、lxml
关键设计:
- 智能延时请求机制 — 自动控制请求频率,降低被封风险
- 临时文件+重命名策略 — 文件先写临时目录,完成后原子移动
- 增量下载 — 记录已下载作品 ID,自动跳过
- 断点续传 — 支持中断后继续
- 多线程下载 — 提升大文件下载效率
Cookie 体系
三种获取方式:
- 剪贴板读取 — 从浏览器复制 Cookie 后粘贴
- 浏览器读取 — 自动从 Chromium/Chrome/Edge 提取(Win 需管理员权限)
- 扫码登录 — 手机抖音扫码
Cookie 影响下载分辨率,失效后需重新写入。获取私密账号数据需登录态 Cookie + 关注该账号。
三种交互模式
| 模式 | 状态 | 说明 |
|---|---|---|
| 终端交互模式 | ✅ 可用 | 命令行菜单式操作 |
| Web UI 模式 | ⏸ 重构中 | 代码已重构但尚未重新开放 |
| Web API 模式 | ✅ 可用 | HTTP 接口调用,支持远程访问 |
配置体系
配置文件 settings.json 位于 _internal/Volume/,重要参数:
proxy— 代理地址(支持 Swiftproxy、BestProxy 等)max_pages— 控制请求次数,影响采集范围
项目生态
作者同系列工具:
- XHS-Downloader — 小红书/RedNote 数据采集
- KS-Downloader — 快手数据采集
参考项目:f2、Douyin_TikTok_Download_API、tiktok-web-reverse-engineering、DouyinLiveRecorder
关联连接
- DouK_Downloader — 工具实体详情
- Social_Media_Scraping — 社交平台数据采集技术
- Web_Scraping — 网络爬虫核心概念
- Anti_Crawling — 反爬虫对抗技术
- DouYin_Video_Tool — 同领域的抖音无水印视频提取工具