抢课好像是多少高校学生头疼的一个问题。。。
为了各位(以及我)能抢到一门好(水)课,趁着选课开放写了这么一个小程序
本人新手写代码还请各位大佬多多指教!
好了,来说说这垃圾程序怎么用
- requests
- bs4
- PIL
- numpy
最近暑假期间去瞄了一下urp,好像是改版了,所以暂时不确定能不能用,现在只是发现好像登录密码加了md5加密,其他暂时不清楚,后期可能准备下学期补选的时候把整个重构一下,太乱了😂
lessons.py文件中的sleep(1)
严禁删除!!!
一方面是时间太短会导致服务器没有处理完选课数据,导致程序的请求失败,另一方面是减轻学校服务器压力
程序运行过程中可以摁下 control键 + c 停止,停止后务必检查课表情况!!!
登录的时候弹出的验证码要点击一下验证码的框然后摁一下随便啥键然后才能输入,这点要注意!
main.py里有个dealType
参数,这个是选课的类型,2位专业选修,3为任选,现在看下来好像2的话都可以,所以默认2
从教务指南或者啥地方找到所要选的课程的课程号、课序号、课程全称,将这三个数据按顺序填写到一个csv文件中,具体样式可参照user_info里example.csv的例子,保存到user_info文件夹中,文件名称改为要抢课那人的学号即可
隔壁Issues欢迎反馈!
错误显示:选课文件不存在!请检查!
错误原因:当前登录学号的选课文件未找到,请检查文件!
错误显示:xxxx!连接错误!
错误原因:在xxx时候网络连接有问题,请检查网络!
错误显示:xxxx!请求网页有问题!
错误原因:在xxx时候请求网页有问题,此时务必告知我!
错误显示:xxxx!请求超时!
错误原因:在xxx时候请求超时,请检查网络!
错误显示:验证码输入错误!
错误原因:登录时输入的验证码错误
错误显示:用户名或密码输入错误!
错误原因:登录时用户名或密码输入错误!
错误显示:有人登陆了您的账号!
错误原因:在运行时您(或他人)登录了您的账号导致程序被强制下线
错误显示:对不起,当前为非选课阶段!
错误原因:教务处选课系统没开。。。
错误显示:选课提交失败!xxx!/选课提交确认失败!xxx!/获取选课结果失败!xxx!
错误原因:在选课提交和获取选课结果时发生网络错误,请务必前往urp确认选课状态!
错误显示:第n次获取选课结果失败!正在重试!
错误原因:暂未获取到正常的返回结果,请耐心等待
错误显示:获取选课结果失败!请到urp进行确认!
错误原因:多次未获得正确的选课结果,请务必前往urp确认选课状态,而后检查自己输入的信息是否有误,同时隔壁提交issue
错误显示:程序报错。。。
错误原因:未知。。。请提交隔壁issue,不过倒是现在登录时验证码无法正常显示还没处理实现,所以此时可能会出现异常,不过不影响课表,只是无法登录
正常会逐次显示第n次选课!
如果出现类似选课不符合年级或者其他之类的是正常现象,表明你选的课不符合教务处的规定,重新挑课输入进去就行了
如果出现没有该课程之类的,表明你输入的课程信息有问题,请重新核对后再次尝试,如果不懂去隔壁开issue
如果出现上面两个问题,程序会继续正常运行并将有问题的课程去除,您可以终止程序重新输入课程或者程序抢到剩余课程时再进行修改
全部课程抢到之后会提示:全部课程已成功选上!请去urp查收!这时去urp查收课程就好了