Giter Club home page Giter Club logo

wtyicy / tiktokdownloader Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joeanamier/tiktokdownloader

0.0 0.0 0.0 10.71 MB

完全开源,基于 Requests 模块实现:TikTok 视频/图集/原声;抖音视频/图集/收藏/直播/原声/合集/评论/账号/搜索/热榜数据采集工具

Home Page: https://github.com/JoeanAmier/TikTokDownloader/wiki/TikTokDownloader-Documentation

License: GNU General Public License v3.0

JavaScript 17.87% Python 44.45% CSS 17.73% HTML 5.36% SCSS 14.58%

tiktokdownloader's Introduction

TikTokDownloader

TikTokDownloader

GNU General Public License v3.0 stars Sourcery forks TikTokDownloader

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


📝 功能清单

  • ✅ 下载抖音无水印视频/图集
  • ✅ 下载 TikTok 无水印视频/图集
  • ✅ 批量下载抖音账号发布/喜欢/收藏作品
  • ✅ 支持单次输入多个链接
  • ✅ 多账号批量下载作品
  • ✅ 自动跳过已下载的文件
  • ✅ 持久化保存采集数据
  • ✅ 下载动态/静态封面图
  • ✅ 获取抖音直播推流地址
  • ✅ 下载抖音直播视频
  • ✅ Web UI 交互界面
  • ✅ 采集抖音作品评论数据
  • ✅ 批量下载抖音合集作品
  • ✅ 记录点赞收藏等统计数据
  • ✅ 筛选作品发布时间
  • ✅ 支持账号作品增量下载
  • ✅ 支持使用代理采集数据
  • ✅ 支持局域网远程访问
  • ✅ 采集抖音账号详细数据
  • ✅ 作品统计数据更新
  • ✅ 自动更新账号昵称
  • ✅ 部署至私有服务器
  • ✅ 部署至公开服务器
  • ✅ 采集抖音搜索数据
  • ✅ 采集抖音热榜数据
  • ✅ 记录已下载作品 ID
  • ✅ 扫码登陆获取 Cookie
  • ✅ 支持 Web API 调用
  • ✅ 支持多线程下载作品

💻 程序界面

终端命令行模式:

终端模式截图


终端模式截图

Web UI 交互模式:

WebUI模式截图


WebUI模式截图

Web API 接口模式:

WebAPI模式截图

📈 项目状态

  • 🟢 Releases 发布的源码已通过测试,功能均可正常使用
  • 🟢 已完成 Web API 接口模式,欢迎反馈
  • 🟢 准备优化批量下载账号收藏作品功能
  • 🟢 准备重构项目代码,提高代码复用性和可维护性
  • 🟡 未来可能优化 Web API 接口模式,使其支持并发请求
  • 🟡 未来可能开发获取账号关注列表功能
  • 🟡 未来可能开发获取账号收藏合集列表功能
  • 🔴 最新版本的源码可能存在不稳定的 Bug
  • 🔴 如果在使用过程中发现 Bug,请及时告知作者修复

📁 项目结构

TikTokDownloader
├─ main.py                                 // 项目程序启动入口
├─ requirements.txt                        // 程序所需第三方模块信息
├─ settings.json                           // 运行参数配置文件
├─ src                                     // 项目模块源码文件夹
│    ├─ CookieTool.py                      // Cookie 写入模块
│    ├─ Configuration.py                   // 配置文件处理模块
│    ├─ DataAcquirer.py                    // 接口数据获取模块
│    ├─ DataDownloader.py                  // 作品文件下载模块
│    ├─ FileCache.json                     // 文件管理缓存数据
│    ├─ FileManager.py                     // 作品文件管理模块
│    ├─ Parameter.py                       // 加密参数生成模块
│    ├─ Recorder.py                        // 日志及数据记录模块
│    ├─ StringCleaner.py                   // 非法字符处理模块
│    ├─ main_complete.py                   // 终端命令行模式启动入口
│    ├─ main_server.py                     // 服务器部署模式启动入口
│    ├─ main_api_server.py                 // Web API 接口模式启动入口
│    └─ main_web_UI.py                     // Web UI 交互模式启动入口
├─ cache                                   // 缓存数据文件夹
├─ static                                  // 静态资源文件夹
├─ templates                               // HTML 模板文件夹
└─ docs                                    // 项目文档文件夹

📋 程序说明

快速入门:

  1. 安装不低于 3.10 版本的 Python 解释器
  2. 下载最新源码或 Releases 发布的源码至本地
  3. 安装 requirements.txt 包含的第三方模块
  4. 运行 main.py
  5. 将 Cookie 信息写入配置文件
      手动复制粘贴
    1. 使用浏览器打开抖音网页版,复制全部 Cookie 至剪贴板
    2. 选择 复制粘贴写入 Cookie 模式,按照提示将 Cookie 写入配置文件
      扫码登录获取
    1. 选择 扫码登陆写入 Cookie 模式,程序会弹出登录二维码图片
    2. 使用抖音 APP 扫描二维码并登录账号,操作后关闭图片窗口
    3. 按照提示将 Cookie 写入配置文件
  6. 返回程序界面,依次选择 终端命令行模式 --> 单独下载链接作品
  7. 输入抖音或 TikTok 作品链接即可下载作品文件
点击查看项目完整文档

关于 Cookie:

点击查看 Cookie 获取教程

程序功能 是否需要登录
下载账号发布作品
下载账号喜欢作品
下载链接作品
获取直播推流地址
下载直播视频
获取作品评论数据
下载合集作品
获取账号数据
采集搜索结果
采集热榜数据
采集热榜数据
下载账号收藏作品 ✔️

程序获取数据失败时,可以尝试使用已登录的 Cookie 运行!


其他说明:

  • 程序提示用户输入时,直接回车代表返回上级菜单,输入 Qq 代表结束运行
  • 由于获取账号喜欢作品和收藏作品数据仅返回喜欢 / 收藏作品的发布日期,不返回操作日期,因此程序需要获取全部喜欢 / 收藏作品数据再进行日期筛选;如果作品数量较多,可能会花费较长的时间;可通过 pages 参数控制请求次数
  • 使用 SQLite 格式储存数据时,重复获取作品数据将会更新点赞收藏等统计数据
  • 获取私密账号的发布作品数据需要登录后的 Cookie,且登录的账号需要关注该私密账号
  • 批量下载账号作品或合集作品时,如果对应的昵称或标识发生变化,程序会自动更新已下载作品文件名称中的昵称和标识
  • 程序下载文件时会先将文件下载至临时文件夹,下载完成后再移动至储存文件夹;程序运行结束时会清空临时文件夹
  • 为了避免频繁请求导致 IP 被风控,程序已加入延时处理机制。如果追求更高的采集效率,请参阅 修改指引

⚠️ 免责声明

  • 使用者对本项目的使用由使用者自行决定,并自行承担风险。作者对使用者使用本项目所产生的任何损失、责任、或风险概不负责。
  • 本项目的作者提供的代码和功能是基于现有知识和技术的开发成果。作者尽力确保代码的正确性和安全性,但不保证代码完全没有错误或缺陷。
  • 使用者在使用本项目时必须严格遵守 GNU General Public License v3.0 的要求,并在适当的地方注明使用了 GNU General Public License v3.0 的代码。
  • 使用者在任何情况下均不得将本项目的作者、贡献者或其他相关方与使用者的使用行为联系起来,或要求其对使用者使用本项目所产生的任何损失或损害负责。
  • 使用者在使用本项目的代码和功能时,必须自行研究相关法律法规,并确保其使用行为合法合规。任何因违反法律法规而导致的法律责任和风险,均由使用者自行承担。
在使用本项目的代码和功能之前,请您认真考虑并接受以上免责声明。如果您对上述声明有任何疑问或不同意,请不要使用本项目的代码和功能。如果您使用了本项目的代码和功能,则视为您已完全理解并接受上述免责声明,并自愿承担使用本项目的一切风险和后果。

♥️ 赞助项目

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

✉️ 联系作者

TikTokDownloader 是我个人独立维护的一个开源项目,鉴于个人精力有限,请理解项目进展可能较为缓慢,我会尽力保持更新和维护,以确保项目的稳定性和功能的不断改进。

💡 代码参考

tiktokdownloader's People

Contributors

joeanamier avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.