Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Johnserf-Seed/TikTokDownload

抖音去水印批量下载用户主页作品、喜欢、收藏、图文、音频
https://github.com/Johnserf-Seed/TikTokDownload

api douyin plugin python tiktok utools xbogus

Last synced: about 18 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

![Project Image](https://tvax2.sinaimg.cn/large/006908GAly1hgn9zod1yuj30zk0hstmf.jpg)

✨ TikTok Watermark-Free Video Downloader ✨


[简体中文](README.md) | English

[![License: MIT](https://img.shields.io/github/license/johnserf-seed/tiktokdownload?style=for-the-badge)](https://github.com/Johnserf-Seed/TikTokDownload/blob/main/LICENSE)
![Release Download](https://img.shields.io/github/downloads/Johnserf-Seed/TikTokDownload/total?style=for-the-badge)
![GitHub Repo size](https://img.shields.io/github/repo-size/Johnserf-Seed/TikTokDownload?style=for-the-badge&color=3cb371)
[![GitHub Repo Languages](https://img.shields.io/github/languages/top/Johnserf-Seed/TikTokDownload?style=for-the-badge)](https://github.com/BeyondDimension/SteamTools/search?l=c%23)
[![Python v3.11.1](https://img.shields.io/badge/python-v3.11.1-orange?style=for-the-badge)](https://github.com/Johnserf-Seed/TikTokDownload)
![Terminal: wt](https://img.shields.io/badge/Terminal-wt-blue?style=for-the-badge)

[![GitHub Stars](https://img.shields.io/github/stars/johnserf-seed/tiktokdownload?style=social)](https://github.com/Johnserf-Seed/TikTokDownload)
[![GitHub Forks](https://img.shields.io/github/forks/johnserf-seed/tiktokdownload?style=social)](https://github.com/Johnserf-Seed/TikTokDownload)
[![GitHub Issues](https://img.shields.io/github/issues/johnserf-seed/tiktokdownload?style=social)](https://github.com/Johnserf-Seed/TikTokDownload)
[![GitHub Closed Issues](https://img.shields.io/github/issues-closed/johnserf-seed/tiktokdownload?style=social)](https://github.com/Johnserf-Seed/TikTokDownload)

[![jsDelivr monthly hits](https://data.jsdelivr.com/v1/package/gh/Johnserf-Seed/TikTokDownload/badge)](https://www.jsdelivr.com/package/gh/Johnserf-Seed/TikTokDownload)
[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FJohnserf-Seed%2FTikTokDownload&count_bg=%235FFFFF&title_bg=%23FB1953&icon=tiktok.svg&icon_color=%23250C1F&title=view&edge_flat=false)](https://hits.seeyoufarm.com)
[![Discord](https://img.shields.io/discord/1070512513889878067?color=5865F2&logo=discord&logoColor=white?style=for-the-badge)](https://discord.gg/q3hA8qQZbG)
[![Patreon](https://img.shields.io/badge/Patreon-TikTokDownload-red.svg?style=flat&logo=patreon)](https://www.patreon.com/TikTokDownload713)

## 🚀 Environmental Preparation/Environment

> [![Microsoft App Store](https://tvax1.sinaimg.cn/large/006908GAly1hgn87jhad8j305001qa9y.jpg)](https://aka.ms/terminal)
>
> The old console doesn't adapt well; using Windows Terminal is recommended.
>
> [![Python v3.11.1](https://www.python.org/static/img/python-logo.png)](https://www.python.org/ftp/python/3.11.1/python-3.11.1-amd64.exe)
>
> Unexpected errors might arise with versions below Python3.11.1.
>
> [![GitHub Release Version](https://tvax2.sinaimg.cn/large/006908GAly1hh16psn51aj30a5020gly.jpg)](https://github.com/Johnserf-Seed/TikTokDownload/releases)
>
> Download the release version. It gets repackaged after every commit.

⚙ Windows Terminal Settings (Must-read)

![wt configuration](https://github.com/Johnserf-Seed/TikTokDownload/assets/40727745/997b6fc2-586e-4268-bee8-43bb8d68622c)

## 🧰 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

- Adapt for TikTok.
- Set up automation tasks.
- Multi-user parsing.
- [For more, check the project board](https://github.com/users/Johnserf-Seed/projects/1/views/1)

## 🖥 Supported Operating Systems

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 Process

🎬 Running without configuration file and scan code login

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

🎬 Downloading from the homepage

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

## 📥 Installation and Running

1. **📦 Installation**

```bash
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
```

2. **▶️ Running**

```python
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.")

```

3. **🔬 Test**

```bash
python example.py
```

## 🗂️ Folder

📁 directory

```bash
├─ .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

![Sponsorship Image](https://user-images.githubusercontent.com/40727745/217866800-23980dc1-f3ce-4bc7-b192-518651fef8da.png)

Thank you for supporting this project! If you find this project helpful, please consider sponsoring. You can directly visit our [![Patreon](https://img.shields.io/badge/Patreon-TikTokDownload-red.svg?style=flat&logo=patreon)](https://www.patreon.com/TikTokDownload713)

## 📧 Contact

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

- Email: [[email protected]](mailto:[email protected])

## 🙏 Acknowledgments

- [Windows Terminal](https://aka.ms/terminal)
- [aiohttp](https://github.com/aio-libs/aiohttp)
- [requests](https://github.com/psf/requests)
- [Pillow (PIL Fork)](https://github.com/python-pillow/Pillow)
- [lxml](https://github.com/lxml/lxml)
- [rich](https://github.com/willmcgugan/rich)
- [qrcode](https://github.com/lincolnloop/python-qrcode)
- [ConfigObj](https://github.com/DiffSK/configobj)

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](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](CODE_OF_CONDUCT.md) 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.

![Contributors](https://contributors-img.web.app/image?repo=Johnserf-Seed/TikTokDownload)