正在陆续更新以下功能
- 基础选课,主要是post的data数据结构
- 在两处登录如何自动刷新
- 获取课组id,输出为id.txt
- 自动获取课程信息功能
- 其他
-
填写学号、密码,运行
cxid.py -
填写所选课程所需的信息,主要是
'BJDM':'',#课程的代码 'lx':'',#类型 'skfsdm': "", # 01线下上课,02线上上课 'fromKzwid':'', #课组wid 'fromDxzwid':'', #不知道是啥id的简称其中:
lx:0,title:plannedCourses,计划内课程 lx:1,publicElectiveCourses,任选课 lx:2,programCourses,培养方案内课程 lx:5,retakeCourses,重修课 lx:20,undergraduateCourse,本科课程 lx:4,haveCourses,已选课,不管 lx:99,openedCourses,开设课程,不管 lx:101,导师审核信息,不管 'fromKzwid'和'fromDxzwid'从id.txt获取另外需要填写课程的名称,方便输出
-
运行即可
直接loadcourse全输出就行:https://yjsxk.buaa.edu.cn/yjsxkapp/sys/xsxkappbuaa/xsxkCourse/loadAllCourseInfo.do?_=timestamp&pageSize=8000,会输出所有开课信息,BJDM可从中获取。
退课的逻辑相对比较简单,主要是post一个退课请求,数据是bjdm和csrfToken,例如:
ca="https://yjsxk.buaa.edu.cn/yjsxkapp/sys/xsxkappbuaa/xsxkCourse/cancelCourse.do?_=" + get_stamp()
ca_data = {
'bjdm': "xxxxxxxxxxxxxxxxx",
'csrfToken': csrf,
}
cca = session.post(ca, data=ca_data)
camsg=cca.json()
print(camsg['msg'])