MoreAPI_Pro项目部署方式-某音某手某红薯API

MoreAPI是某音/某手/某红书/各视频平台非官方的RESTful API平台。MoreAPI提供的API只能获取公开数据,即任何人都可以通过浏览器及APP等访问相关服务以获取它们。
官网:https://www.wouldmissyou.com/

一、部署准备

MoreAPI_Pro项目部署需要Linux环境,服务器配置为2*2轻量型应用服务器。由于项目使用Python开发,所以需要Python环境。本次部署所需环境如下:

  • CentOS 7.9.2009 x86_64(Py3.7.9) 宝塔面板8.0.5
  • Python >= 3.10.0
  • MySQL 8.0
  • Redis
  • MoreAPI_Pro源码

二、环境搭建

准备一台全新的服务器,安装完宝塔面板后进入,安装nginxMySQL。然后等待安装任务完成。在左侧菜单栏软件商店搜索redis安装。

image-20240131094511065

image-20240131100210902

以上安装完成后,点击左侧菜单栏网站,选择Python项目安装Python环境,点击Python管理器,选择安装Python3.10.0。等待Python安装完成。

image-20240131101007255

三、安装项目

以上环境安装全部完成后,就可以上传源码并安装了。

上传源码

点击左侧菜单栏文件,选择进入/www/目录,新建文件夹并命名为MoreAPI_Pro,然后将官网下载的MoreAPI_Pro源码上传至新建的文件夹中解压缩。

image-20240131101505753

image-20240131101523658

安装

文件上传并解压后,点击菜单栏左侧的网站–>点击Python项目–>点击添加Python项目

image-20240131101935274

最后点击提交,开始自动创建虚拟环境,等待项目创建完成。下面开始配置项目

配置

进入项目目录,再进入项目目录中的applications文件夹,找到config.py文件,点击编辑文件,可以看到项目的MySQL配置、redis配置、开关配置都在此文件中。 (每次修改项目文件都要重启服务方可生效)

image-20240131102410154

该配置文件中的内容如下:

#!/usr/local/bin/python3
# -*- coding: utf-8 -*-

"""
@Project : MoreAPI_PRO
@File    : config.py
@Author  : MoreCoding多点部落
@Time    : 2023/11/22 8:59 AM
"""
import logging



class BaseConfig:

    # 访问日志开关
    ACCESS_LOG = True
    # Sanic 拓展启用开关
    AUTO_EXTEND = True
    # 自动重载开关
    AUTO_RELOAD = True
    # 自动注册信号开关(开启后不存在的事件将会自动注册)
    EVENT_AUTOREGISTER = True
    # 异常返回格式
    FALLBACK_ERROR_FORMAT = 'json'
    # 客户端 IP 和代理 IP:X-Forwarded-For
    # FORWARDED_FOR_HEADER = "X-Forwarded-For"
    # 是否启用应用程序注册表
    REGISTER = True
    REQUEST_BUFFER_QUEUE_SIZE = 100
    REQUEST_ID_HEADER = "X-Request-ID"
    REQUEST_MAX_SIZE = 100000000
    REQUEST_MAX_HEADER_SIZE = 8192
    REQUEST_TIMEOUT = 600
    RESPONSE_TIMEOUT = 600


    SECRET_KEY = "zmDqprwgDyOjnQGTwbSChsL2kQ"

    # mysql 配置
    MYSQL_USERNAME = ""  # 数据库用户名
    MYSQL_PASSWORD = ""  # 数据库密码
    MYSQL_HOST = ""  # 数据库地址
    MYSQL_PORT = 3306
    MYSQL_DATABASE = ""  # 数据库名


    # redis 配置
    REDIS_PASSWORD = ""  # redis密码
    REDIS_HOST = "127.0.0.1"  # redis端口号
    REDIS_PORT = 6379  # redis端口
    REDIS_DATABASE = 5  # redis数据库号
    REDIS = f"redis://{REDIS_PASSWORD}@{REDIS_HOST}:{REDIS_PORT}/{REDIS_DATABASE}?max_connections=10"



    # 默认日志等级
    LOG_LEVEL = logging.WARN

    # 流冠代理配置  https://www.hailiangip.com/personal/flow
    LG_ORDER_ID = ""  # 代理订单号
    LG_ORDER_PASSWORD = ""  # 代理订单密码
    LG_ORDER_HOST = "flow.hailiangip.com"  # 代理地址
    LG_ORDER_PORT = "14223"  # 代理端口号

    # 巨量代理配置  https://www.juliangip.com/user/reg?inviteCode=1022456

    JL_ORDER_ID = ""
    JL_API_KEY = ""
    JL_IP_NUM = "10"

    # 阿里云短信配置
    ALI_ACCESS_KEY_ID = ""  # 用户ACCESS_KEY_ID
    ALI_ACCESS_KEY_SECRET = ""  # 用户ACCESS_KEY_SECRET
    ALI_SIGN_NAME = ""  # 签名名称
    ALI_TEMPLATE_CODE = ""  # 模板ID

    # 系统功能设置  (需保证数据库配置正常 并迁移)
    ENABLE_PROXY = False  # 是否开启网络代理
    PROXY_NAME = "LG"  # JL:巨量代理    LG:流冠代理
    ENABLE_ALI_SMS = False  # 是否开启阿里云短信(仅用于用户模块)
    ENABLE_API_AUTHORIZATION = False  # 开启API认证
    ENABLE_API_LOG = False  # 开启日志记录
    ENABLE_POOLS = False  # 开启cookie池  (优先级:请求携带cookie > MoreCookie > cookie池 > 默认cookie)


配置文件默认关闭网络代理、系统认证、日志记录、cookie池等功能。

**网络代理功能配置详见下方说明 **

cookie池、日志、认证等功能需要MySQL支持,在上方配置上自己的MySQL数据库相关的就可以了,然后还需进行数据迁移

以下是我的配置

image-20240131104320844

数据迁移

配置文件中的数据库配置完成后,方可进行数据迁移,数据迁移后才能使用数据库相关。因为项目采用aerich+tortoise-orm,aerich要在虚拟环境中运行,我们现在开始找到此项目的虚拟环境安装位置。虚拟环境安装位置一般默认在/www/server/pyporject_evn目录。

image-20240131103451029

下面进入项目目录/www/MoreAPI_Pro,调用上方虚拟环境中的aerich命令进行数据迁移,在项目目录中打开终端输入以下命令:

/www/server/pyporject_evn/MoreAPI_Pro_venv/bin/aerich init -t applications.tortoise.TORTOISE_CONFIG  # 虚拟环境路径+/bin/aerich init -t applications.tortoise.TORTOISE_CONFIG
/www/server/pyporject_evn/MoreAPI_Pro_venv/bin/aerich init-db

如出现如下图所示,则表示数据迁移成功。如果报错,请检查是否在项目目录中执行以上命令、虚拟环境路径是否正确。

image-20240131104415265

如果数据迁移过程出现报错,请先项目目录中的以下两个文件删除,再次执行数据迁移操作。

image-20240131103918477

四、大工告成

以上操作完成后,返回Python项目,将启动用户改为root(防止部分机器创建文件权限不足),重启服务即可,

image-20240131105034590

image-20240131105101759

我们找个API请求工具测试一下,完美运行。

image-20240131105223783

注:常见问题

一、代理配置

项目分为两个代理可供选择:

  • 流冠代理(隧道代理,每次请求更换IP,消耗流量)
  • 巨量代理(不限量代理, 每30秒获取一次IP,每次获取10个,随机调用。依托于redis)
流冠代理配置

进入流冠代理官网(杭州流冠科技有限公司-流冠IP代理-高匿HTTP-在线代理ip-隧道代理-千万IP服务供应商 (hailiangip.com)),注册账号并实名认证后,选择购买动态代理–流量计费方式

image-20240131105720855

购买成功后,进入个人中心–>订单管理–>流量订单,找到刚才购买的代理,点击进入详情

image-20240131105903762

进入详情后,点击配置订单密码,和配置白名单,将服务器IP填写进白名单中。

image-20240131110048411

然后进入MoreAPI_Pro项目目录,进入applications文件夹,找到config.py配置文件,将刚刚购买的订单号和配置的订单密码填写进配置文件,然后将下方的代理功能打开。PROXY_NAME填写LG即可。重启MoreAPI_Pro服务即可。

image-20240131110349067

巨量代理配置

进入巨量代理官网:https://www.juliangip.com/user/reg?inviteCode=1022456,注册账号并实名认证后,选择购买套餐,选择不限量代理套餐,根据个人需求选择。

image-20240131110627959

购买后,进入个人中心–>产品管理–>动态代理(不限量)–>设置授权信息,设置白名单为自己的服务器IP

image-20240131111015818

然后进入MoreAPI_Pro项目目录,进入applications文件夹,找到config.py配置文件,将刚刚购买的不限量套餐业务号和授权信息的API密钥填写进配置文件,然后将下方的代理功能打开。PROXY_NAME填写JL即可。重启MoreAPI_Pro服务即可。

日志相关

MoreAPI请求日志存储在数据库中,要开启日志,需要在MoreAPI_Pro项目目录,进入applications文件夹,找到config.py配置文件,将ENABLE_API_LOG设置为True,然后重启服务。要查看请求日志,需借助数据库连接软件,找到相关的表,进入查看即可

image-20240131111621633

Cookie池相关

MoreAPI_Pro项目集成cookie池功能,cookie池功能默认关闭的,可通过进入MoreAPI_Pro项目目录,进入applications文件夹,找到config.py配置文件,将ENABLE_POOLS设置为True,然后重启服务即可。MoreAPI_Pro接口文档中有cookie池相关API,通过API,可对相对应平台的cookie进行增删改查操作。

注:每个平台的cookie都需要在登录后,获取首页的cookie才能生效

已实现接口
  • 某音、某红薯、某手-获取视频详细信息
  • 某音、某红薯、某手-获取用户详细信息
  • 某音、某红薯、某手-获取用户主页发布
  • 某音、某红薯、某手-获取直播间信息
  • 某音、某红薯、某手-获取视频评论一级
  • 某音、某红薯、某手-获取视频评论二级
  • 某音、某红薯、某手-综合搜索
  • 某音、某红薯、某手-视频搜索
  • 某音、某红薯、某手-搜索用户
  • 某音、某红薯、某手-搜索话题
  • 某音、某红薯、某手-获取直播间用户列表
  • 某音、某红薯、某手-获取话题视频
  • 某音、某红薯、某手-获取视频弹幕
  • 某音、某红薯、某手-获取视频短链
  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘刘刘刘露

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值