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)]
|
||||
|
||||
> 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,你可以随意分发或修改代码,但请标注原作者。
|
||||
|
||||
|
|
@ -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,6 +126,7 @@ python3 web_api.py
|
|||
# 将scraper.py拷贝至你的项目目录
|
||||
# 在该项目中导入scraper.py
|
||||
from scraper import Scraper
|
||||
|
||||
api = Scraper()
|
||||
# 解析Douyin视频/图集
|
||||
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有关系。
|
||||
项目部署在韩国服务器,解析TikTok报错 ,目测TikTok对某些地区或IP进行了限制。
|
||||
|
||||
> 使用宝塔Linux面板进行部署(中文宝塔要强制绑定手机号了,很流氓且无法绕过,建议使用宝塔国际版,谷歌搜索关键字aapanel自行安装,部署步骤相似。)
|
||||
> 使用宝塔Linux面板进行部署(
|
||||
> 中文宝塔要强制绑定手机号了,很流氓且无法绕过,建议使用宝塔国际版,谷歌搜索关键字aapanel自行安装,部署步骤相似。)
|
||||
|
||||
- 首先要去安全组开放5000和2333端口(Web默认5000,API默认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
|
||||
```
|
||||
|
||||
## 🎉截图
|
||||
|
||||
> 注:
|
||||
截图可能因更新问题与文字不符,一切请优先参照文字叙述。
|
||||
> 截图可能因更新问题与文字不符,一切请优先参照文字叙述。
|
||||
|
||||
- 主界面
|
||||
|
||||
|
|
|
|||
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