sjtu-automata
注意!此版本为BETA版,未经过严格测试,可能存在BUG,如有问题请提交issue
由于教务系统更新,v0.4.0为临时解决版本,周末会优化用户体验 v0.4.0更新:教务系统限制大约在30-60分钟左右可能需要重新登陆,暂时未解决,待周末重构。
上海交通大学抢课脚本
V2协议分析:https://github.com/MXWXZ/sjtu-automata/blob/master/Protocol%20analysis%20v2.md
使用脚本你可以做到
✔️ 无人值守自动抢课
✔️ 并发抢课提升成功率
✔️ 卡时间准时抢课
使用脚本你不能做到
❌ 违反选课规则选课(0day fucked)
❌ 提高您的网速
❌ 保证一定可以抢到课
系统环境测试程度
最佳支持:Manjaro with python 3.7.3 / Ubuntu 18.04 LTS with Python 3.6.7
Linux > Windows >> macOS=0(没钱无测试)
安装
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
其他版本/发行版/Windows等自行看文档:https://github.com/tesseract-ocr/tesseract/wiki
简单使用说明
- 由于选课系统再次更新,需要传递的参数改变,因此建议使用油猴脚本获取ID:https://www.tampermonkey.net/
- 插件安装完成后点击这里进入脚本安装页面:https://github.com/MXWXZ/sjtu-automata/raw/master/sjtu-automata.user.js
- 下面的教程以安装插件之后为准,如果不安装油猴脚本也可以自行查看网页源码提取相关ID
-
查看课程号和教学班:想选的课“教学班”第二行点击复制ID即可复制课号+教学班号
-
查看课程类型:标签页第二行的字符串即为课程类型
-
使用命令选课,格式为
autoelect [课程类型ID] [课程号ID] [256位教学班ID]:autoelect 01 AAAA... aaaa... 10 BBBB bbbb...上述命令将会选
01课程类型下的AAAA课的aaaa(省略256位)教学班和10课程类型下的BBBB课的bbbb(省略256位)课,如果需要更多可以在后面继续添加。注:程序运行过程中输入
s可以查看选课状态
抢课说明
- 本程序所有操作均保证当前课程不会减少,即无论你是否已经选上课、无论是否人满等各种情况都不会影响已选课程。换言之,无论何时均保证课程只多不少,重复提交不会影响当前课表。
- 程序运行后选课将会自动进行,如果失败自动重试,如果课程已满将自动等待并且定时刷新,直到抢成功或者用户退出为止
- 可以提前开上程序,如果没有开放选课将会自动等待并定时刷新,可以节省登陆的时间
- 所有指定的课程会同时进行选课,每个课程可占一个或多个线程进行选课增加成功率(多线程一般在网卡的时候才有必要)
参数说明
CLI
使用: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
Metadata
Release files for sjtu-automata 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sjtu_automata-0.4.0.tar.gz | 12.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sjtu_automata-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.3 kB
Release files / sjtu_automata-0.4.0.tar.gz
| Download URL | sjtu_automata-0.4.0.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6094110f80ab145a6957830592448b02071e80fcef42e7730d529a67ef5bd960
|
|
BLAKE2b-256 checksum How to use checksums |
7bc923b3495d682efaddaa08e204d364d0ae6c4973e1c840afb46ee46cb91597
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4
|
Release files / sjtu_automata-0.4.0-py3-none-any.whl
| Download URL | sjtu_automata-0.4.0-py3-none-any.whl |
|---|---|
| Size | 24.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
13e7f9a6085f8dff87b45d99f511ca6398ecd44a8889fd5392b74017b5e3b0be
|
|
BLAKE2b-256 checksum How to use checksums |
ceb2beaa5b034150fbd98c2fba45a1bc99085b5bad4d44e8a686bcf1ee1776e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4
|