add docker
This commit is contained in:
parent
c995703a6b
commit
3c460b2bcd
4 changed files with 183 additions and 109 deletions
12
Dockerfile
Normal file
12
Dockerfile
Normal 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"]
|
||||||
65
README.md
65
README.md
|
|
@ -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)]
|
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和TikTok,Douyin为中国区域的TikTok,你可以随意分发或修改代码,但请标注原作者。
|
> 注: 此API适用于Douyin和TikTok,Douyin为中国区域的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/)
|
🚀演示地址:[https://douyin.wtf/](https://douyin.wtf/)
|
||||||
|
|
||||||
🛰API演示:[https://api.douyin.wtf/](https://api.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)
|
🗂快捷指令历史版本: [Shortcuts release](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/issues/53)
|
||||||
|
|
||||||
📦️Tiktok/抖音下载器(桌面应用):[TikDown](https://github.com/Tairraos/TikDown/)
|
📦️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实现应用内下载。
|
可用于下载作者禁止下载的视频,或者进行数据爬取等等,同时可搭配[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 (域名或服务器),需要点击允许才可以正常使用,下载成功的视频或图集会保存在一个专门的相册中以方便浏览。
|
||||||
|
|
||||||
## 💡项目文件结构
|
## 💡项目文件结构
|
||||||
|
|
||||||
|
|
@ -120,6 +126,7 @@ python3 web_api.py
|
||||||
# 将scraper.py拷贝至你的项目目录
|
# 将scraper.py拷贝至你的项目目录
|
||||||
# 在该项目中导入scraper.py
|
# 在该项目中导入scraper.py
|
||||||
from scraper import Scraper
|
from scraper import Scraper
|
||||||
|
|
||||||
api = Scraper()
|
api = Scraper()
|
||||||
# 解析Douyin视频/图集
|
# 解析Douyin视频/图集
|
||||||
douyin_data = api.douyin(input('在此输入抖音分享口令/链接:'))
|
douyin_data = api.douyin(input('在此输入抖音分享口令/链接:'))
|
||||||
|
|
@ -338,10 +345,10 @@ http://localhost(服务器IP):2333/music?url="复制的(抖音/TikTok)口令/链
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 💾部署
|
## 💾部署(方式一)
|
||||||
|
|
||||||
> 注:
|
> 注:
|
||||||
截图可能因更新问题与文字不符,一切请优先参照文字叙述。
|
> 截图可能因更新问题与文字不符,一切请优先参照文字叙述。
|
||||||
|
|
||||||
> 最好将本项目部署至海外服务器(优先选择美国地区的服务器),否则可能会出现奇怪的问题。
|
> 最好将本项目部署至海外服务器(优先选择美国地区的服务器),否则可能会出现奇怪的问题。
|
||||||
|
|
||||||
|
|
@ -349,7 +356,8 @@ http://localhost(服务器IP):2333/music?url="复制的(抖音/TikTok)口令/链
|
||||||
项目部署在国内服务器,而人在美国,点击结果页面链接报错403 ,目测与抖音CDN有关系。
|
项目部署在国内服务器,而人在美国,点击结果页面链接报错403 ,目测与抖音CDN有关系。
|
||||||
项目部署在韩国服务器,解析TikTok报错 ,目测TikTok对某些地区或IP进行了限制。
|
项目部署在韩国服务器,解析TikTok报错 ,目测TikTok对某些地区或IP进行了限制。
|
||||||
|
|
||||||
> 使用宝塔Linux面板进行部署(中文宝塔要强制绑定手机号了,很流氓且无法绕过,建议使用宝塔国际版,谷歌搜索关键字aapanel自行安装,部署步骤相似。)
|
> 使用宝塔Linux面板进行部署(
|
||||||
|
> 中文宝塔要强制绑定手机号了,很流氓且无法绕过,建议使用宝塔国际版,谷歌搜索关键字aapanel自行安装,部署步骤相似。)
|
||||||
|
|
||||||
- 首先要去安全组开放5000和2333端口(Web默认5000,API默认2333,可以在文件config.ini中修改。)
|
- 首先要去安全组开放5000和2333端口(Web默认5000,API默认2333,可以在文件config.ini中修改。)
|
||||||
- 在宝塔应用商店内搜索python并安装项目管理器 (推荐使用1.9版本)
|
- 在宝塔应用商店内搜索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
|
||||||
|
```
|
||||||
|
|
||||||
## 🎉截图
|
## 🎉截图
|
||||||
|
|
||||||
> 注:
|
> 注:
|
||||||
截图可能因更新问题与文字不符,一切请优先参照文字叙述。
|
> 截图可能因更新问题与文字不符,一切请优先参照文字叙述。
|
||||||
|
|
||||||
- 主界面
|
- 主界面
|
||||||
|
|
||||||
|
|
|
||||||
18
docker-compose.yml
Normal file
18
docker-compose.yml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
# bot
|
||||||
|
douyintgbot:
|
||||||
|
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
3
start.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
python web_zh.py &
|
||||||
|
python web_api.py
|
||||||
Loading…
Reference in a new issue