# TikTokDownloader **Repository Path**: ibyter/TikTokDownloader ## Basic Information - **Project Name**: TikTokDownloader - **Description**: GitHub 同步仓库:TikTok 主页/合辑/视频/图集/原声;抖音主页/视频/图集/收藏/直播/原声/合集/评论/账号/搜索/热榜数据采集工具 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: https://github.com/JoeanAmier/TikTokDownloader - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 12 - **Created**: 2024-09-24 - **Last Updated**: 2025-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
DouK-Downloader

DouK-Downloader

简体中文 | English


GitHub GitHub forks GitHub Repo stars GitHub code size in bytes
Static Badge GitHub release (with filter) Static Badge GitHub all releases

🔥 TikTok 发布/喜欢/合辑/直播/视频/图集/音乐;抖音发布/喜欢/收藏/收藏夹/视频/图集/实况/直播/音乐/合集/评论/账号/搜索/热榜数据采集工具:完全开源,基于 HTTPX 模块实现的免费数据采集和文件下载工具;批量下载抖音账号发布、喜欢、收藏、收藏夹作品;批量下载 TikTok 账号发布、喜欢作品;下载抖音链接或 TikTok 链接作品;获取抖音直播推流地址;下载抖音直播视频;获取 TikTok 直播推流地址;下载 TikTok 直播视频;采集抖音作品评论数据;批量下载抖音合集作品;批量下载 TikTok 合辑作品;采集抖音账号详细数据;采集抖音用户 / 作品 / 直播搜索结果;采集抖音热榜数据。

⭐ 本项目历史名称:TikTokDownloader


# 📝 项目功能 * ✅ 下载抖音无水印视频/图集 * ✅ 下载抖音无水印实况/动图 * ✅ 下载最高画质视频文件 * ✅ 下载 TikTok 视频原画 * ✅ 下载 TikTok 无水印视频/图集 * ✅ 下载抖音账号发布/喜欢/收藏/收藏夹作品 * ✅ 下载 TikTok 账号发布/喜欢作品 * ✅ 采集抖音 / TikTok 详细数据 * ✅ 批量下载链接作品 * ✅ 多账号批量下载作品 * ✅ 自动跳过已下载的文件 * ✅ 持久化保存采集数据 * ✅ 支持 CSV/XLSX/SQLite 格式保存数据 * ✅ 下载动态/静态封面图 * ✅ 获取抖音直播推流地址 * ✅ 获取 TikTok 直播推流地址 * ✅ 调用 ffmpeg 下载直播 * ✅ Web UI 交互界面 * ✅ 采集抖音作品评论数据 * ✅ 下载抖音合集作品 * ✅ 下载 TikTok 合辑作品 * ✅ 记录点赞收藏等统计数据 * ✅ 筛选作品发布时间 * ✅ 支持账号作品增量下载 * ✅ 支持使用代理采集数据 * ✅ 支持局域网远程访问 * ✅ 采集抖音账号详细数据 * ✅ 作品统计数据更新 * ✅ 支持自定义账号/合集标识 * ✅ 自动更新账号昵称/标识 * ✅ 部署至私有服务器 * ✅ 部署至公开服务器 * ✅ 采集抖音搜索数据 * ✅ 采集抖音热榜数据 * ✅ 记录已下载作品 ID * ☑️ ~~扫码登陆获取 Cookie~~ * ✅ 从浏览器读取 Cookie * ✅ 支持 Web API 调用 * ✅ 支持多线程下载作品 * ✅ 文件完整性处理机制 * ✅ 自定义规则筛选作品 * ✅ 按文件夹归档保存作品文件 * ✅ 自定义设置文件大小上限 * ✅ 支持文件断点续传下载 * ✅ 监听剪贴板链接下载作品 # 💻 程序截图 ## 终端交互模式

🎥 点击图片观看演示视频,建议通过配置文件管理账号,更多介绍请查阅 文档

[![终端模式截图](docs/screenshot/终端交互模式截图CN1.png)](https://www.bilibili.com/video/BV18tVDzVEK7/) ***** [![终端模式截图](docs/screenshot/终端交互模式截图CN2.png)](https://www.bilibili.com/video/BV18tVDzVEK7/) ***** [![终端模式截图](docs/screenshot/终端交互模式截图CN3.png)](https://www.bilibili.com/video/BV18tVDzVEK7/) ## Web UI 交互模式 > **项目代码已重构,该模式代码尚未更新,未来开发完成重新开放!** ## Web API 接口模式 ![WebAPI模式截图](docs/screenshot/WebAPI模式截图CN1.png) ***** ![WebAPI模式截图](docs/screenshot/WebAPI模式截图CN2.png) > **启动该模式后,访问 `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() ``` # 📈 项目状态 * 🟢 经过测试,[Releases](https://github.com/JoeanAmier/TikTokDownloader/releases/latest) 发布的源码已经验证所有功能正常可用 * 🟡 DouK-Downloader 开发计划及进度可前往 [Projects](https://github.com/users/JoeanAmier/projects/2) 查阅 * 🔴 请注意,最新源码\(Beta 版本\)可能存在一些不稳定的 Bug * 🔴 如果在使用过程中发现程序 Bug,请及时告知作者修复 # 📋 项目说明 ## 快速入门

⭐ Mac OS、Windows 10 及以上用户可前往 Releases 或者 Actions 下载已编译的程序,开箱即用!

⭐ 本项目包含自动构建可执行文件的 GitHub Actions,使用者可以随时使用 GitHub Actions 将最新源码构建为可执行文件!

⭐ 自动构建可执行文件教程请查阅本文档的 构建可执行文件指南 部分;如果需要更加详细的图文教程,请 查阅文章

注意:Mac OS 平台可执行文件 main 可能需要从终端命令行启动;受设备限制,Mac OS 平台可执行文件尚未经过测试,无法保证可用性!


  1. 运行可执行文件 或者 配置环境运行
      运行可执行文件
    1. 下载 Releases 或者 Actions 构建的可执行文件压缩包
    2. 解压后打开程序文件夹,双击运行 main
      配置环境运行 [//]: # (
    1. 安装不低于 3.12 版本的 Python 解释器
    2. )
    3. 安装 3.12 版本的 Python 解释器
    4. 下载最新的源码或 Releases 发布的源码至本地
    5. 运行 python -m venv venv 命令创建虚拟环境(可选)
    6. 运行 .\venv\Scripts\activate.ps1 或者 venv\Scripts\activate 命令激活虚拟环境(可选)
    7. 运行 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt 命令安装程序所需模块
    8. 运行 python .\main.py 或者 python main.py 命令启动 DouK-Downloader
  2. 阅读 DouK-Downloader 的免责声明,根据提示输入内容
  3. 将 Cookie 信息写入配置文件
      从剪贴板读取 Cookie
    1. 参考 Cookie 提取教程,复制所需 Cookie 至剪贴板
    2. 选择 从剪贴板读取 Cookie 选项,程序会自动读取剪贴板的 Cookie 并写入配置文件
      从浏览器读取 Cookie
    1. 选择 从浏览器读取 Cookie 选项,按照提示输入浏览器类型或序号
      扫码登录获取 Cookie(失效)
    1. 选择 扫码登录获取 Cookie 选项,程序会显示登录二维码图片,并使用默认应用打开图片
    2. 使用抖音 APP 扫描二维码并登录账号
    3. 按照提示操作,程序会自动将 Cookie 写入配置文件
  4. 返回程序界面,依次选择 终端交互模式 -> 批量下载链接作品(通用) -> 手动输入待采集的作品链接
  5. 输入抖音作品链接即可下载作品文件(TikTok 平台需要更多初始设置,详见文档)
  6. 更多详细说明请查看 项目文档

⭐ 推荐使用 Windows 终端(Windows 11 自带默认终端)

### Docker 容器
  1. 获取镜像
  2. 创建容器:docker run --name 容器名称(可选) -p 主机端口号:5555 -v tiktok_downloader_volume:/TikTokDownloader -it joeanamier/tiktok-downloader
  3. 运行容器

Docker 容器无法直接访问宿主机的文件系统,部分功能不可用,例如:从浏览器读取 Cookie;其他功能如有异常请反馈!


## 关于 Cookie [点击查看 Cookie 获取教程](https://github.com/JoeanAmier/TikTokDownloader/blob/master/docs/Cookie%E8%8E%B7%E5%8F%96%E6%95%99%E7%A8%8B.md) > * Cookie 仅需在失效后重新写入配置文件,并非每次运行程序都要写入配置文件! > > * Cookie 会影响下载的视频文件分辨率,如果无法下载最高分辨率的视频文件,请尝试更新 Cookie! > > * 程序获取数据失败时,可以尝试更新 Cookie 或者使用已登录的 Cookie!
## 其他说明
## 程序更新 > **方案一:** 下载并解压文件,将旧版本的 `DouK-Downloader.db` 文件和 `settings.json` 文件复制到 `_internal` 文件夹。 > **方案二:** 下载并解压文件(不要运行程序),复制全部文件,直接覆盖旧版本文件。 ## 构建可执行文件指南 本指南将引导您通过 Fork 本仓库并执行 GitHub Actions 自动完成基于最新源码的程序构建和打包! --- ### 使用步骤 #### 1. Fork 本仓库 1. 点击项目仓库右上角的 **Fork** 按钮,将本仓库 Fork 到您的个人 GitHub 账户中 2. 您的 Fork 仓库地址将类似于:`https://github.com/your-username/this-repo` --- #### 2. 启用 GitHub Actions 1. 前往您 Fork 的仓库页面 2. 点击顶部的 **Settings** 选项卡 3. 点击右侧的 **Actions** 选项卡 4. 点击 **General** 选项 5. 在 **Actions permissions** 下,选择 **Allow all actions and reusable workflows** 选项,点击 **Save** 按钮 --- #### 3. 手动触发打包流程 1. 在您 Fork 的仓库中,点击顶部的 **Actions** 选项卡 2. 找到名为 **构建可执行文件** 的工作流 3. 点击右侧的 **Run workflow** 按钮: - 选择 **master** 或者 **develop** 分支 - 点击 **Run workflow** --- #### 4. 查看打包进度 1. 在 **Actions** 页面中,您可以看到触发的工作流运行记录 2. 点击运行记录,查看详细的日志以了解打包进度和状态 --- #### 5. 下载打包结果 1. 打包完成后,进入对应的运行记录页面 2. 在页面底部的 **Artifacts** 部分,您将看到打包的结果文件 3. 点击下载并保存到本地,即可获得打包好的程序 --- ### 注意事项 1. **资源使用**: - Actions 的运行环境由 GitHub 免费提供,普通用户每月有一定的免费使用额度(2000 分钟) 2. **代码修改**: - 您可以自由修改 Fork 仓库中的代码以定制程序打包流程 - 修改后重新触发打包流程,您将得到自定义的构建版本 3. **与主仓库保持同步**: - 如果主仓库更新了代码或工作流,建议您定期同步 Fork 仓库以获取最新功能和修复 --- ### Actions 常见问题 #### Q1: 为什么我无法触发工作流? A: 请确认您已按照步骤 **启用 Actions**,否则 GitHub 会禁止运行工作流 #### Q2: 打包流程失败怎么办? A: - 检查运行日志,了解失败原因 - 确保代码没有语法错误或依赖问题 - 如果问题仍未解决,可以在本仓库的 [Issues 页面](https://github.com/JoeanAmier/TikTokDownloader/issues) 提出问题 #### Q3: 我可以直接使用主仓库的 Actions 吗? A: 由于权限限制,您无法直接触发主仓库的 Actions。请通过 Fork 仓库的方式执行打包流程 # ⚠️ 免责声明
  1. 使用者对本项目的使用由使用者自行决定,并自行承担风险。作者对使用者使用本项目所产生的任何损失、责任、或风险概不负责。
  2. 本项目的作者提供的代码和功能是基于现有知识和技术的开发成果。作者按现有技术水平努力确保代码的正确性和安全性,但不保证代码完全没有错误或缺陷。
  3. 本项目依赖的所有第三方库、插件或服务各自遵循其原始开源或商业许可,使用者需自行查阅并遵守相应协议,作者不对第三方组件的稳定性、安全性及合规性承担任何责任。
  4. 使用者在使用本项目时必须严格遵守 GNU General Public License v3.0 的要求,并在适当的地方注明使用了 GNU General Public License v3.0 的代码。
  5. 使用者在使用本项目的代码和功能时,必须自行研究相关法律法规,并确保其使用行为合法合规。任何因违反法律法规而导致的法律责任和风险,均由使用者自行承担。
  6. 使用者不得使用本工具从事任何侵犯知识产权的行为,包括但不限于未经授权下载、传播受版权保护的内容,开发者不参与、不支持、不认可任何非法内容的获取或分发。
  7. 本项目不对使用者涉及的数据收集、存储、传输等处理活动的合规性承担责任。使用者应自行遵守相关法律法规,确保处理行为合法正当;因违规操作导致的法律责任由使用者自行承担。
  8. 使用者在任何情况下均不得将本项目的作者、贡献者或其他相关方与使用者的使用行为联系起来,或要求其对使用者使用本项目所产生的任何损失或损害负责。
  9. 本项目的作者不会提供 DouK-Downloader 项目的付费版本,也不会提供与 DouK-Downloader 项目相关的任何商业服务。
  10. 基于本项目进行的任何二次开发、修改或编译的程序与原创作者无关,原创作者不承担与二次开发行为或其结果相关的任何责任,使用者应自行对因二次开发可能带来的各种情况负全部责任。
  11. 本项目不授予使用者任何专利许可;若使用本项目导致专利纠纷或侵权,使用者自行承担全部风险和责任。未经作者或权利人书面授权,不得使用本项目进行任何商业宣传、推广或再授权。
  12. 作者保留随时终止向任何违反本声明的使用者提供服务的权利,并可能要求其销毁已获取的代码及衍生作品。
  13. 作者保留在不另行通知的情况下更新本声明的权利,使用者持续使用即视为接受修订后的条款。
在使用本项目的代码和功能之前,请您认真考虑并接受以上免责声明。如果您对上述声明有任何疑问或不同意,请不要使用本项目的代码和功能。如果您使用了本项目的代码和功能,则视为您已完全理解并接受上述免责声明,并自愿承担使用本项目的一切风险和后果。

🌟 贡献指南

欢迎对本项目做出贡献!为了保持代码库的整洁、高效和易于维护,请仔细阅读以下指南,以确保您的贡献能够顺利被接受和整合。

参考资料:

# ✉️ 联系作者

作者的其他开源项目:

⭐ Star 趋势

Star History Chart

# ♥️ 支持项目

如果 DouK-Downloader 对您有帮助,请考虑为它点个 Star ⭐,感谢您的支持!

微信(WeChat) 支付宝(Alipay)
微信赞助二维码 支付宝赞助二维码

如果您愿意,可以考虑提供资助为 DouK-Downloader 提供额外的支持!

# 💰 项目赞助 ## DartNode [![Powered by DartNode](https://dartnode.com/branding/DN-Open-Source-sm.png)](https://dartnode.com "Powered by DartNode - Free VPS for Open Source") *** ## ZMTO ZMTO

ZMTO:一家专业的云基础设施提供商,以可靠的尖端技术与专业支持,提供高效的解决方案,并为符合条件的开源项目提供企业级VPS基础设施,支持开源生态系统的可持续发展与创新。

*** ## TikHub

TikHub:第三方 API 服务供应商,专注于提供各平台 API。

通过每日签到,用户可以免费获取少量使用额度;可以使用我的 推荐链接https://user.tikhub.io/users/signup?referral_code=ZrdH8McC推荐码ZrdH8McC,注册并充值即可获得 $2 额度!

# 💡 项目参考 * https://github.com/Johnserf-Seed/f2 * https://github.com/Johnserf-Seed/TikTokDownload * https://github.com/Evil0ctal/Douyin_TikTok_Download_API * https://github.com/NearHuiwen/TiktokDouyinCrawler * https://github.com/ihmily/DouyinLiveRecorder * https://github.com/encode/httpx/ * https://github.com/Textualize/rich * https://github.com/omnilib/aiosqlite * https://github.com/Tinche/aiofiles * https://github.com/thewh1teagle/rookie * https://github.com/pyinstaller/pyinstaller * https://foss.heptapod.net/openpyxl/openpyxl * https://github.com/carpedm20/emoji/ * https://github.com/lxml/lxml * https://ffmpeg.org/ffmpeg-all.html * https://www.tikwm.com/