本项目是一个用于计算学分绩点(GPA)的应用程序,通过从教务系统抓取成绩信息并计算相应的绩点。支持手动输入成绩和学分,自动计算GPA,并可导出日志。支持读取本地课程配置文件,也可以直接爬取成绩信息。
目前只针对IMU的教务系统进行更新和使用。测试时间详见release界面。理论上适用于同源的教务系统。
- 从本地配置文件读取课程信息
- 自动计算每门课程的绩点(支持设置为使用直接绩点)
- 爬取成绩信息并自动填写课程信息
- 支持成绩和绩点的手动修改,并即时更新GPA
- 可导出计算的GPA及课程日志
- 支持图形界面(PyQt5)
前往Release页面下载最新的发布版本(AyeeGPACalc3.7-4.3.exe)。解压缩后,您将获得以下内容:
AyeeGPACalc3.7-4.3.exe- 主程序courses.txt- 本地缓存课程配置文件credentials.txt- 存储用户名和密码的文件(用于爬取成绩)GPACalc4.4.py- 主程序的脚本版本ignore_words.txt- 忽略词配置文件msedgedriver.exe- Microsoft Edge WebDriver,用于爬取成绩的浏览器驱动
若要运行脚本版本, 您需要安装以下依赖项才能运行程序:
- Python 3.6 及以上版本
- PyQt5:
pip install PyQt5 - selenium:
pip install selenium - ddddocr:
pip install ddddocr - Microsoft Edge WebDriver:下载并将
msedgedriver.exe放置在与GPACalc4.4.py相同的目录中
在运行程序之前,请确保您已准备好以下配置文件:
credentials.txt:请在文件中输入您的教务系统用户名和密码(每行一个)。如果文件不存在,程序会报错。courses.txt:课程配置文件,包含每门课程的名称、学分、成绩和绩点。您可以手动编辑此文件,或使用爬取功能自动生成。ignore_words.txt:包含需要忽略的关键字,格式为每行一个关键词。
- 在解压缩后的文件夹中,找到并运行
AyeeGPACalc3.7-4.3.exe,程序将会启动图形界面。 - 在界面中,您可以选择以下操作:
- 从本地配置读入:加载
courses.txt文件中的课程数据。 - 爬取到本地:通过教务系统自动爬取成绩信息并保存至
courses.txt。 - 刷新:重新计算并更新GPA。
- 导出到日志:将当前的GPA和课程数据导出到日志文件。
- 使用绩点:切换为使用直接绩点模式计算GPA。
- 添加课程/删除/编辑课程:在表格中手动添加、编辑或删除课程。
- 从本地配置读入:加载
- 点击爬取到本地按钮,程序会要求您输入用户名和密码,之后自动爬取成绩并保存至
courses.txt。 - 如果爬取过程中出现验证码,程序会使用OCR技术自动识别并输入验证码。
- 修改成绩或绩点:在表格中直接编辑成绩或绩点,程序会自动更新相关字段并重新计算GPA。
- 导出日志:点击导出到日志按钮,将当前GPA和课程信息保存到一个日志文件中,文件名为当前时间戳。
- 确保您的
msedgedriver.exe与您的Microsoft Edge版本兼容,若遇到驱动问题,请下载最新版本的WebDriver。 - 爬取成绩时,程序可能会遇到验证码识别失败的情况,您可以调整
MAX_REFRESH_TIMES设置以增加重试次数。 - 为保证程序正常运行,请使用Python 3.6及以上版本,并安装所有必要的依赖项。
问题原因:
- 您的本地 Microsoft Edge 浏览器版本和程序自带的
msedgedriver.exe驱动版本不匹配。 msedgedriver.exe文件缺失或未正确放置。
解决方法:
-
确保Edge和EdgeDriver版本一致:
- 请参考 EdgeDriver下载页面 更新您的
msedgedriver.exe,确保它与本地的 Microsoft Edge 浏览器版本一致。 - 将更新后的
msedgedriver.exe文件替换项目文件夹中的旧版本。
- 请参考 EdgeDriver下载页面 更新您的
-
检查文件路径:
- 确保
msedgedriver.exe文件位于程序的根目录中。如果文件不在正确位置,程序可能无法找到它。
- 确保
-
更新浏览器:
- 若你安装的是最新版本的EdgeDriver,请更新你的Edge。通过“设置”中的“帮助和反馈” -> “关于Microsoft Edge”来检查更新。
- 如果您已经安装了最新版本的 Microsoft Edge,但问题依然存在,尝试重新安装浏览器,或者通过“设置”中的“帮助和反馈” -> “关于Microsoft Edge”来检查更新。
-
重新启动计算机:
- 有时,浏览器或驱动程序更新后需要重新启动计算机才能生效。请尝试重新启动计算机,并重新运行程序。
如果以上方法都无法解决问题,请尝试运行原python脚本,即 GPACalc4.4.py。或访问项目的 GitHub 页面提问获取更多支持。
您可以在表格中手动修改课程的成绩和学分。修改后,程序会自动计算对应的绩点,并更新GPA。
点击爬取到本地按钮,根据配置文件中您的教务系统用户名和密码,程序将自动爬取您的成绩信息并保存到courses.txt。
点击导出到日志按钮,程序会将当前GPA、总学分以及所有课程的详细信息导出到一个日志文件中。
本项目使用AGPL-3.0许可协议,详情请参阅LICENSE文件。