Skip to content

获取四川大学本人任意学期的课程教材目录,理论上稍作修改可以适配大多数采用URP教务系统的学校

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE-CCBYNCSA-getbooks.md
Unknown
LICENSE-MIT-any_not_stated.md
Notifications You must be signed in to change notification settings

lwei02/SichuanUniv_GetCourseBook

Repository files navigation

SichuanUniv_GetCourseBook

获取四川大学本人任意学期的课程教材目录

使用方法

  1. 确认计算机中安装有Google Chrome,若没有安装,请先点此下载(若左侧链接无法访问,可尝试此链接
  2. 确认计算机中安装有Python3,若没有安装,请点此下载
  3. 下载仓库,解压后,在仓库目录中运行python3 -m pip install -r requirements.txt
  4. 运行python3 getChromeLib.py,程序会自动下载对应版本的Chromedriver,或者你也可以手动下载Chrome 114以前在此下载)对应版本的Chromedriver并解压后放置在./lib/chromedriver.exe
  5. 修改getBooks.py,填入你的学工号和统一身份认证密码(不是微服务密码,不是教务系统密码),同时可以选择填入百度云OCRAPI_KEYSECRET_KEY,如果不填百度云的认证信息,则会在过程中弹出一个验证码截图,可以通过手动识别填写该验证码
  6. 运行python3 getBooks.py,程序会自动抓取你的课程表,选择对应学期,程序将逐个查询该学期的课程所有的教材,并保存为xlsx文档

原理

  • 教师教务系统本身不允许学生登录,但是统一身份认证的SSO登录接口并不对学生、教师作区分,导致学生账号可以简单的通过SSO登录进教师教务系统
  • 教师教务系统存在一个认证通过后不区分学生教师,也不确认所登录账号是否是负责教师的接口:
    http://zhjwjs.scu.edu.cn/teacher/comprehensiveQuery/search/textbookSpecified/show?jsh=&kxh=<课序号>&kch=<课程号>&zxjxjhh=<学期代码>
    
    该接口可以查询某个课程所使用的教材,通过对其返回的HTML进行分析,可以得到结构化的课程教材书目

其他学校

该应用应当可以简单修改以适配其他采用新版URP教务系统的学校(需要能够统一身份认证,且统一认证后能够SSO登录到教师系统中),欢迎fork

关于Issues

如果程序中出现了运行错误,请提Issue,不接受其他方面的Issue(如请求新功能等)

关于PR

欢迎PR

Disclaimer

该项目中Python程序仅涉及对四川大学IDaaS系统登录、教务系统学生端单点登录、教务系统教师端单点登录的浏览器自动化操作,大多数情况下仅会向四川大学相关服务器作出数据请求(在提供百度云令牌的情况下会将验证码图片上传至百度云服务器),不涉及将任何形式的学生数据上传到任何第三方服务器的操作。

About

获取四川大学本人任意学期的课程教材目录,理论上稍作修改可以适配大多数采用URP教务系统的学校

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE-CCBYNCSA-getbooks.md
Unknown
LICENSE-MIT-any_not_stated.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages