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.
-
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
- Adapt for TikTok.
- Set up automation tasks.
- Multi-user parsing.
- For more, check the project board
List of Operating Systems supported by version 1.5.0.0
- 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 without configuration file and scan code login
default.mp4
🎬 Downloading from the homepage
default.mp4
- 📦 Installation
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
▶️ 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.")
- 🔬 Test
python example.py
📁 directory
├─ .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
Thank you for supporting this project! If you find this project helpful, please consider sponsoring. You can directly visit our
If you have any questions or suggestions, you can contact me via email:
- Email: [email protected]
We genuinely appreciate their contributions and efforts.
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.
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.
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.
We welcome all kinds of contributions, be it error reporting, improvement suggestions, or provision of code and documentation. We appreciate your help.