mirror of
https://github.com/Evil0ctal/Douyin_TikTok_Download_API.git
synced 2025-04-23 05:24:26 +08:00
docs: Added README."en".md translation via https://github.com/dephraiim/translate-readme
This commit is contained in:
parent
37e2ff870c
commit
72cc74f483
114
README.en.md
114
README.en.md
@ -17,17 +17,17 @@
|
||||
|
||||
Language: \[[English](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.en.md)] \[[Simplified Chinese](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.md)]
|
||||
|
||||
## 👻Introduction
|
||||
## 👻 Introduction
|
||||
|
||||
This project is based on[PyWebIO](https://github.com/pywebio/PyWebIO),[FastAPI](https://fastapi.tiangolo.com/),[AIOHTTP](https://docs.aiohttp.org/), fast asynchronous[Tik Tok](https://www.douyin.com/)/[TikTok](https://www.tiktok.com/)Data crawling tool, and realize online batch parsing and download of video or atlas without watermark, data crawling API, iOS shortcut command without watermark download and other functions through the Web terminal. You can deploy or transform this project yourself to achieve more functions, or you can call it directly in your project[scraper.py](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/Stable/scraper.py)or install an existing[pip package](https://pypi.org/project/douyin-tiktok-scraper/)As a parsing library to easily crawl data, etc...
|
||||
This project is based on[PyWebIO](https://github.com/pywebio/PyWebIO),[FastAPI](https://fastapi.tiangolo.com/),[AIOHTTP](https://docs.aiohttp.org/), fast asynchronous[Tik Tok](https://www.douyin.com/)/[TikTok](https://www.tiktok.com/)It is a data crawling tool, and realizes online batch analysis and download of video or atlas without watermark through the web terminal, data crawling API, iOS shortcut command without watermark download and other functions. You can deploy or transform this project yourself to achieve more functions, or you can call it directly in your project[scraper.py](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/Stable/scraper.py)or install an existing[pip package](https://pypi.org/project/douyin-tiktok-scraper/)As a parsing library, it is easy to crawl data, etc...
|
||||
|
||||
_Some simple application scenarios:_
|
||||
|
||||
_Download prohibited videos, perform data analysis, and download without watermark on iOS (with[Shortcut APP that comes with iOS](https://apps.apple.com/cn/app/%E5%BF%AB%E6%8D%B7%E6%8C%87%E4%BB%A4/id915249334)Cooperate with the API of this project to realize in-app download or read clipboard download), etc..._
|
||||
_Download prohibited videos for data analysis, download without watermark for iOS (with[iOS built-in shortcut command APP](https://apps.apple.com/cn/app/%E5%BF%AB%E6%8D%B7%E6%8C%87%E4%BB%A4/id915249334)Cooperate with the API of this project to realize in-app download or read clipboard download), etc....._
|
||||
|
||||
## 🖥Public Site: I'm vulnerable...please don't hit me at will (·•᷄ࡇ•᷅ )
|
||||
## 🖥Public Site: I'm fragile...please don't hit me (••᷄ࡇ•᷅ )
|
||||
|
||||
> **API-V2:**support input`Douyin|TikTok`The user's homepage crawls the author \[homepage video data (remove watermark link, liked video list (permission must be public), video comment data, background music video list data, etc...), please check the V2 document for details , the server response time may sometimes become longer, please`timeout`Set the value high.
|
||||
> **API-V2:**support input`Douyin|TikTok`Crawl the author's homepage \[homepage video data (remove the watermark link, the list of liked videos (permissions must be public), video comment data, background music video list data, etc...), please refer to the V2 document for details , the server response time sometimes becomes longer, please set the`timeout`Set the value high.
|
||||
|
||||
🍔Web APP:<https://douyin.wtf/>
|
||||
|
||||
@ -37,7 +37,7 @@ _Download prohibited videos, perform data analysis, and download without waterma
|
||||
|
||||
💾iOS Shortcut:[Shortcut release](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/discussions/104?sort=top)
|
||||
|
||||
📦️ Desktop downloader (recommended warehouse):
|
||||
📦️Desktop downloader (recommended by warehouse):
|
||||
|
||||
- [Tairraos/TikToon](https://github.com/Tairraos/TikDown/)
|
||||
- [Johnserf-Seed/TikTokDownload](https://github.com/Johnserf-Seed/TikTokDownload)
|
||||
@ -55,13 +55,13 @@ _Download prohibited videos, perform data analysis, and download without waterma
|
||||
|
||||
> **_web_api.py:_**
|
||||
|
||||
- get request parameters and use`Scraper()`After the class processes the data, it returns it in the form of JSON, and the video is downloaded. It can be called quickly with the iOS shortcut command, and supports asynchronous.
|
||||
- 获得请求参数并使用`Scraper()`After the class processes the data, it returns in the form of JSON, video downloads, quick calls with iOS shortcut commands, and asynchronous support.
|
||||
|
||||
> **_web_app.py:_**
|
||||
|
||||
- for`web_api.py`as well as`scraper.py`Created a simple web program that processes the value entered on the web page and uses it`Scraper()`Class handling and coordination`web_api.py`The interface output is on the web page (similar to front-end and back-end separation)
|
||||
- for`web_api.py`as well as`scraper.py`A simple web program made to process the value entered in the web page and then use it`Scraper()`class processing and matching`web_api.py`The interface output is on the web page (similar to the separation of front and back ends)
|
||||
|
||||
**_Most of the parameters of the above files can be found in[config.ini](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/config.ini)make changes in_**
|
||||
**_Most of the parameters of the above files can be found in[config. ini](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/config.ini)make changes in_**
|
||||
|
||||
## 💡Project file structure
|
||||
|
||||
@ -73,37 +73,37 @@ _Download prohibited videos, perform data analysis, and download without waterma
|
||||
├── scraper.py -> (Parsing library)
|
||||
├── config.ini -> (configuration file)
|
||||
|
||||
## 💯 Supported features:
|
||||
## 💯 Supported functions:
|
||||
|
||||
- Douyin (Douyin overseas version: TikTok) video/picture analysis
|
||||
- Batch parsing on the web page (support Douyin/TikTok mixed submission)
|
||||
- Batch download of watermark-free videos on the parsing result page on the webpage (V3.0.0 temporarily removed)
|
||||
- Douyin (overseas version of Douyin: TikTok) video/picture analysis
|
||||
- Batch analysis on the web page (supports Douyin/TikTok mixed submission)
|
||||
- Batch download of non-watermarked videos from the analysis result page on the web page (temporarily removed in V3.0.0)
|
||||
- API call to get link data
|
||||
- make[pip package](https://pypi.org/project/douyin-tiktok-scraper/)Easily and quickly import your projects
|
||||
- [\[iOS shortcut command to quickly call API\]](https://apps.apple.com/cn/app/%E5%BF%AB%E6%8D%B7%E6%8C%87%E4%BB%A4/id915249334)Realize in-app download of video/atlas without watermark
|
||||
- Parse all videos in the author's homepage ([API-V2](https://api-v2.douyin.wtf/docs)Support Douyin/TikTok)
|
||||
- Parse all comments in the video ([API-V2](https://api-v2.douyin.wtf/docs)Support Douyin/TikTok)
|
||||
- [\[iOS shortcut command to quickly call API\]](https://apps.apple.com/cn/app/%E5%BF%AB%E6%8D%B7%E6%8C%87%E4%BB%A4/id915249334)Realize in-app download without watermark video/photo gallery
|
||||
- Parse all videos on the author's homepage ([API-V2](https://api-v2.douyin.wtf/docs)Support Douyin/TikTok)
|
||||
- Parse all comment information in the video ([API-V2](https://api-v2.douyin.wtf/docs)Support Douyin/TikTok)
|
||||
|
||||
* * *
|
||||
|
||||
## 🤦Follow-up features:
|
||||
## 🤦Following features:
|
||||
|
||||
- [ ] Welcome to make new suggestions or share your ideas with me in the issue
|
||||
- [ ] Welcome to submit PR to[Development branch](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/tree/Development)♪(・ω・)ノ)
|
||||
- [ ] Welcome to make new suggestions or share your ideas with me in issue
|
||||
- [ ] Welcome to submit PR to[Development分支](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/tree/Development)♪(・ω・)ノ)
|
||||
|
||||
* * *
|
||||
|
||||
## 🧭 Running Instructions (Python version > 3.0):
|
||||
## 🧭Running instructions (Python version > 3.0):
|
||||
|
||||
> 🚨If you want to deploy this project, please refer to the deployment method ([Docker deployment](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.md#%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E4%BA%8C-docker "Docker部署"),[Manual deployment](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.md#%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E4%B8%80-%E6%89%8B%E5%8A%A8%E9%83%A8%E7%BD%B2 "手动部署"))
|
||||
> 🚨If you want to deploy this project, please refer to the deployment method ([Docker deployment](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.md#%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E4%BA%8C-docker "Docker部署"),[manual deployment](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.md#%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E4%B8%80-%E6%89%8B%E5%8A%A8%E9%83%A8%E7%BD%B2 "手动部署"))
|
||||
|
||||
- Clone this repository:
|
||||
- Clone the repository:
|
||||
|
||||
```console
|
||||
git clone https://github.com/Evil0ctal/Douyin_TikTok_Download_API.git
|
||||
```
|
||||
|
||||
- Move to repository directory:
|
||||
- Move to the repository directory:
|
||||
|
||||
```console
|
||||
cd Douyin_TikTok_Download_API
|
||||
@ -121,7 +121,7 @@ pip install -r requirements.txt
|
||||
vim config.ini
|
||||
```
|
||||
|
||||
- Web page parsing
|
||||
- web page analysis
|
||||
|
||||
```console
|
||||
# 运行web_app.py
|
||||
@ -153,7 +153,7 @@ async def async_test(url: str) -> dict:
|
||||
asyncio.run(async_test(url=input("Paste Douyin/TikTok share URL here: ")))
|
||||
```
|
||||
|
||||
- Entry (port can be modified in the config.ini file)
|
||||
- Entry (port can be modified in config.ini file)
|
||||
|
||||
```text
|
||||
Web入口:
|
||||
@ -162,15 +162,15 @@ API入口:
|
||||
http://localhost(服务器IP):8000/
|
||||
```
|
||||
|
||||
## 🗺️ Supported submission formats (including but not limited to the following examples):
|
||||
## 🗺️Supported submission formats (including but not limited to the following examples):
|
||||
|
||||
- Douyin share password (copy in APP)
|
||||
- Douyin sharing password (copy in APP)
|
||||
|
||||
```text
|
||||
例子:7.43 pda:/ 让你在几秒钟之内记住我 https://v.douyin.com/L5pbfdP/ 复制此链接,打开Dou音搜索,直接观看视频!
|
||||
```
|
||||
|
||||
- Douyin Short URL (Copy in APP)
|
||||
- Douyin short URL (copy in APP)
|
||||
|
||||
```text
|
||||
例子:https://v.douyin.com/L4FJNR3/
|
||||
@ -183,28 +183,28 @@ http://localhost(服务器IP):8000/
|
||||
https://www.douyin.com/video/6914948781100338440
|
||||
```
|
||||
|
||||
- Douyin discovery page URL (APP copy)
|
||||
- Douyin Discovery Page URL (APP Copy)
|
||||
|
||||
```text
|
||||
例子:
|
||||
https://www.douyin.com/discover?modal_id=7069543727328398622
|
||||
```
|
||||
|
||||
- TikTok URL Shortening (In-App Copy)
|
||||
- TikTok short URL (copy in APP)
|
||||
|
||||
```text
|
||||
例子:
|
||||
https://vm.tiktok.com/TTPdkQvKjP/
|
||||
```
|
||||
|
||||
- TikTok normal URL (copy from web version)
|
||||
- TikTok normal URL (web version copy)
|
||||
|
||||
```text
|
||||
例子:
|
||||
https://www.tiktok.com/@tvamii/video/7045537727743380782
|
||||
```
|
||||
|
||||
- Douyin/TikTok bulk URLs (no need to separate them)
|
||||
- Douyin/TikTok bulk URLs (no need to use symbols to separate)
|
||||
|
||||
```text
|
||||
例子:
|
||||
@ -220,17 +220,17 @@ https://www.tiktok.com/@tvamii/video/7045537727743380782
|
||||
|
||||
> You can also see the interface documentation in the code of web_api.py
|
||||
|
||||
**_API-V1 Documentation:_**[http://localhost (server IP):8000/docs](http://localhost:8000/docs)or<https://api.douyin.wtf/docs>
|
||||
**_API-V1 documentation:_**[http://localhost(server IP):8000/docs](http://localhost:8000/docs)or<https://api.douyin.wtf/docs>
|
||||
|
||||
**_API-V2 Documentation:_**<https://api-v2.douyin.wtf/docs>
|
||||
**_API-V2 documentation:_**<https://api-v2.douyin.wtf/docs>
|
||||
|
||||
**_API demo:_**
|
||||
|
||||
- Crawl video data (TikTok or Douyin mixed analysis)`https://api.douyin.wtf/api?url=[视频链接/Video URL]&minimal=false`
|
||||
- Crawl video data (TikTok or Douyin hybrid analysis)`https://api.douyin.wtf/api?url=[视频链接/Video URL]&minimal=false`
|
||||
|
||||
- Download video/photo gallery (TikTok or Douyin mixed analysis)`https://api.douyin.wtf/download?url=[视频链接/Video URL]&prefix=true&watermark=false`
|
||||
- Download video/photo gallery (TikTok or Douyin hybrid analysis)`https://api.douyin.wtf/download?url=[视频链接/Video URL]&prefix=true&watermark=false`
|
||||
|
||||
- Replace the domain name to download videos/atlas
|
||||
- Replace domain name to download video/photo gallery
|
||||
|
||||
|
||||
[抖音]
|
||||
@ -247,25 +247,25 @@ https://www.tiktok.com/@tvamii/video/7045537727743380782
|
||||
https://api.douyin.wtf/@evil0ctal/video/7156033831819037994
|
||||
# Return No Watermark Video Download
|
||||
|
||||
**_Check out the documentation for more demos..._**
|
||||
**_For more demos, please check the content of the document..._**
|
||||
|
||||
* * *
|
||||
|
||||
## 💾Deployment (method 1 manual deployment)
|
||||
|
||||
> Note:
|
||||
> The screenshots may not match the text due to update problems, please refer to the text description first.
|
||||
> The screenshots may not match the text due to update issues, please refer to the text description first.
|
||||
|
||||
> It is best to deploy this project to an overseas server (preferably a server in the United States), otherwise strange problems may occur.
|
||||
> It is best to deploy this project to an overseas server (a server in the United States is preferred), otherwise strange problems may occur.
|
||||
|
||||
example:
|
||||
The project is deployed on a domestic server, and the person is in the United States. Clicking the link on the result page reports an error 403, which is visually related to the Douyin CDN.
|
||||
The project is deployed on a South Korean server, parsing TikTok errors, and visually TikTok restricts certain regions or IPs.
|
||||
The project is deployed on a domestic server, but the person is in the United States. Clicking on the link on the result page reports an error 403, which is related to the Douyin CDN by visual inspection.
|
||||
The project is deployed on the South Korean server, and TikTok reports an error, visually checking that TikTok has restricted certain regions or IPs.
|
||||
|
||||
> Deploy using the Pagoda Linux panel (
|
||||
> The Chinese pagoda is going to be bound to a mobile phone number, which is very rogue and cannot be bypassed. It is recommended to use the international version of the pagoda. Google search for the keyword aapanel to install it yourself, and the deployment steps are similar. )
|
||||
> Deploy using Pagoda Linux panel (
|
||||
> The Chinese Pagoda has to be bound to a mobile phone number. It is very rogue and cannot be bypassed. It is recommended to use the international version of Pagoda. Google the keyword aapanel to install it yourself. The deployment steps are similar. )
|
||||
|
||||
- First go to the security group to open ports 8080 and 8000 (default 8080 for Web, default 8000 for API, which can be modified in the file config.ini.)
|
||||
- First of all, go to the security group to open ports 8080 and 8000 (Web defaults to 8080, API defaults to 8000, which can be modified in the file config.ini.)
|
||||
- Search for python in the Pagoda app store and install the project manager (version 1.9 is recommended)
|
||||
|
||||

|
||||
@ -273,22 +273,22 @@ The project is deployed on a South Korean server, parsing TikTok errors, and vis
|
||||
* * *
|
||||
|
||||
- Create a project with an arbitrary name
|
||||
- Path select the path where you upload the file
|
||||
- Python version needs to be at least 3 or more (install it yourself in the version management on the left)
|
||||
- The frame is modified to`Uvicorn`
|
||||
- Path select the path of your uploaded file
|
||||
- The Python version needs to be at least 3 or more (install it yourself in the version management on the left)
|
||||
- The framework is modified to`Uvicorn`
|
||||
- The startup method is changed to`python`
|
||||
- Web startup file selection`web_app.py`
|
||||
- API startup file selection`web_api.py`
|
||||
- Check install module dependencies
|
||||
- Start at will
|
||||
- Please judge by yourself whether the port is occupied. The running port can be modified in the file config.ini.
|
||||
- If there are a lot of requests please use_process daemon_Start preventing process from closing
|
||||
- Check the install module dependencies
|
||||
- Start up at will
|
||||
- Please judge whether the port is occupied by yourself. The running port can be modified in the file config.ini.
|
||||
- If there are a lot of requests use_process daemon_start prevents process from shutting down
|
||||
|
||||

|
||||
|
||||
* * *
|
||||
|
||||
## 💾Deployment (Method 2 Docker)
|
||||
## 💾 Deployment (Method 2 Docker)
|
||||
|
||||
- install docker
|
||||
|
||||
@ -325,10 +325,10 @@ docker compose pull && docker compose down && docker compose up -d
|
||||
|
||||
[](https://github.com/Evil0ctal)[](https://github.com/jw-star)[](https://github.com/Jeffrey-deng)[](https://github.com/chris-ss)[](https://github.com/weixuan00)[](https://github.com/Tairraos)
|
||||
|
||||
## 🎉 Screenshot
|
||||
## 🎉Screenshot
|
||||
|
||||
> Note:
|
||||
> The screenshots may not match the text due to update problems, please refer to the text description first.
|
||||
> The screenshots may not match the text due to update issues, please refer to the text description first.
|
||||
|
||||
<details><summary>点击展开截图</summary>
|
||||
|
||||
@ -340,7 +340,7 @@ docker compose pull && docker compose down && docker compose up -d
|
||||
|
||||
* * *
|
||||
|
||||
- parsing complete
|
||||
- Parsing complete
|
||||
|
||||
> single
|
||||
|
||||
@ -356,7 +356,7 @@ docker compose pull && docker compose down && docker compose up -d
|
||||
|
||||
- API submit/return
|
||||
|
||||
> Video return value
|
||||
> video return value
|
||||
|
||||

|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user