/TikTokDownload

抖音去水印批量下载用户主页作品、喜欢、收藏、图文、音频

Primary LanguagePythonMIT LicenseMIT

项目图

✨ 抖音去水印作品下载 ✨

English | 简体中文

License: MIT Release Download GitHub Repo size GitHub Repo Languages Python v3.11.1 Terminal: wt

GitHub Stars GitHub Forks GitHub Issues GitHub Closed Issues

jsDelivr monthly hits Hits Discord Patreon

🚀 环境准备/Environment

Microsoft 应用商店

旧的控制台无法很好适配,推荐使用Windows Terminal。

Python v3.11.1

Python3.11.1 低于该版本可能会有意外的错误

GitHub 发行版

发行版下载 每次Commits之后会重新打包

⚙ Windows Terminal 设置(必看)

wt配置

🧰 功能/Features

  • DouYin 接口信息

    • ✅ 详细用户信息。
    • ✅ 下载发布作品。
    • ✅ 下载收藏作品。
    • ✅ 下载喜欢作品。
    • ✅ 下载图集作品。
    • ✅ 下载作品封面。
    • ✅ 下载作品文案。
    • ✅ 下载作品原声。
    • ✅ 提取直播链接。
    • ⌛ 下载关注作品。
    • ⌛ 下载好友作品。
    • ⌛ 下载推荐作品。
    • ❌ 下载合集作品。
    • ❌ 提取评论。
  • 异步下载

    • ✅ 同时下载和处理多个作品,提高效率。
    • ✅ 调节异步线程,减轻系统压力减少接口出错。
    • ✅ 调节网络并发数,减少被服务器校验
  • Cookie 管理

    • ✅ 生成web所需 cookie 值,便于访问需要登录的接口。
    • ✅ 处理 SetCookie。
  • 配置文件操作

    • ✅ 长短链解析。
    • ✅ 自定义保存目录。
    • ✅ 是否下载原声。
    • ✅ 是否自动更新。
    • ✅ 指定下载时间区间。
    • ❌ 设定下载作品点赞阈值。
    • ❌ 设定下载作品播放阈值。
  • 版本更新

    • ✅ 提供自动检查和下载新版本的功能。
  • 文件检查

    • ✅ 下载文件前检查文件是否已经存在,避免重复下载。
  • 命令行交互

    • ✅ 提供命令行选项和全局 headers,便于用户操作。
    • ⌛ 提供webui模式
  • 扫码登录

    • ✅ 提供扫码登录的功能,无需手动填写 cookie。
  • 自动重命名

    • ✅ 使用昵称映射表确保不重复下载改名作者的作品。
    • ⌛ 使用作品文案映射表确保不重复下载改文案的作品。
  • 本地加密参数调用

    • ✅ XBogus
    • ✅ verifyFp
    • ✅ s_v_web_id
    • ✅ ttwid
    • ✅ x-tt-params
    • 🔘 msToken

💡 待办/ToDo

🖥 支持的操作系统/Supported Operating Systems

1.4.2.2 支持的操作系统列表
  • Windows 11
  • Windows 10 版本 1809(OS 内部版本 17763)或更高版本
  • macOS Monterey(12.0)或更高版本
  • macOS Big Sur(11.0)或更高版本
  • macOS Catalina(10.15)或更高版本
  • Ubuntu 20.04 LTS 或更高版本
  • Debian 10 或更高版本
  • CentOS 7 或更高版本
  • Fedora 34 或更高版本
  • Deepin (UOS) 20 或更高版本

📸 运行过程/Running Process

🎬 无配置文件扫码登录
default.mp4
🎬 主页作品下载
default.mp4

📥 安装与运行/Installation and Running

  1. 📦 安装/Installation
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
  1. ▶️ 运行/Running
import Util

if __name__ == '__main__':
    # 获取命令行和配置文件
    cmd = Util.Command()
    config = cmd.config_dict
    dyheaders = cmd.dyheaders

    # 异步下载作品
    Util.asyncio.run(Util.Profile(config, dyheaders).get_Profile())
    input("[  提示  ]:下载完成,输入任意键退出。")
  1. 🔬 测试/Test
python example.py

🗂️ 项目结构/Folder

📁 目录
├─ .github
│   └─ ISSUE_TEMPLATE
│       ├── --------.md
│       └── -------.md
│
├─ API
│   ├── API.js
│   ├── API参考.md
│   ├── Server.txt
│   ├── TikTokAPI.py
│   ├── TikTokDownloadVersion.txt
│   ├── TikTokGUIVersion.txt
│   ├── TikTokLive.txt
│   ├── TikTokMultiVersion.txt
│   ├── TikTokPicVersion.txt
│   ├── TikTokTool.txt
│   ├── TikTokUpdata.txt
│   ├── user_base_info.json
│   ├── user_post_delete.json
│   ├── user_post_detail.json
│   ├── user_post_info_image.json
│   ├── user_post_info_video.json
│   └── user_profile_info.json
│
├─ Collection
│   ├── CopyWritingHomePage_1.json
│   ├── GirlHomePage_1.json
│   └── MusicHomePage_1.json
│
├─ DB
│   └── create.sql
│
├─ GUI
│   ├── Main.ui
│   ├── preview.png
│   ├── README-EN.md
│   ├── README.md
│   ├── requirements.txt
│   ├── resource.py
│   └── Resource.qrc
│
└─ Util
    ├── Check.py
    ├── Command.py
    ├── Config.py
    ├── Cookies.py
    ├── Download.py
    ├── Lives.py
    ├── Log.py
    ├── Login.py
    ├── NickMapper.py
    ├── Profile.py
    ├── Resource.py
    ├── Urls.py
    ├── XB.py
    ├── __init__.py
    ├── __version__.py
    └─ algorithm
        ├── package.json
        ├── Server.py
        ├── s_v_web_id.js
        ├── s_v_web_id.py
        ├── x-bogus.js
        └── x-tt-params.js
│
├─ .gitignore
├─ Banner.png
├─ build-win.bat
├─ conf.conf
├─ conf.ini
├─ Dockerfile
├─ example.py
├─ info.db
├─ LICENSE
├─ Logo.ico
├─ README-EN.md
├─ README.md
├─ requirements.txt
├─ server.bat
├─ server.sh
├─ TikTokLive.py
├─ TikTokMultiGUI.py
├─ TikTokTool.py
├─ TikTokUpdata.py
├─ version
└─ _config.yml

💖 赞赏/Sponsor

赞赏

感谢对本项目的支持!如果您觉得这个项目有帮助,欢迎赞助。您可以直接访问我们的 Patreon

📧 联系/Contact

如果有任何问题或者建议,可以通过邮箱联系我:

🙏 鸣谢/Acknowledgments

对于他们的贡献和努力,我们表示由衷的感谢。

⚖️ 免责声明/Disclaimer

此项目不出售、共享、加密、上传、研究任何个人信息。此项目及其相关代码仅供学习与研究使用,不构成任何明示或暗示的保证。使用者因使用此项目及其代码可能造成的任何形式的损失,作者不承担任何责任。

📜 版权声明/LICENSE

MIT License

Copyright (c) 2021 JohnserfSeed

此项目的源代码在 MIT 许可证下授权,有关详细信息,请参阅 LICENSE 文件。

📝 贡献者守则/CoC

此项目欢迎所有的贡献者。我们希望能够创建一个友好的环境,让每个人都能在尊重和理解的氛围**同工作。在参与贡献之前,请参阅我们的 贡献者守则

👨‍💻贡献者/Contributors

我们欢迎任何形式的贡献,无论是提交错误报告,提出改进意见,或者是提供代码和文档。我们都欣赏你的帮助。

Contributors