TikTokDownload

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

MIT License

Downloads
49
Stars
5.6K
Committers
3

简体中文 | English

🚀 Environmental Preparation/Environment

The old console doesn't adapt well; using Windows Terminal is recommended.

Unexpected errors might arise with versions below Python3.11.1.

Download the release version. It gets repackaged after every commit.

🧰 Features

  • DouYin API Information:

    • ✅ Detailed user information.
    • ✅ Download published content.
    • ✅ Download favorite content.
    • ✅ Download liked content.
    • ✅ Download picture sets.
    • ✅ Download cover images of the content.
    • ✅ Download content description.
    • ✅ Download original sound.
    • ✅ Extract live stream links.
    • ⌛ Download content from following.
    • ⌛ Download content from friends.
    • ⌛ Download recommended content.
    • ❌ Download collection content.
    • ❌ Extract comments.
  • Asynchronous Downloads:

    • ✅ Download and process multiple content simultaneously to enhance efficiency.
    • ✅ Adjust asynchronous threads to reduce system pressure and reduce API errors.
    • ✅ Adjust network concurrency to reduce server verification.
  • Cookie Management:

    • ✅ Generate the cookie value needed for the web, facilitating the access of login-required APIs.
    • ✅ Handle SetCookie.
  • Configuration Operations:

    • ✅ URL shortening and parsing.
    • ✅ Custom save directory.
    • ✅ Option to download original sound.
    • ✅ Option for automatic updates.
    • ✅ Specify download time interval.
    • ❌ Set download content likes threshold.
    • ❌ Set download content play threshold.
  • Version Updates:

    • ✅ Features to automatically check and download new versions.
  • File Checking:

    • ✅ Check if a file exists before downloading to avoid redundancy.
  • Command Line Interaction:

    • ✅ Provide command line options and global headers for easy operation.
    • ⌛ Provide web UI mode.
  • Scan Code to Login:

    • ✅ Feature for scan code login, no manual cookie entry required.
  • Automatic Renaming:

    • ✅ Use a nickname mapping table to ensure content from renamed authors isn't downloaded again.
    • ⌛ Use content description mapping table to ensure content with edited descriptions isn't downloaded again.
  • Local Encrypted Parameter Call:

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

💡 To Do

🖥 Supported Operating Systems

  • Windows 11
  • Windows 10 Version 1809 (OS Build 17763) or later
  • macOS Monterey (12.0) or later
  • macOS Big Sur (11.0) or later
  • macOS Catalina (10.15) or later
  • Ubuntu 20.04 LTS or later
  • Debian 10 or later
  • CentOS 7 or later
  • Fedora 34 or later
  • Deepin (UOS) 20 or later

📸 Running Process

https://user-images.githubusercontent.com/40727745/fc1e6c46-d0c3-4f2a-a4a5-ca3d781e7d11

https://user-images.githubusercontent.com/40727745/12c21d55-b629-485a-b904-54d86341c371

📥 Installation and Running

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

if __name__ == '__main__':
    # Get command line and configuration file
    cmd = Util.Command()
    config = cmd.config_dict
    dyheaders = cmd.dyheaders

    # Asynchronously download content
    Util.asyncio.run(Util.Profile(config, dyheaders).get_Profile())
    input("[  Prompt  ]: Download completed, press any key to exit.")

  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

💖 Sponsorship

Thank you for supporting this project! If you find this project helpful, please consider sponsoring. You can directly visit our

📧 Contact

If you have any questions or suggestions, you can contact me via email:

🙏 Acknowledgments

We genuinely appreciate their contributions and efforts.

⚖️ Disclaimer

This project does not sell, share, encrypt, upload, or study any personal information. This project and its associated code are for learning and research purposes only and do not constitute any explicit or implicit warranty. The author assumes no responsibility for any form of loss caused by the use of this project and its code.

📜 License Statement

MIT License

Copyright (c) 2021 JohnserfSeed

The source code of this project is licensed under the MIT License. For detailed information, please refer to the LICENSE file.

📝 Contributor Code of Conduct

All contributors are welcome to this project. We hope to create a friendly environment where everyone can work together in an atmosphere of respect and understanding. Please review our Contributor Code of Conduct before participating.

👨‍💻 Contributors

We welcome all kinds of contributions, be it error reporting, improvement suggestions, or provision of code and documentation. We appreciate your help.