一、软件功能
1.自动抢课【当在第二次选课前,课程有剩余名额时】
第二次选课时的自动抢课功能:在抢课开始之前,用户设置好待抢的课的抢课请求,程序将在相应时间自动抢课。如果程序能省去从登录到抢课的中间链接跳转,理论上能大幅提高抢课效率和成功率。
2.退课监控【当在第二次选课前,课程已报满时】
当有同学退课时,立即选上。或者开启邮箱提醒功能,一旦有剩余名额,程序立刻发邮件给用户。用户可以设置多个备选课程,一些备选课程一旦有名额了,就立即选上;其它一些备选课程有名额时,将采取邮件提醒,用户接受邮件后手动选课。(事实上,邮箱提醒功能可以适用于未登录用户)
邮件提醒还可以用于判断程序是否正常运行。退课监控具有时间长的特点,从第二次选课到选课结束,以及补退选都可以用,这就要解决好cookie过期的问题,解决模拟用户登录问题。用户可以选择邮箱发送间隔,默认每半小时发送一次状态确认邮件。
3.成绩查询【考试周】
用于判断是否有课程出成绩,监控绩点变化情况,对于隐式出分的情况,程序自动计算分数,避免有两门课同时隐式出分,导致我们无法反推成绩的情况。有邮件提醒。
二、开发条件
- 需要继续学习更多爬虫知识,包括了解selenium、phantomJS等动态爬虫技术
- 适度了解前端知识,css、html、响应类型(get方法数据发送方式)、cookie技术等知识
- 等选课系统开放时、查看其网页架构;等选专业系统开放时,查看其网页架构
- Python图形用户界面,制作成exe文件
- 上线Android端
- 参考Bypass分流抢票程序,构想更多功能,模仿相关技术。