FIT ZFJW API 是一个用于FIT教务系统的Python API包,提供了方便的接口来获取教务信息和管理课表。
git clone https://github.com/Lecheeel/fit-zfjw-api.git
cd fit-zfjw-api
pip install -e .
- Python 3.6 或更高版本
- 依赖包将自动安装:
- requests>=2.25.1
- rsa>=4.7
- pyquery>=1.4.3
from fit_zfjw_api import JWGLClient, ScheduleManager
# 初始化教务客户端
client = JWGLClient(base_url, account, password)
# 登录系统
login_result = client.login()
# 获取课表信息
schedule = client.get_schedule()
# 获取个人信息
info = client.get_info()
# 初始化课表管理器
schedule_manager = ScheduleManager('schedule.json')
# 获取特定日期的课程
from datetime import date
courses = schedule_manager.get_courses_on_date(date.today())
# 获取当前时间的课程
current_course = schedule_manager.get_course()
# 获取接下来的课程
from datetime import datetime
next_courses = schedule_manager.get_next_courses(datetime.now())
from fit_zfjw_api import JWGLClient, ScheduleManager, Course
from datetime import datetime, date
# 自定义基础URL
base_url = "https://your-jwgl-system.edu.cn"
client = JWGLClient(base_url, "your_username", "your_password")
try:
# 登录
login_result = client.login()
print("登录成功")
# 获取并保存课表
schedule_response = client.get_schedule()
schedule_data = schedule_response.json()
# 保存到文件
import json
with open('my_schedule.json', 'w', encoding='utf-8') as f:
json.dump(schedule_data, f, ensure_ascii=False, indent=4)
# 使用课表管理器
manager = ScheduleManager('my_schedule.json', start_date="2024-09-01")
# 获取今天的课程
today_courses = manager.get_courses_on_date(date.today())
for course in today_courses:
print(f"课程: {course.name}, 教师: {course.teacher}, 教室: {course.classroom}")
# 检查当前是否有课
current_course = manager.get_course(datetime.now())
if current_course:
print(f"当前课程: {current_course.name}")
else:
print("当前没有课程")
except Exception as e:
print(f"操作失败: {e}")
主要用于与教务系统交互的客户端类。
方法:
login()
: 登录教务系统get_schedule()
: 获取课表数据get_info()
: 获取个人信息
用于管理和查询课表信息的类。
方法:
get_courses_on_date(target_date)
: 获取指定日期的课程get_course(target_time=None)
: 获取指定时间的当前课程get_next_courses(target_time)
: 获取指定时间之后的课程
课程信息类,包含课程的基本信息。
属性:
name
: 课程名称teacher
: 教师姓名classroom
: 教室位置weeks
: 上课周次weekdays
: 上课星期periods
: 上课节次
查看 examples/
目录获取更多使用示例:
JWGL_Client_Usage.py
: 教务客户端使用示例schedule_manager_usage.py
: 课表管理器使用示例course_server_usage.py
: 课程服务器使用示例
git clone https://github.com/Lecheeel/fit-zfjw-api.git
cd fit-zfjw-api
pip install -e ".[dev]"
python -m pytest test/
为避免对教务系统造成不必要的负担,您不应频繁爬取获取数据,以免影响系统正常运行。应合理设置爬取频率,避免对服务器造成过大负载。
本项目使用 GPL 许可证。详见 LICENSE 文件。
想要支持项目作者吗?给我送瓶可乐到A1-312吧 🥤😊
本项目仅供学习和研究使用,不得用于任何商业用途。使用本项目造成的任何损失或法律责任,均与项目作者无关。用户应自行承担使用本项目的风险,并按照所在地的法律法规合法使用。
本项目涉及到教务系统,用户在使用时应遵守所在学校的规定和相关法律法规。未经授权,用户不得进行任何未经授权的操作,包括但不限于未经许可的登录、获取个人信息等行为。
作者不对使用本项目造成的任何直接或间接损失负责,包括但不限于因使用本项目导致的个人信息泄露、账号被封禁等情况。用户应自行承担风险,并注意保护个人信息安全。
如果您使用本项目,则视为您已接受本免责声明的所有条款和条件。