DouK-Downloader(原名 TikTokDownloader)

开发者: JoeanAmier | 仓库: GitHub (14.4k ⭐) 协议: GPL-3.0 | 语言: Python 3.12+

抖音与 TikTok 双平台的开源数据采集与文件下载工具。作者 JoeanAmier 同系列产品还包括 XHS-Downloader(小红书)和 KS-Downloader(快手),构成社交媒体数据采集工具矩阵。

技术亮点

异步架构

基于 HTTPX 异步客户端,配合 aiosqlite 和 aiofiles 实现全异步 I/O,在单线程下高效处理大量网络请求和文件读写。

反检测设计

  • 智能延时(intelligent delay):自动控制请求间隔,避免触发频率限制
  • 代理集成:支持 HTTP 代理及 Swiftproxy/BestProxy 等商业代理服务商
  • Cookie 生命周期管理:失效检测与重新获取流程

工程化实践

  • 临时文件 + 原子重命名保证文件完整性
  • 增量下载机制(记录已下载 ID)
  • 断点续传支持
  • 多线程下载加速
  • 自动跳过已存在文件

交互方式

三种模式覆盖不同使用场景:

  1. 终端交互 — 菜单驱动,适合手动操作
  2. Web API — HTTP 接口调用,适合集成到其他系统
  3. Web UI(重构中)— 可视化界面

配置与部署

支持 pip、uv(推荐)、Docker 三种部署方式。配置通过 settings.json 管理,关键参数为 proxy 和 max_pages。

同系列产品

JoeanAmier 还维护了针对其他平台的同类工具,共享相似的技术架构和设计理念:

  • XHS-Downloader — 小红书/RedNote
  • KS-Downloader — 快手

关联连接