开源一个 新版正方教务系统SDK new-school-sdk

613 阅读1分钟

新版正方系统 Python SDK (支持滑块验证码与常规验证码)

背景

前年发现学校更新了教务系统,导致现有的基于旧版正方系统的课表小程序无法使用了。

之前曾在GitHub上看到过本校师兄开发的school-api一个基于旧版正方的python SDK,但新版无法使用。因此花了两天时间研究了下新版正方的登录,以上便是这个项目的起源。

项目Github地址: github.com/Farmer-chon…

Downloads

测试环境

  • Python == 3.8
  • 默认验证码识别方式: CPU

Usage

$ pip install school-sdk
# or
$ pip install zf-school-sdk
from school_sdk import SchoolClient

# 先实例化一个学校,再实例化用户
school = SchoolClient("172.16.254.1")
user:UserClient = school.user_login("2018xxxxx", "xxxxxxxx")
course = user.get_schedule(year=2020, term=2)
print(course)

使用示例参见 examples

Api Function

ApiDescriptionArgument
user_login登陆函数account, password
get_schedule课表查询year, term
get_score成绩查询year, term
get_info获取个人信息None
refresh_info刷新个人信息None
check_session检查session并其失效后重登录None

School-SDK Options

OptionDefaultDescription
host不存在默认值教务系统地址(必填)
port80端口号
sslFalse教务系统是否使用https
nameNone学校名称
exist_verifyFalse是否存在验证码
captcha_typecaptcha验证码类型(常规 或 滑块)
retry10登录重试次数
lan_hostNone内网地址(暂不可用)
lan_port80内网地址端口(暂不可用)
timeout10全局请求延时
url_endpointsNone地址配置

相关项目