上海交通大学抢课脚本(2020临时版本更新)
注意!此版本为BETA版,未经过严格测试,可能存在BUG,如有问题请提交issue
v0.4.0更新:教务系统限制大约在30-60分钟左右可能需要重新登陆。
上海交通大学抢课脚本
V2协议分析:https://github.com/MXWXZ/sjtu-automata/blob/master/Protocol%20analysis%20v2.md
:heavy_check_mark: 无人值守自动抢课
:heavy_check_mark: 并发抢课提升成功率
:heavy_check_mark: 卡时间准时抢课
:x: 违反选课规则选课(0day fucked)
:x: 提高您的网速
:x: 保证一定可以抢到课
最佳支持:Manjaro with python 3.7.3 / Ubuntu 18.04 LTS with Python 3.6.7 / macOS with Python 3.8.2
Linux > macOS > Windows
pip3 install sjtu-automata
pip3 install sjtu-automata --upgrade
Windows可以不装,Linux如无图形界面且无法通过其他方式打开captcha.jpeg
文件需要安装。
Arch系安装下面两个包:tesseract
、tesseract-data-eng
Ubuntu 18.04:
sudo apt install tesseract-ocr libtesseract-dev
macOS
brew install tesseract
其他版本/发行版/Windows等自行看文档:https://github.com/tesseract-ocr/tesseract/wiki
查看课程号和教学班:想选的课“教学班”第二行点击复制ID即可复制课号+教学班号
查看课程类型:标签页第二行的字符串即为课程类型
使用命令选课,格式为autoelect [课程类型ID] [课程号ID] [256位教学班ID]
:
autoelect 01 AAAA... aaaa... 10 BBBB bbbb...
上述命令将会选01
课程类型下的AAAA
课的aaaa
(省略256位)教学班和10
课程类型下的BBBB
课的bbbb
(省略256位)课,如果需要更多可以在后面继续添加。
注:程序运行过程中输入s
可以查看选课状态
使用:autoelect [OPTIONS] [CLASSTYPE-CLASSID-JXBID]
参数 | 长参数形式 | 说明 |
---|---|---|
-v | --version | 显示版本 |
--no-update | 关闭更新检查 | |
-o | --ocr | 使用OCR识别验证码 |
--print-cookie | 打印登陆cookie | |
-d | --delay | 两次尝试选课间隔(默认1s) |
-c | --check-delay | 检查选课是否开放的延迟(默认3s) |
-n | --number | 每个课程的线程数(默认为1) |
-h | --help | 显示帮助 |
CLASSTYPE
、CLASSID
、JXBID
成组出现,可以出现多组同步进行,但至少有一组CLASSTYPE
:2位课程类型CLASSID
:课号IDJXBID
:256位教学班ID