可用于三四轮选课时捡漏
Download(已打包为exe文件)
python2版本基于python2.7
python3版本基于python3.6
同济大学本科生选课分为四轮,其中第一二轮选课是选课后随机刷人,直到课程人数不高于容量上限
只有第三四轮选课才是原本意义上的抢课。虽然此时大部分热门课程已经选满,但是仍然存在几种可能使我们能够选到热门课程
第一种情况是教务处放课,即增加课程容量上限。这个数字一般在1~5之间
第二种情况是有人退课
第三种情况是有人深夜交易,即一人退课,另一人立即选课。但是这有可能被其他人捡漏
这个选课脚本,针对的就是在三四轮抢课捡漏,避免了时时刻刻刷新课表的麻烦和精力的浪费
所以我建议,将选课脚本24小时运行,直到选到课为止
通过Python爬虫爬取4m3.tongji.edu.cn等一系列网站的信息,在能够选课的前提下,模拟发送选课消息
要求输入学生选课账号和密码,想要选择的课程id,以及邮箱地址和密码(目前仅支持qq邮箱)
教务处的课程信息并不是实时更新的,有时存在一定的延迟
当有人退课时,不一定会在当前人数信息上立即体现出来;甚至自己退课,也不一定能得到及时的反馈。
这对选课脚本的功能有着极大的制约,因为选课脚本的选课操作也是基于人数信息的。
越长的延迟意味着越大的失败或者错过的可能性:也许有人随便尝试下就能拿到这个没有显示出来的名额,但是总有人运气好,不是吗?
注意,此脚本不会检查目标课程是否与已有课程冲突,故有可能产生课程重叠,所以请务必检查冲突问题。
- python2.7
- requests
- getpass
- time
- BeautifulSoup
- python3.6
- requests
- time
- re
- BeautifulSoup
- tkinter
- smtplib
- getpass
1. 此版本仅针对暑假小学期测试通过
2. 选课成功或失败后会发送通知邮件(使用python2.7版本则无邮件通知)
3. 请勿在抢课结束前登录4m3.tongji.edu.cn
4. 输入密码时,屏幕不会显示输入的内容或者'*',请确保密码输入正确
5. 当出现fail消息时,请重新运行脚本
1. 此版本已经过第三轮选课测试,理论上也同样适用于第四轮选课
1. 点击confirm后输入界面会消失,进入选课阶段