Merge pull request #65 from jw-star/main

This commit is contained in:
Evil0ctal 2022-08-22 01:48:53 -07:00 committed by GitHub
commit 44ed64263c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 548 additions and 321 deletions

73
.github/workflows/docker-image.yml vendored Normal file
View File

@ -0,0 +1,73 @@
# docker-image.yml
name: Publish Docker image # workflow名称可以在Github项目主页的【Actions】中看到所有的workflow
on: # 配置触发workflow的事件
push:
branches: # master分支有push时触发此workflow
- 'master'
tags: # tag更新时触发此workflow
- '*'
workflow_dispatch:
inputs:
name:
description: 'Person to greet'
required: true
default: 'Mona the Octocat'
home:
description: 'location'
required: false
default: 'The Octoverse'
# 定义环境变量, 后面会使用
# 定义 APP_NAME 用于 docker build-args
# 定义 DOCKERHUB_REPO 标记 docker hub repo 名称
env:
APP_NAME: douyin_tiktok_download_api
DOCKERHUB_REPO: jwstar/douyin_tiktok_download_api
jobs:
main:
# 在 Ubuntu 上运行
runs-on: ubuntu-latest
steps:
# git checkout 代码
- name: Checkout
uses: actions/checkout@v2
# 设置 QEMU, 后面 docker buildx 依赖此.
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
# 设置 Docker buildx, 方便构建 Multi platform 镜像
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
# 登录 docker hub
- name: Login to DockerHub
uses: docker/login-action@v1
with:
# GitHub Repo => Settings => Secrets 增加 docker hub 登录密钥信息
# DOCKERHUB_USERNAME 是 docker hub 账号名.
# DOCKERHUB_TOKEN: docker hub => Account Setting => Security 创建.
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# 通过 git 命令获取当前 tag 信息, 存入环境变量 APP_VERSION
- name: Generate App Version
run: echo APP_VERSION=`git describe --tags --always` >> $GITHUB_ENV
# 构建 Docker 并推送到 Docker hub
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
# 是否 docker push
push: true
# 生成多平台镜像, see https://github.com/docker-library/bashbrew/blob/v0.1.1/architecture/oci-platform.go
platforms: |
linux/amd64
linux/arm64
# docker build arg, 注入 APP_NAME/APP_VERSION
build-args: |
APP_NAME=${{ env.APP_NAME }}
APP_VERSION=${{ env.APP_VERSION }}
# 生成两个 docker tag: ${APP_VERSION} 和 latest
tags: |
${{ env.DOCKERHUB_REPO }}:latest
${{ env.DOCKERHUB_REPO }}:${{ env.APP_VERSION }}

12
Dockerfile Normal file
View File

@ -0,0 +1,12 @@
FROM python:3.10.5-slim-buster
MAINTAINER jwstar (https://hub.docker.com/repository/docker/jwstar/douyin_tiktok_download_api)
RUN apt-get update && apt-get -y install gcc
COPY . /app
RUN pip3 --no-cache-dir install --user -r /app/requirements.txt
WORKDIR /app
# -u print打印出来
RUN chmod +x start.sh
CMD ["./start.sh"]

View File

@ -4,7 +4,8 @@
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)] \[[traditional Chinese](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.zh-TW.md)]
> Note: This API is applicable to Douyin and TikTok. Douyin is TikTok in China. You can distribute or modify the code at will, but please mark the original author.
> Note: This API is applicable to Douyin and TikTok. Douyin is TikTok in China. You can distribute or modify the code at
> will, but please mark the original author.
> Note: This API is suitable for Douyin and TikTok. Douyin is TikTok in China. You can distribute or modify the code at will, but please mark the original author.
@ -16,15 +17,18 @@ My WeChat: Evil0ctal
## 👻Introduction
> For the sake of stability, the two functions of /video (returns mp4 files) and /music (returns mp3 files) of the demo station are temporarily closed, and the batch download function of the result page is also temporarily unavailable. If you need it, please deploy it yourself , other functions can still be used normally on the demo site. The API server guarantees normal operation 99% of the time, but does not guarantee 100% successful parsing. If parsing fails, please wait a minute or two and try again.
> For stability reasons, temporarily close /video (returns mp4 files) and /music (returns mp3 files) of the demo station
> These two functions, and the batch download function of the result page are also temporarily unavailable. If you need it, please deploy it yourself. Other functions can still be used normally on the demo site. The API server guarantees 99% of the time to run normally, but does not guarantee 100% parsing. Success, if parsing fails please wait a minute or two and try again.
🚀Demo address:<https://douyin.wtf/>
🛰API demo:<https://api.douyin.wtf/>
💾iOS Shortcuts (Chinese):[Click to get](https://www.icloud.com/shortcuts/331073aca78345cf9ab4f73b6a457f97)(Updated on 2022/07/18, the shortcut command can automatically check for updates, just install it once.)
💾iOS Shortcuts (Chinese):[Click to get](https://www.icloud.com/shortcuts/331073aca78345cf9ab4f73b6a457f97)(
Updated on 2022/07/18, the shortcut command can automatically check for updates, just install it once. )
🌎iOS Shortcut(English):[Click to get](https://www.icloud.com/shortcuts/83548306bc0c4f8ea563108f79c73f8d)(Updated on 2022/07/18, this shortcut will automatically check for updates, only need to install it once.)
🌎iOS Shortcut(English):[Click to get](https://www.icloud.com/shortcuts/83548306bc0c4f8ea563108f79c73f8d)(Updated on
2022/07/18, this shortcut will automatically check for updates, only need to install it once.)
🗂 Shortcut History Version:[Shortcuts release](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/issues/53)
@ -34,7 +38,8 @@ This project uses[PyWebIO](https://github.com/pywebio/PyWebIO)、[Flask](https:/
It can be used to download videos that the author prohibits to download, or to perform data crawling, etc., and can be matched 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.
The shortcut command needs to be in the Douyin or TikTok app, select the video you want to save, click the share button, and then find the option "Douyin TikTok without watermark download", if you encounter a notification asking whether to allow the shortcut command to access xxxx (domain name) or server), you need to click Allow to use it normally, and the successfully downloaded video or gallery will be saved in a special album for easy browsing.
The shortcut command needs to be in the Douyin or TikTok app, select the video you want to save, click the share button, and then find "Douyin TikTok No Watermark Download"
This option, if you encounter a notification asking whether to allow shortcut commands to access xxxx (domain name or server), you need to click Allow before it can be used normally. The successfully downloaded video or gallery will be saved in a special album for easy browsing.
## 💡Project file structure
@ -113,13 +118,14 @@ python3 web_api.py
# 将scraper.py拷贝至你的项目目录
# 在该项目中导入scraper.py
from scraper import Scraper
api = Scraper()
# 解析Douyin视频/图集
douyin_data = api.douyin(input('在此输入抖音分享口令/链接:' ))
douyin_data = api.douyin(input('在此输入抖音分享口令/链接:'))
# 返回字典
print(douyin_data)
# 解析TikTok视频/图集
tiktok_data = api.tiktok(input('在此输入TikTok分享口令/链接:' ))
tiktok_data = api.tiktok(input('在此输入TikTok分享口令/链接:'))
# 返回字典
print(tiktok_data)
```
@ -135,7 +141,7 @@ http://localhost(服务器IP):2333/
## 🗺️ Supported submission formats (including but not limited to the following examples):
- Douyin share password (copy in APP)
- 抖音分享口令 (APP内复制)
```text
例子7.43 pda:/ 让你在几秒钟之内记住我 https://v.douyin.com/L5pbfdP/ 复制此链接打开Dou音搜索直接观看视频
@ -203,33 +209,33 @@ http://localhost(服务器IP):2333/api?url="复制的(抖音/TikTok)口令/链
```json
{
"analyze_time":"1.9043s",
"api_url":"https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6918273131559881997",
"nwm_video_url":"http://v3-dy-o.zjcdn.com/23f0dec312ede563bef881af9a88bdc7/624dd965/video/tos/cn/tos-cn-ve-15/eccedcf4386948f5b5a1f0bcfb3dcde9/?a=1128&br=2537&bt=2537&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=sYGC~3E7nz7Th1PZSDXq&l=202204070118030102080650132A21E31F&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3hleDRsODlkMzMzaGkzM0ApODpmNWc4ODs5N2lmNzg5aWcpaGRqbGRoaGRmLi4ybnBrbjYuYC0tYy0wc3MtYmJjNTM2NjAtNDFjMzJgOmNwb2wrbStqdDo%3D&vl=&vr=",
"original_url":"https://v.douyin.com/L4FJNR3/",
"platform":"douyin",
"status":"success",
"url_type":"video",
"video_author":"Real机智张",
"video_author_id":"Rea1yaoyue",
"video_author_signature":"",
"video_author_uid":"59840491348",
"video_aweme_id":"6918273131559881997",
"video_comment_count":"89145",
"video_create_time":"1610786002",
"video_digg_count":"2968195",
"video_hashtags":[
"百万转场变身"
],
"video_music":"https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/6910889805266504461.mp3",
"video_music_author":"梅尼耶",
"video_music_id":"6910889820861451000",
"video_music_mid":"6910889820861451021",
"video_music_title":"@梅尼耶创作的原声",
"video_play_count":"0",
"video_share_count":"74857",
"video_title":"骑白马的也可以是公主#百万转场变身",
"wm_video_url":"https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300ffe0000c01a96q5nis1qu5b1u10&ratio=720p&line=0"
"analyze_time": "1.9043s",
"api_url": "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6918273131559881997",
"nwm_video_url": "http://v3-dy-o.zjcdn.com/23f0dec312ede563bef881af9a88bdc7/624dd965/video/tos/cn/tos-cn-ve-15/eccedcf4386948f5b5a1f0bcfb3dcde9/?a=1128&br=2537&bt=2537&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=sYGC~3E7nz7Th1PZSDXq&l=202204070118030102080650132A21E31F&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3hleDRsODlkMzMzaGkzM0ApODpmNWc4ODs5N2lmNzg5aWcpaGRqbGRoaGRmLi4ybnBrbjYuYC0tYy0wc3MtYmJjNTM2NjAtNDFjMzJgOmNwb2wrbStqdDo%3D&vl=&vr=",
"original_url": "https://v.douyin.com/L4FJNR3/",
"platform": "douyin",
"status": "success",
"url_type": "video",
"video_author": "Real机智张",
"video_author_id": "Rea1yaoyue",
"video_author_signature": "",
"video_author_uid": "59840491348",
"video_aweme_id": "6918273131559881997",
"video_comment_count": "89145",
"video_create_time": "1610786002",
"video_digg_count": "2968195",
"video_hashtags": [
"百万转场变身"
],
"video_music": "https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/6910889805266504461.mp3",
"video_music_author": "梅尼耶",
"video_music_id": "6910889820861451000",
"video_music_mid": "6910889820861451021",
"video_music_title": "@梅尼耶创作的原声",
"video_play_count": "0",
"video_share_count": "74857",
"video_title": "骑白马的也可以是公主#百万转场变身",
"wm_video_url": "https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300ffe0000c01a96q5nis1qu5b1u10&ratio=720p&line=0"
}
```
@ -237,40 +243,40 @@ http://localhost(服务器IP):2333/api?url="复制的(抖音/TikTok)口令/链
```json
{
"album_author":"治愈图集",
"album_author_id":"ZYTJ2002",
"album_author_signature":"取无水印图",
"album_author_uid":"449018054867063",
"album_aweme_id":"7015137063141920030",
"album_comment_count":"5436",
"album_create_time":"1633338878",
"album_digg_count":"193734",
"album_hashtags":[
"晚霞",
"治愈系",
"落日余晖",
"日落🌄"
],
"album_list":[
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5223757a7bef4f8480cd25d0fa2d2d94~noop.webp?x-expires=1651856400&x-signature=K1VjJdWTHCAaYSz14y6NumjjtfI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/d99467672da840908acccf2d2b4b7ef7~noop.webp?x-expires=1651856400&x-signature=ncBb8Tt7z4PmpUyiCNr%2FJYnwRSA%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5c2562210b1a4d4c99d6d4dbd2f23f2b~noop.webp?x-expires=1651856400&x-signature=Rsmplb53IKfvKd3mmIb4iQNhlIE%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/9bb74c0c6aff4217bd1491a077b2c817~noop.webp?x-expires=1651856400&x-signature=BLRyHoKP0ybIci57yneOca62dxI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47"
],
"album_music":"https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6978805801733442341.mp3",
"album_music_author":"魏同学",
"album_music_id":"6978805810365271000",
"album_music_mid":"6978805810365270791",
"album_music_title":"@魏同学创作的原声",
"album_play_count":"0",
"album_share_count":"30717",
"album_title":"“山海自有归期 风雨自有相逢 意难平终将和解 万事终将如意”#晚霞 #治愈系 #落日余晖 #日落🌄",
"analyze_time":"1.0726s",
"api_url":"https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7015137063141920030",
"original_url":"https://v.douyin.com/Nb8jysN/",
"platform":"douyin",
"status":"success",
"url_type":"album"
"album_author": "治愈图集",
"album_author_id": "ZYTJ2002",
"album_author_signature": "取无水印图",
"album_author_uid": "449018054867063",
"album_aweme_id": "7015137063141920030",
"album_comment_count": "5436",
"album_create_time": "1633338878",
"album_digg_count": "193734",
"album_hashtags": [
"晚霞",
"治愈系",
"落日余晖",
"日落🌄"
],
"album_list": [
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5223757a7bef4f8480cd25d0fa2d2d94~noop.webp?x-expires=1651856400&x-signature=K1VjJdWTHCAaYSz14y6NumjjtfI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/d99467672da840908acccf2d2b4b7ef7~noop.webp?x-expires=1651856400&x-signature=ncBb8Tt7z4PmpUyiCNr%2FJYnwRSA%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5c2562210b1a4d4c99d6d4dbd2f23f2b~noop.webp?x-expires=1651856400&x-signature=Rsmplb53IKfvKd3mmIb4iQNhlIE%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/9bb74c0c6aff4217bd1491a077b2c817~noop.webp?x-expires=1651856400&x-signature=BLRyHoKP0ybIci57yneOca62dxI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47"
],
"album_music": "https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6978805801733442341.mp3",
"album_music_author": "魏同学",
"album_music_id": "6978805810365271000",
"album_music_mid": "6978805810365270791",
"album_music_title": "@魏同学创作的原声",
"album_play_count": "0",
"album_share_count": "30717",
"album_title": "“山海自有归期 风雨自有相逢 意难平终将和解 万事终将如意”#晚霞 #治愈系 #落日余晖 #日落🌄",
"analyze_time": "1.0726s",
"api_url": "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7015137063141920030",
"original_url": "https://v.douyin.com/Nb8jysN/",
"platform": "douyin",
"status": "success",
"url_type": "album"
}
```
@ -278,40 +284,40 @@ http://localhost(服务器IP):2333/api?url="复制的(抖音/TikTok)口令/链
```JSON
{
"analyze_time":"5.0863s",
"nwm_video_url":"https://v19.tiktokcdn-us.com/cfa357dadd8f913f013a6d0b0dca293f/624e20fa/video/tos/useast5/tos-useast5-ve-0068c003-tx/3296231486014755a1b81aa70c349a53/?a=1233&br=6498&bt=3249&cd=0%7C0%7C0%7C3&ch=0&cr=3&cs=0&cv=1&dr=0&ds=6&er=&ft=bY1KJnB4TJBS6BMy-L1iVKP&l=20220406172333010113135214232FAB56&lr=all&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApNjY6ZTtkOzxpN2Q3PDo5OmdgZ2BtcjQwai9gLS1kMS9zczJhLTEzYjEuMTJeXzQyLmM6Yw%3D%3D&vl=&vr=",
"original_url":"https://www.tiktok.com/@oregonzoo/video/7080938094823738666",
"platform":"tiktok",
"status":"success",
"url_type":"video",
"video_author":"oregonzoo",
"video_author_SecId":"MS4wLjABAAAArWNQ8-AZN6CxWOkqdeWsMBUuLDmJt8TWUAk0S4aWDW5V5EoqRbuczhaLnxJHCGob",
"video_author_diggCount":94,
"video_author_followerCount":1800000,
"video_author_followingCount":39,
"video_author_heartCount":29700000,
"video_author_id":"6699816060206171141",
"video_author_nickname":"Oregon Zoo",
"video_author_videoCount":264,
"video_aweme_id":"7080938094823738666",
"video_comment_count":61,
"video_create_time":"1648659375",
"video_digg_count":11800,
"video_hashtags":[
"redpanda",
"boop",
"sunshine"
],
"video_music":"https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_music_author":"Gilderoy Dauterive",
"video_music_id":"7075363884613356330",
"video_music_title":"Be the Sunshine",
"video_music_url":"https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_play_count":60100,
"video_ratio":"720p",
"video_share_count":298,
"video_title":"Moshu ✨ #redpanda #boop #sunshine",
"wm_video_url":"https://v16m-webapp.tiktokcdn-us.com/0394b9183a5852d4392a7e804bf78c55/624e20f6/video/tos/useast5/tos-useast5-ve-0068c001-tx/fc63ae232e70466398b55ccf97eb3c67/?a=1988&br=6468&bt=3234&cd=0%7C0%7C1%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=XY53A3E7nz7Th-pZSDXq&l=202204061723290101131351171341B9BB&lr=tiktok_m&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApOjo4aDMzZmRlN2loOWk6ZWdgZ2BtcjQwai9gLS1kMS9zczBhNGA0LTIwNjNiYDQ2YmE6Yw%3D%3D&vl=&vr="
"analyze_time": "5.0863s",
"nwm_video_url": "https://v19.tiktokcdn-us.com/cfa357dadd8f913f013a6d0b0dca293f/624e20fa/video/tos/useast5/tos-useast5-ve-0068c003-tx/3296231486014755a1b81aa70c349a53/?a=1233&br=6498&bt=3249&cd=0%7C0%7C0%7C3&ch=0&cr=3&cs=0&cv=1&dr=0&ds=6&er=&ft=bY1KJnB4TJBS6BMy-L1iVKP&l=20220406172333010113135214232FAB56&lr=all&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApNjY6ZTtkOzxpN2Q3PDo5OmdgZ2BtcjQwai9gLS1kMS9zczJhLTEzYjEuMTJeXzQyLmM6Yw%3D%3D&vl=&vr=",
"original_url": "https://www.tiktok.com/@oregonzoo/video/7080938094823738666",
"platform": "tiktok",
"status": "success",
"url_type": "video",
"video_author": "oregonzoo",
"video_author_SecId": "MS4wLjABAAAArWNQ8-AZN6CxWOkqdeWsMBUuLDmJt8TWUAk0S4aWDW5V5EoqRbuczhaLnxJHCGob",
"video_author_diggCount": 94,
"video_author_followerCount": 1800000,
"video_author_followingCount": 39,
"video_author_heartCount": 29700000,
"video_author_id": "6699816060206171141",
"video_author_nickname": "Oregon Zoo",
"video_author_videoCount": 264,
"video_aweme_id": "7080938094823738666",
"video_comment_count": 61,
"video_create_time": "1648659375",
"video_digg_count": 11800,
"video_hashtags": [
"redpanda",
"boop",
"sunshine"
],
"video_music": "https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_music_author": "Gilderoy Dauterive",
"video_music_id": "7075363884613356330",
"video_music_title": "Be the Sunshine",
"video_music_url": "https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_play_count": 60100,
"video_ratio": "720p",
"video_share_count": 298,
"video_title": "Moshu ✨ #redpanda #boop #sunshine",
"wm_video_url": "https://v16m-webapp.tiktokcdn-us.com/0394b9183a5852d4392a7e804bf78c55/624e20f6/video/tos/useast5/tos-useast5-ve-0068c001-tx/fc63ae232e70466398b55ccf97eb3c67/?a=1988&br=6468&bt=3234&cd=0%7C0%7C1%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=XY53A3E7nz7Th-pZSDXq&l=202204061723290101131351171341B9BB&lr=tiktok_m&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApOjo4aDMzZmRlN2loOWk6ZWdgZ2BtcjQwai9gLS1kMS9zczBhNGA0LTIwNjNiYDQ2YmE6Yw%3D%3D&vl=&vr="
}
```
@ -331,7 +337,7 @@ http://localhost(服务器IP):2333/music?url="复制的(抖音/TikTok)口令/链
* * *
## 💾Deploy
## 💾Deployment (Method 1)
> Note:
> The screenshots may not match the text due to update problems. Please refer to the text description first.
@ -342,10 +348,11 @@ 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.
> Use the pagoda Linux panel for deployment (Chinese pagoda must be bound to the mobile phone number, which is very rogue and cannot be bypassed. It is recommended to use the pagoda international version, Google search keyword aapanel to install it yourself, and the deployment steps are similar.)
> 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. )
- First, go to the security group to open ports 5000 and 2333 (default 5000 for Web, 2333 for API, 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)
- First go to the security group to open ports 5000 and 2333 (default 5000 for Web, 2333 for API default, 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)
![](https://raw.githubusercontent.com/Evil0ctal/TikTokDownloader_PyWebIO/main/Screenshots/BT_Linux_Panel_Deploy_1.png)
@ -360,12 +367,45 @@ The project is deployed on a South Korean server, parsing TikTok errors, and vis
- API startup file selection`web_api.py`
- Check install module dependencies
- Start at will
- If the pagoda runs`Nginx`When waiting for other services, please judge whether the port is occupied. The running port can be modified in the file config.ini.
- If the pagoda runs`Nginx`When waiting for other services, please judge by yourself whether the port is occupied. The running port can be modified in the file config.ini.
![](https://raw.githubusercontent.com/Evil0ctal/TikTokDownloader_PyWebIO/main/Screenshots/BT_Linux_Panel_Deploy_2.png)
* * *
## 💾Deployment (method 2 docker)
- install docker
```yaml
curl -fsSL get.docker.com -o get-docker.sh&&sh get-docker.sh &&systemctl enable docker&&systemctl start docker
```
- Just leave the config.int and docker-compose.yml files
- Run the command to keep the container running in the background
```yaml
docker compose up -d
```
- View container logs
```yaml
docker logs -f douyin_tiktok_download_api
```
- delete container
```yaml
docker rm -f douyin_tiktok_download_api
```
- renew
```yaml
docker compose pull && docker compose down && docker compose up -d
```
## 🎉 Screenshot
> Note:

259
README.md
View File

@ -8,7 +8,8 @@
Language: [[English](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.en.md)] [[简体中文](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.md)] [[繁体中文](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.zh-TW.md)]
> Note: This API is applicable to Douyin and TikTok. Douyin is TikTok in China. You can distribute or modify the code at will, but please mark the original author.
> Note: This API is applicable to Douyin and TikTok. Douyin is TikTok in China. You can distribute or modify the code at
> will, but please mark the original author.
> 注: 此API适用于Douyin和TikTokDouyin为中国区域的TikTok你可以随意分发或修改代码但请标注原作者。
@ -20,26 +21,31 @@ Language: [[English](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/bl
## 👻介绍
> 出于稳定性的考虑,暂时关闭演示站的/video(返回mp4文件)和/music(返回mp3文件)这两个功能同时结果页面的批量下载功能也暂时不可用如有需求请自行部署其他功能在演示站上仍正常使用API服务器保证99%的时间正常运行但不保证解析100%成功,如果解析失败请等一两分钟后重试。
> 出于稳定性的考虑,暂时关闭演示站的/video(返回mp4文件)和/music(返回mp3文件)
> 这两个功能同时结果页面的批量下载功能也暂时不可用如有需求请自行部署其他功能在演示站上仍正常使用API服务器保证99%的时间正常运行但不保证解析100%成功,如果解析失败请等一两分钟后重试。
🚀演示地址:[https://douyin.wtf/](https://douyin.wtf/)
🛰API演示[https://api.douyin.wtf/](https://api.douyin.wtf/)
💾iOS快捷指令(中文): [点击获取](https://www.icloud.com/shortcuts/331073aca78345cf9ab4f73b6a457f97) (更新于2022/07/18快捷指令可自动检查更新安装一次即可。)
💾iOS快捷指令(中文): [点击获取](https://www.icloud.com/shortcuts/331073aca78345cf9ab4f73b6a457f97) (
更新于2022/07/18快捷指令可自动检查更新安装一次即可。)
🌎iOS Shortcut(English): [Click to get](https://www.icloud.com/shortcuts/83548306bc0c4f8ea563108f79c73f8d) (Updated on 2022/07/18, this shortcut will automatically check for updates, only need to install it once.)
🌎iOS Shortcut(English): [Click to get](https://www.icloud.com/shortcuts/83548306bc0c4f8ea563108f79c73f8d) (Updated on
2022/07/18, this shortcut will automatically check for updates, only need to install it once.)
🗂快捷指令历史版本: [Shortcuts release](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/issues/53)
📦Tiktok/抖音下载器(桌面应用)[TikDown](https://github.com/Tairraos/TikDown/)
本项目使用 [PyWebIO](https://github.com/pywebio/PyWebIO)、[Flask](https://github.com/pallets/flask)利用Python实现在线批量解析抖音的无水印视频/图集。
本项目使用 [PyWebIO](https://github.com/pywebio/PyWebIO)、[Flask](https://github.com/pallets/flask)
利用Python实现在线批量解析抖音的无水印视频/图集。
可用于下载作者禁止下载的视频,或者进行数据爬取等等,同时可搭配[iOS自带的快捷指令APP](https://apps.apple.com/cn/app/%E5%BF%AB%E6%8D%B7%E6%8C%87%E4%BB%A4/id915249334)配合本项目API实现应用内下载。
快捷指令需要在抖音或TikTok的APP内选择你想要保存的视频点击分享按钮然后找到 "抖音TikTok无水印下载" 这个选项如遇到通知询问是否允许快捷指令访问xxxx (域名或服务器),需要点击允许才可以正常使用,下载成功的视频或图集会保存在一个专门的相册中以方便浏览。
可用于下载作者禁止下载的视频,或者进行数据爬取等等,同时可搭配[iOS自带的快捷指令APP](https://apps.apple.com/cn/app/%E5%BF%AB%E6%8D%B7%E6%8C%87%E4%BB%A4/id915249334)
配合本项目API实现应用内下载。
快捷指令需要在抖音或TikTok的APP内选择你想要保存的视频点击分享按钮然后找到 "抖音TikTok无水印下载"
这个选项如遇到通知询问是否允许快捷指令访问xxxx (域名或服务器),需要点击允许才可以正常使用,下载成功的视频或图集会保存在一个专门的相册中以方便浏览。
## 💡项目文件结构
@ -120,13 +126,14 @@ python3 web_api.py
# 将scraper.py拷贝至你的项目目录
# 在该项目中导入scraper.py
from scraper import Scraper
api = Scraper()
# 解析Douyin视频/图集
douyin_data = api.douyin(input('在此输入抖音分享口令/链接:' ))
douyin_data = api.douyin(input('在此输入抖音分享口令/链接:'))
# 返回字典
print(douyin_data)
# 解析TikTok视频/图集
tiktok_data = api.tiktok(input('在此输入TikTok分享口令/链接:' ))
tiktok_data = api.tiktok(input('在此输入TikTok分享口令/链接:'))
# 返回字典
print(tiktok_data)
```
@ -210,33 +217,33 @@ http://localhost(服务器IP):2333/api?url="复制的(抖音/TikTok)口令/链
```json
{
"analyze_time":"1.9043s",
"api_url":"https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6918273131559881997",
"nwm_video_url":"http://v3-dy-o.zjcdn.com/23f0dec312ede563bef881af9a88bdc7/624dd965/video/tos/cn/tos-cn-ve-15/eccedcf4386948f5b5a1f0bcfb3dcde9/?a=1128&br=2537&bt=2537&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=sYGC~3E7nz7Th1PZSDXq&l=202204070118030102080650132A21E31F&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3hleDRsODlkMzMzaGkzM0ApODpmNWc4ODs5N2lmNzg5aWcpaGRqbGRoaGRmLi4ybnBrbjYuYC0tYy0wc3MtYmJjNTM2NjAtNDFjMzJgOmNwb2wrbStqdDo%3D&vl=&vr=",
"original_url":"https://v.douyin.com/L4FJNR3/",
"platform":"douyin",
"status":"success",
"url_type":"video",
"video_author":"Real机智张",
"video_author_id":"Rea1yaoyue",
"video_author_signature":"",
"video_author_uid":"59840491348",
"video_aweme_id":"6918273131559881997",
"video_comment_count":"89145",
"video_create_time":"1610786002",
"video_digg_count":"2968195",
"video_hashtags":[
"百万转场变身"
],
"video_music":"https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/6910889805266504461.mp3",
"video_music_author":"梅尼耶",
"video_music_id":"6910889820861451000",
"video_music_mid":"6910889820861451021",
"video_music_title":"@梅尼耶创作的原声",
"video_play_count":"0",
"video_share_count":"74857",
"video_title":"骑白马的也可以是公主#百万转场变身",
"wm_video_url":"https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300ffe0000c01a96q5nis1qu5b1u10&ratio=720p&line=0"
"analyze_time": "1.9043s",
"api_url": "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6918273131559881997",
"nwm_video_url": "http://v3-dy-o.zjcdn.com/23f0dec312ede563bef881af9a88bdc7/624dd965/video/tos/cn/tos-cn-ve-15/eccedcf4386948f5b5a1f0bcfb3dcde9/?a=1128&br=2537&bt=2537&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=sYGC~3E7nz7Th1PZSDXq&l=202204070118030102080650132A21E31F&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3hleDRsODlkMzMzaGkzM0ApODpmNWc4ODs5N2lmNzg5aWcpaGRqbGRoaGRmLi4ybnBrbjYuYC0tYy0wc3MtYmJjNTM2NjAtNDFjMzJgOmNwb2wrbStqdDo%3D&vl=&vr=",
"original_url": "https://v.douyin.com/L4FJNR3/",
"platform": "douyin",
"status": "success",
"url_type": "video",
"video_author": "Real机智张",
"video_author_id": "Rea1yaoyue",
"video_author_signature": "",
"video_author_uid": "59840491348",
"video_aweme_id": "6918273131559881997",
"video_comment_count": "89145",
"video_create_time": "1610786002",
"video_digg_count": "2968195",
"video_hashtags": [
"百万转场变身"
],
"video_music": "https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/6910889805266504461.mp3",
"video_music_author": "梅尼耶",
"video_music_id": "6910889820861451000",
"video_music_mid": "6910889820861451021",
"video_music_title": "@梅尼耶创作的原声",
"video_play_count": "0",
"video_share_count": "74857",
"video_title": "骑白马的也可以是公主#百万转场变身",
"wm_video_url": "https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300ffe0000c01a96q5nis1qu5b1u10&ratio=720p&line=0"
}
```
@ -244,40 +251,40 @@ http://localhost(服务器IP):2333/api?url="复制的(抖音/TikTok)口令/链
```json
{
"album_author":"治愈图集",
"album_author_id":"ZYTJ2002",
"album_author_signature":"取无水印图",
"album_author_uid":"449018054867063",
"album_aweme_id":"7015137063141920030",
"album_comment_count":"5436",
"album_create_time":"1633338878",
"album_digg_count":"193734",
"album_hashtags":[
"晚霞",
"治愈系",
"落日余晖",
"日落🌄"
],
"album_list":[
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5223757a7bef4f8480cd25d0fa2d2d94~noop.webp?x-expires=1651856400&x-signature=K1VjJdWTHCAaYSz14y6NumjjtfI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/d99467672da840908acccf2d2b4b7ef7~noop.webp?x-expires=1651856400&x-signature=ncBb8Tt7z4PmpUyiCNr%2FJYnwRSA%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5c2562210b1a4d4c99d6d4dbd2f23f2b~noop.webp?x-expires=1651856400&x-signature=Rsmplb53IKfvKd3mmIb4iQNhlIE%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/9bb74c0c6aff4217bd1491a077b2c817~noop.webp?x-expires=1651856400&x-signature=BLRyHoKP0ybIci57yneOca62dxI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47"
],
"album_music":"https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6978805801733442341.mp3",
"album_music_author":"魏同学",
"album_music_id":"6978805810365271000",
"album_music_mid":"6978805810365270791",
"album_music_title":"@魏同学创作的原声",
"album_play_count":"0",
"album_share_count":"30717",
"album_title":"“山海自有归期 风雨自有相逢 意难平终将和解 万事终将如意”#晚霞 #治愈系 #落日余晖 #日落🌄",
"analyze_time":"1.0726s",
"api_url":"https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7015137063141920030",
"original_url":"https://v.douyin.com/Nb8jysN/",
"platform":"douyin",
"status":"success",
"url_type":"album"
"album_author": "治愈图集",
"album_author_id": "ZYTJ2002",
"album_author_signature": "取无水印图",
"album_author_uid": "449018054867063",
"album_aweme_id": "7015137063141920030",
"album_comment_count": "5436",
"album_create_time": "1633338878",
"album_digg_count": "193734",
"album_hashtags": [
"晚霞",
"治愈系",
"落日余晖",
"日落🌄"
],
"album_list": [
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5223757a7bef4f8480cd25d0fa2d2d94~noop.webp?x-expires=1651856400&x-signature=K1VjJdWTHCAaYSz14y6NumjjtfI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/d99467672da840908acccf2d2b4b7ef7~noop.webp?x-expires=1651856400&x-signature=ncBb8Tt7z4PmpUyiCNr%2FJYnwRSA%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5c2562210b1a4d4c99d6d4dbd2f23f2b~noop.webp?x-expires=1651856400&x-signature=Rsmplb53IKfvKd3mmIb4iQNhlIE%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/9bb74c0c6aff4217bd1491a077b2c817~noop.webp?x-expires=1651856400&x-signature=BLRyHoKP0ybIci57yneOca62dxI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47"
],
"album_music": "https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6978805801733442341.mp3",
"album_music_author": "魏同学",
"album_music_id": "6978805810365271000",
"album_music_mid": "6978805810365270791",
"album_music_title": "@魏同学创作的原声",
"album_play_count": "0",
"album_share_count": "30717",
"album_title": "“山海自有归期 风雨自有相逢 意难平终将和解 万事终将如意”#晚霞 #治愈系 #落日余晖 #日落🌄",
"analyze_time": "1.0726s",
"api_url": "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7015137063141920030",
"original_url": "https://v.douyin.com/Nb8jysN/",
"platform": "douyin",
"status": "success",
"url_type": "album"
}
```
@ -285,40 +292,40 @@ http://localhost(服务器IP):2333/api?url="复制的(抖音/TikTok)口令/链
```JSON
{
"analyze_time":"5.0863s",
"nwm_video_url":"https://v19.tiktokcdn-us.com/cfa357dadd8f913f013a6d0b0dca293f/624e20fa/video/tos/useast5/tos-useast5-ve-0068c003-tx/3296231486014755a1b81aa70c349a53/?a=1233&br=6498&bt=3249&cd=0%7C0%7C0%7C3&ch=0&cr=3&cs=0&cv=1&dr=0&ds=6&er=&ft=bY1KJnB4TJBS6BMy-L1iVKP&l=20220406172333010113135214232FAB56&lr=all&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApNjY6ZTtkOzxpN2Q3PDo5OmdgZ2BtcjQwai9gLS1kMS9zczJhLTEzYjEuMTJeXzQyLmM6Yw%3D%3D&vl=&vr=",
"original_url":"https://www.tiktok.com/@oregonzoo/video/7080938094823738666",
"platform":"tiktok",
"status":"success",
"url_type":"video",
"video_author":"oregonzoo",
"video_author_SecId":"MS4wLjABAAAArWNQ8-AZN6CxWOkqdeWsMBUuLDmJt8TWUAk0S4aWDW5V5EoqRbuczhaLnxJHCGob",
"video_author_diggCount":94,
"video_author_followerCount":1800000,
"video_author_followingCount":39,
"video_author_heartCount":29700000,
"video_author_id":"6699816060206171141",
"video_author_nickname":"Oregon Zoo",
"video_author_videoCount":264,
"video_aweme_id":"7080938094823738666",
"video_comment_count":61,
"video_create_time":"1648659375",
"video_digg_count":11800,
"video_hashtags":[
"redpanda",
"boop",
"sunshine"
],
"video_music":"https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_music_author":"Gilderoy Dauterive",
"video_music_id":"7075363884613356330",
"video_music_title":"Be the Sunshine",
"video_music_url":"https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_play_count":60100,
"video_ratio":"720p",
"video_share_count":298,
"video_title":"Moshu ✨ #redpanda #boop #sunshine",
"wm_video_url":"https://v16m-webapp.tiktokcdn-us.com/0394b9183a5852d4392a7e804bf78c55/624e20f6/video/tos/useast5/tos-useast5-ve-0068c001-tx/fc63ae232e70466398b55ccf97eb3c67/?a=1988&br=6468&bt=3234&cd=0%7C0%7C1%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=XY53A3E7nz7Th-pZSDXq&l=202204061723290101131351171341B9BB&lr=tiktok_m&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApOjo4aDMzZmRlN2loOWk6ZWdgZ2BtcjQwai9gLS1kMS9zczBhNGA0LTIwNjNiYDQ2YmE6Yw%3D%3D&vl=&vr="
"analyze_time": "5.0863s",
"nwm_video_url": "https://v19.tiktokcdn-us.com/cfa357dadd8f913f013a6d0b0dca293f/624e20fa/video/tos/useast5/tos-useast5-ve-0068c003-tx/3296231486014755a1b81aa70c349a53/?a=1233&br=6498&bt=3249&cd=0%7C0%7C0%7C3&ch=0&cr=3&cs=0&cv=1&dr=0&ds=6&er=&ft=bY1KJnB4TJBS6BMy-L1iVKP&l=20220406172333010113135214232FAB56&lr=all&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApNjY6ZTtkOzxpN2Q3PDo5OmdgZ2BtcjQwai9gLS1kMS9zczJhLTEzYjEuMTJeXzQyLmM6Yw%3D%3D&vl=&vr=",
"original_url": "https://www.tiktok.com/@oregonzoo/video/7080938094823738666",
"platform": "tiktok",
"status": "success",
"url_type": "video",
"video_author": "oregonzoo",
"video_author_SecId": "MS4wLjABAAAArWNQ8-AZN6CxWOkqdeWsMBUuLDmJt8TWUAk0S4aWDW5V5EoqRbuczhaLnxJHCGob",
"video_author_diggCount": 94,
"video_author_followerCount": 1800000,
"video_author_followingCount": 39,
"video_author_heartCount": 29700000,
"video_author_id": "6699816060206171141",
"video_author_nickname": "Oregon Zoo",
"video_author_videoCount": 264,
"video_aweme_id": "7080938094823738666",
"video_comment_count": 61,
"video_create_time": "1648659375",
"video_digg_count": 11800,
"video_hashtags": [
"redpanda",
"boop",
"sunshine"
],
"video_music": "https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_music_author": "Gilderoy Dauterive",
"video_music_id": "7075363884613356330",
"video_music_title": "Be the Sunshine",
"video_music_url": "https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_play_count": 60100,
"video_ratio": "720p",
"video_share_count": 298,
"video_title": "Moshu ✨ #redpanda #boop #sunshine",
"wm_video_url": "https://v16m-webapp.tiktokcdn-us.com/0394b9183a5852d4392a7e804bf78c55/624e20f6/video/tos/useast5/tos-useast5-ve-0068c001-tx/fc63ae232e70466398b55ccf97eb3c67/?a=1988&br=6468&bt=3234&cd=0%7C0%7C1%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=XY53A3E7nz7Th-pZSDXq&l=202204061723290101131351171341B9BB&lr=tiktok_m&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApOjo4aDMzZmRlN2loOWk6ZWdgZ2BtcjQwai9gLS1kMS9zczBhNGA0LTIwNjNiYDQ2YmE6Yw%3D%3D&vl=&vr="
}
```
@ -338,10 +345,10 @@ http://localhost(服务器IP):2333/music?url="复制的(抖音/TikTok)口令/链
---
## 💾部署
## 💾部署(方式一)
> 注:
截图可能因更新问题与文字不符,一切请优先参照文字叙述。
> 截图可能因更新问题与文字不符,一切请优先参照文字叙述。
> 最好将本项目部署至海外服务器(优先选择美国地区的服务器),否则可能会出现奇怪的问题。
@ -349,7 +356,8 @@ http://localhost(服务器IP):2333/music?url="复制的(抖音/TikTok)口令/链
项目部署在国内服务器而人在美国点击结果页面链接报错403 目测与抖音CDN有关系。
项目部署在韩国服务器解析TikTok报错 目测TikTok对某些地区或IP进行了限制。
> 使用宝塔Linux面板进行部署(中文宝塔要强制绑定手机号了很流氓且无法绕过建议使用宝塔国际版谷歌搜索关键字aapanel自行安装部署步骤相似。)
> 使用宝塔Linux面板进行部署(
> 中文宝塔要强制绑定手机号了很流氓且无法绕过建议使用宝塔国际版谷歌搜索关键字aapanel自行安装部署步骤相似。)
- 首先要去安全组开放5000和2333端口Web默认5000API默认2333可以在文件config.ini中修改。
- 在宝塔应用商店内搜索python并安装项目管理器 (推荐使用1.9版本)
@ -373,10 +381,43 @@ http://localhost(服务器IP):2333/music?url="复制的(抖音/TikTok)口令/链
---
## 💾部署(方式二 docker)
- 安装docker
```yaml
curl -fsSL get.docker.com -o get-docker.sh&&sh get-docker.sh &&systemctl enable docker&&systemctl start docker
```
- 留下config.int和docker-compose.yml文件即可
- 运行命令,让容器在后台运行
```yaml
docker compose up -d
```
- 查看容器日志
```yaml
docker logs -f douyin_tiktok_download_api
```
- 删除容器
```yaml
docker rm -f douyin_tiktok_download_api
```
- 更新
```yaml
docker compose pull && docker compose down && docker compose up -d
```
## 🎉截图
> 注:
截图可能因更新问题与文字不符,一切请优先参照文字叙述。
> 截图可能因更新问题与文字不符,一切请优先参照文字叙述。
- 主界面

View File

@ -4,7 +4,8 @@
語: \[[英語](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.en.md)] \[[簡體中文](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.md)] \[[繁體中文](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/README.zh-TW.md)]
> 注此API適用於抖音和抖音。抖音是中國的TikTok。您可以隨意分發或修改代碼但請註明原作者。
> 注此API適用於抖音和抖音。抖音是中國的TikTok。您可以在以下位置分發或修改代碼
> 會,但請註明原作者。
> 注: 此API適用於Douyin和TikTokDouyin為中國區域的TikTok你可以隨意分發或修改代碼但請標註原作者。
@ -16,15 +17,18 @@
## 👻介紹
> 出於穩定性的考慮,暫時關閉演示站的/video(返回mp4文件)和/music(返回mp3文件)這兩個功能同時結果頁面的批量下載功能也暫時不可用如有需求請自行部署其他功能在演示站上仍正常使用API服務器保證99%的時間正常運行但不保證解析100%成功,如果解析失敗請等一兩分鐘後重試。
> 出於穩定性的考慮,暫時關閉演示站的/video(返回mp4文件)和/music(返回mp3文件)
> 這兩個功能同時結果頁面的批量下載功能也暫時不可用如有需求請自行部署其他功能在演示站上仍正常使用API服務器保證99%的時間正常運行但不保證解析100%成功,如果解析失敗請等一兩分鐘後重試。
🚀演示地址:<https://douyin.wtf/>
🛰API演示<https://api.douyin.wtf/>
💾iOS快捷指令(中文):[點擊獲取](https://www.icloud.com/shortcuts/331073aca78345cf9ab4f73b6a457f97)(更新於2022/07/18快捷指令可自動檢查更新安裝一次即可。)
💾iOS快捷指令(中文):[點擊獲取](https://www.icloud.com/shortcuts/331073aca78345cf9ab4f73b6a457f97)(
更新於2022/07/18快捷指令可自動檢查更新安裝一次即可。 )
🌎iOS快捷方式英文[點擊獲取](https://www.icloud.com/shortcuts/83548306bc0c4f8ea563108f79c73f8d)2022/07/18更新這個快捷方式會自動檢查更新只需要安裝一次。
🌎iOS快捷方式英文[點擊獲取](https://www.icloud.com/shortcuts/83548306bc0c4f8ea563108f79c73f8d)(更新於
2022/07/18這個快捷方式會自動檢查更新只需要安裝一次。
🗂快捷指令歷史版本:[快捷方式發布](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/issues/53)
@ -34,7 +38,8 @@
可用於下載作者禁止下載的視頻,或者進行數據爬取等等,同時可搭配[iOS自帶的快捷指令APP](https://apps.apple.com/cn/app/%E5%BF%AB%E6%8D%B7%E6%8C%87%E4%BB%A4/id915249334)配合本項目API實現應用內下載。
快捷指令需要在抖音或TikTok的APP內選擇你想要保存的視頻點擊分享按鈕然後找到 "抖音TikTok無水印下載" 這個選項如遇到通知詢問是否允許快捷指令訪問xxxx (域名或服務器),需要點擊允許才可以正常使用,下載成功的視頻或圖集會保存在一個專門的相冊中以方便瀏覽。
快捷指令需要在抖音或TikTok的APP內選擇你想要保存的視頻點擊分享按鈕然後找到 "抖音TikTok無水印下載"
這個選項如遇到通知詢問是否允許快捷指令訪問xxxx (域名或服務器),需要點擊允許才可以正常使用,下載成功的視頻或圖集會保存在一個專門的相冊中以方便瀏覽。
## 💡項目文件結構
@ -113,13 +118,14 @@ python3 web_api.py
# 将scraper.py拷贝至你的项目目录
# 在该项目中导入scraper.py
from scraper import Scraper
api = Scraper()
# 解析Douyin视频/图集
douyin_data = api.douyin(input('在此输入抖音分享口令/链接:' ))
douyin_data = api.douyin(input('在此输入抖音分享口令/链接:'))
# 返回字典
print(douyin_data)
# 解析TikTok视频/图集
tiktok_data = api.tiktok(input('在此输入TikTok分享口令/链接:' ))
tiktok_data = api.tiktok(input('在此输入TikTok分享口令/链接:'))
# 返回字典
print(tiktok_data)
```
@ -203,33 +209,33 @@ http://localhost(服务器IP):2333/api?url="复制的(抖音/TikTok)口令/链
```json
{
"analyze_time":"1.9043s",
"api_url":"https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6918273131559881997",
"nwm_video_url":"http://v3-dy-o.zjcdn.com/23f0dec312ede563bef881af9a88bdc7/624dd965/video/tos/cn/tos-cn-ve-15/eccedcf4386948f5b5a1f0bcfb3dcde9/?a=1128&br=2537&bt=2537&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=sYGC~3E7nz7Th1PZSDXq&l=202204070118030102080650132A21E31F&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3hleDRsODlkMzMzaGkzM0ApODpmNWc4ODs5N2lmNzg5aWcpaGRqbGRoaGRmLi4ybnBrbjYuYC0tYy0wc3MtYmJjNTM2NjAtNDFjMzJgOmNwb2wrbStqdDo%3D&vl=&vr=",
"original_url":"https://v.douyin.com/L4FJNR3/",
"platform":"douyin",
"status":"success",
"url_type":"video",
"video_author":"Real机智张",
"video_author_id":"Rea1yaoyue",
"video_author_signature":"",
"video_author_uid":"59840491348",
"video_aweme_id":"6918273131559881997",
"video_comment_count":"89145",
"video_create_time":"1610786002",
"video_digg_count":"2968195",
"video_hashtags":[
"百万转场变身"
],
"video_music":"https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/6910889805266504461.mp3",
"video_music_author":"梅尼耶",
"video_music_id":"6910889820861451000",
"video_music_mid":"6910889820861451021",
"video_music_title":"@梅尼耶创作的原声",
"video_play_count":"0",
"video_share_count":"74857",
"video_title":"骑白马的也可以是公主#百万转场变身",
"wm_video_url":"https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300ffe0000c01a96q5nis1qu5b1u10&ratio=720p&line=0"
"analyze_time": "1.9043s",
"api_url": "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6918273131559881997",
"nwm_video_url": "http://v3-dy-o.zjcdn.com/23f0dec312ede563bef881af9a88bdc7/624dd965/video/tos/cn/tos-cn-ve-15/eccedcf4386948f5b5a1f0bcfb3dcde9/?a=1128&br=2537&bt=2537&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=sYGC~3E7nz7Th1PZSDXq&l=202204070118030102080650132A21E31F&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3hleDRsODlkMzMzaGkzM0ApODpmNWc4ODs5N2lmNzg5aWcpaGRqbGRoaGRmLi4ybnBrbjYuYC0tYy0wc3MtYmJjNTM2NjAtNDFjMzJgOmNwb2wrbStqdDo%3D&vl=&vr=",
"original_url": "https://v.douyin.com/L4FJNR3/",
"platform": "douyin",
"status": "success",
"url_type": "video",
"video_author": "Real机智张",
"video_author_id": "Rea1yaoyue",
"video_author_signature": "",
"video_author_uid": "59840491348",
"video_aweme_id": "6918273131559881997",
"video_comment_count": "89145",
"video_create_time": "1610786002",
"video_digg_count": "2968195",
"video_hashtags": [
"百万转场变身"
],
"video_music": "https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/6910889805266504461.mp3",
"video_music_author": "梅尼耶",
"video_music_id": "6910889820861451000",
"video_music_mid": "6910889820861451021",
"video_music_title": "@梅尼耶创作的原声",
"video_play_count": "0",
"video_share_count": "74857",
"video_title": "骑白马的也可以是公主#百万转场变身",
"wm_video_url": "https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300ffe0000c01a96q5nis1qu5b1u10&ratio=720p&line=0"
}
```
@ -237,40 +243,40 @@ http://localhost(服务器IP):2333/api?url="复制的(抖音/TikTok)口令/链
```json
{
"album_author":"治愈图集",
"album_author_id":"ZYTJ2002",
"album_author_signature":"取无水印图",
"album_author_uid":"449018054867063",
"album_aweme_id":"7015137063141920030",
"album_comment_count":"5436",
"album_create_time":"1633338878",
"album_digg_count":"193734",
"album_hashtags":[
"晚霞",
"治愈系",
"落日余晖",
"日落🌄"
],
"album_list":[
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5223757a7bef4f8480cd25d0fa2d2d94~noop.webp?x-expires=1651856400&x-signature=K1VjJdWTHCAaYSz14y6NumjjtfI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/d99467672da840908acccf2d2b4b7ef7~noop.webp?x-expires=1651856400&x-signature=ncBb8Tt7z4PmpUyiCNr%2FJYnwRSA%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5c2562210b1a4d4c99d6d4dbd2f23f2b~noop.webp?x-expires=1651856400&x-signature=Rsmplb53IKfvKd3mmIb4iQNhlIE%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/9bb74c0c6aff4217bd1491a077b2c817~noop.webp?x-expires=1651856400&x-signature=BLRyHoKP0ybIci57yneOca62dxI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47"
],
"album_music":"https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6978805801733442341.mp3",
"album_music_author":"魏同学",
"album_music_id":"6978805810365271000",
"album_music_mid":"6978805810365270791",
"album_music_title":"@魏同学创作的原声",
"album_play_count":"0",
"album_share_count":"30717",
"album_title":"“山海自有归期 风雨自有相逢 意难平终将和解 万事终将如意”#晚霞 #治愈系 #落日余晖 #日落🌄",
"analyze_time":"1.0726s",
"api_url":"https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7015137063141920030",
"original_url":"https://v.douyin.com/Nb8jysN/",
"platform":"douyin",
"status":"success",
"url_type":"album"
"album_author": "治愈图集",
"album_author_id": "ZYTJ2002",
"album_author_signature": "取无水印图",
"album_author_uid": "449018054867063",
"album_aweme_id": "7015137063141920030",
"album_comment_count": "5436",
"album_create_time": "1633338878",
"album_digg_count": "193734",
"album_hashtags": [
"晚霞",
"治愈系",
"落日余晖",
"日落🌄"
],
"album_list": [
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5223757a7bef4f8480cd25d0fa2d2d94~noop.webp?x-expires=1651856400&x-signature=K1VjJdWTHCAaYSz14y6NumjjtfI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/d99467672da840908acccf2d2b4b7ef7~noop.webp?x-expires=1651856400&x-signature=ncBb8Tt7z4PmpUyiCNr%2FJYnwRSA%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/5c2562210b1a4d4c99d6d4dbd2f23f2b~noop.webp?x-expires=1651856400&x-signature=Rsmplb53IKfvKd3mmIb4iQNhlIE%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47",
"https://p26-sign.douyinpic.com/tos-cn-i-0813/9bb74c0c6aff4217bd1491a077b2c817~noop.webp?x-expires=1651856400&x-signature=BLRyHoKP0ybIci57yneOca62dxI%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&biz_tag=aweme_images&l=202204070120460102101050412A210A47"
],
"album_music": "https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6978805801733442341.mp3",
"album_music_author": "魏同学",
"album_music_id": "6978805810365271000",
"album_music_mid": "6978805810365270791",
"album_music_title": "@魏同学创作的原声",
"album_play_count": "0",
"album_share_count": "30717",
"album_title": "“山海自有归期 风雨自有相逢 意难平终将和解 万事终将如意”#晚霞 #治愈系 #落日余晖 #日落🌄",
"analyze_time": "1.0726s",
"api_url": "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7015137063141920030",
"original_url": "https://v.douyin.com/Nb8jysN/",
"platform": "douyin",
"status": "success",
"url_type": "album"
}
```
@ -278,40 +284,40 @@ http://localhost(服务器IP):2333/api?url="复制的(抖音/TikTok)口令/链
```JSON
{
"analyze_time":"5.0863s",
"nwm_video_url":"https://v19.tiktokcdn-us.com/cfa357dadd8f913f013a6d0b0dca293f/624e20fa/video/tos/useast5/tos-useast5-ve-0068c003-tx/3296231486014755a1b81aa70c349a53/?a=1233&br=6498&bt=3249&cd=0%7C0%7C0%7C3&ch=0&cr=3&cs=0&cv=1&dr=0&ds=6&er=&ft=bY1KJnB4TJBS6BMy-L1iVKP&l=20220406172333010113135214232FAB56&lr=all&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApNjY6ZTtkOzxpN2Q3PDo5OmdgZ2BtcjQwai9gLS1kMS9zczJhLTEzYjEuMTJeXzQyLmM6Yw%3D%3D&vl=&vr=",
"original_url":"https://www.tiktok.com/@oregonzoo/video/7080938094823738666",
"platform":"tiktok",
"status":"success",
"url_type":"video",
"video_author":"oregonzoo",
"video_author_SecId":"MS4wLjABAAAArWNQ8-AZN6CxWOkqdeWsMBUuLDmJt8TWUAk0S4aWDW5V5EoqRbuczhaLnxJHCGob",
"video_author_diggCount":94,
"video_author_followerCount":1800000,
"video_author_followingCount":39,
"video_author_heartCount":29700000,
"video_author_id":"6699816060206171141",
"video_author_nickname":"Oregon Zoo",
"video_author_videoCount":264,
"video_aweme_id":"7080938094823738666",
"video_comment_count":61,
"video_create_time":"1648659375",
"video_digg_count":11800,
"video_hashtags":[
"redpanda",
"boop",
"sunshine"
],
"video_music":"https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_music_author":"Gilderoy Dauterive",
"video_music_id":"7075363884613356330",
"video_music_title":"Be the Sunshine",
"video_music_url":"https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_play_count":60100,
"video_ratio":"720p",
"video_share_count":298,
"video_title":"Moshu ✨ #redpanda #boop #sunshine",
"wm_video_url":"https://v16m-webapp.tiktokcdn-us.com/0394b9183a5852d4392a7e804bf78c55/624e20f6/video/tos/useast5/tos-useast5-ve-0068c001-tx/fc63ae232e70466398b55ccf97eb3c67/?a=1988&br=6468&bt=3234&cd=0%7C0%7C1%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=XY53A3E7nz7Th-pZSDXq&l=202204061723290101131351171341B9BB&lr=tiktok_m&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApOjo4aDMzZmRlN2loOWk6ZWdgZ2BtcjQwai9gLS1kMS9zczBhNGA0LTIwNjNiYDQ2YmE6Yw%3D%3D&vl=&vr="
"analyze_time": "5.0863s",
"nwm_video_url": "https://v19.tiktokcdn-us.com/cfa357dadd8f913f013a6d0b0dca293f/624e20fa/video/tos/useast5/tos-useast5-ve-0068c003-tx/3296231486014755a1b81aa70c349a53/?a=1233&br=6498&bt=3249&cd=0%7C0%7C0%7C3&ch=0&cr=3&cs=0&cv=1&dr=0&ds=6&er=&ft=bY1KJnB4TJBS6BMy-L1iVKP&l=20220406172333010113135214232FAB56&lr=all&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApNjY6ZTtkOzxpN2Q3PDo5OmdgZ2BtcjQwai9gLS1kMS9zczJhLTEzYjEuMTJeXzQyLmM6Yw%3D%3D&vl=&vr=",
"original_url": "https://www.tiktok.com/@oregonzoo/video/7080938094823738666",
"platform": "tiktok",
"status": "success",
"url_type": "video",
"video_author": "oregonzoo",
"video_author_SecId": "MS4wLjABAAAArWNQ8-AZN6CxWOkqdeWsMBUuLDmJt8TWUAk0S4aWDW5V5EoqRbuczhaLnxJHCGob",
"video_author_diggCount": 94,
"video_author_followerCount": 1800000,
"video_author_followingCount": 39,
"video_author_heartCount": 29700000,
"video_author_id": "6699816060206171141",
"video_author_nickname": "Oregon Zoo",
"video_author_videoCount": 264,
"video_aweme_id": "7080938094823738666",
"video_comment_count": 61,
"video_create_time": "1648659375",
"video_digg_count": 11800,
"video_hashtags": [
"redpanda",
"boop",
"sunshine"
],
"video_music": "https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_music_author": "Gilderoy Dauterive",
"video_music_id": "7075363884613356330",
"video_music_title": "Be the Sunshine",
"video_music_url": "https://sf16.tiktokcdn-us.com/obj/ies-music-tx/7075363935741856558.mp3",
"video_play_count": 60100,
"video_ratio": "720p",
"video_share_count": 298,
"video_title": "Moshu ✨ #redpanda #boop #sunshine",
"wm_video_url": "https://v16m-webapp.tiktokcdn-us.com/0394b9183a5852d4392a7e804bf78c55/624e20f6/video/tos/useast5/tos-useast5-ve-0068c001-tx/fc63ae232e70466398b55ccf97eb3c67/?a=1988&br=6468&bt=3234&cd=0%7C0%7C1%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=XY53A3E7nz7Th-pZSDXq&l=202204061723290101131351171341B9BB&lr=tiktok_m&mime_type=video_mp4&net=0&pl=0&qs=0&rc=MzpsaGY6Zjo7PDMzZzczNEApOjo4aDMzZmRlN2loOWk6ZWdgZ2BtcjQwai9gLS1kMS9zczBhNGA0LTIwNjNiYDQ2YmE6Yw%3D%3D&vl=&vr="
}
```
@ -331,7 +337,7 @@ http://localhost(服务器IP):2333/music?url="复制的(抖音/TikTok)口令/链
* * *
## 💾部署
## 💾部署(方式一)
> 注:
> 截圖可能因更新問題與文字不符,一切請優先參照文字敘述。
@ -342,7 +348,8 @@ http://localhost(服务器IP):2333/music?url="复制的(抖音/TikTok)口令/链
項目部署在國內服務器而人在美國點擊結果頁面鏈接報錯403 目測與抖音CDN有關係。
項目部署在韓國服務器解析TikTok報錯 目測TikTok對某些地區或IP進行了限制。
> 使用寶塔Linux面板進行部署(中文寶塔要強制綁定手機號了很流氓且無法繞過建議使用寶塔國際版谷歌搜索關鍵字aapanel自行安裝部署步驟相似。)
> 使用寶塔Linux面板進行部署(
> 中文寶塔要強制綁定手機號了很流氓且無法繞過建議使用寶塔國際版谷歌搜索關鍵字aapanel自行安裝部署步驟相似。 )
- 首先要去安全組開放5000和2333端口Web默認5000API默認2333可以在文件config.ini中修改。
- 在寶塔應用商店內搜索python並安裝項目管理器 (推薦使用1.9版本)
@ -366,6 +373,39 @@ http://localhost(服务器IP):2333/music?url="复制的(抖音/TikTok)口令/链
* * *
## 💾部署(方式二 docker)
- 安裝docker
```yaml
curl -fsSL get.docker.com -o get-docker.sh&&sh get-docker.sh &&systemctl enable docker&&systemctl start docker
```
- 留下config.int和docker-compose.yml文件即可
- 運行命令,讓容器在後台運行
```yaml
docker compose up -d
```
- 查看容器日誌
```yaml
docker logs -f douyin_tiktok_download_api
```
- 刪除容器
```yaml
docker rm -f douyin_tiktok_download_api
```
- 更新
```yaml
docker compose pull && docker compose down && docker compose up -d
```
## 🎉截圖
> 注:

18
docker-compose.yml Normal file
View File

@ -0,0 +1,18 @@
version: "3.7"
services:
# bot
douyin_tiktok_download_api:
image: jwstar/douyin_tiktok_download_api
network_mode: host
container_name: douyin_tiktok_download_api
restart: always
volumes:
- ./config.ini:/app/config.ini
environment:
TZ: Asia/Shanghai
deploy:
resources:
limits:
cpus: '0.80'

3
start.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/sh
python web_zh.py &
python web_api.py