Auto elect script for SJTUer.
Project description
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
使用脚本你可以做到
: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
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sjtu_automata-0.4.0.tar.gz
.
File metadata
- Download URL: sjtu_automata-0.4.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6094110f80ab145a6957830592448b02071e80fcef42e7730d529a67ef5bd960 |
|
MD5 | 3ca31e4392a9d6d792a5999ce5d1dd73 |
|
BLAKE2b-256 | 7bc923b3495d682efaddaa08e204d364d0ae6c4973e1c840afb46ee46cb91597 |
File details
Details for the file sjtu_automata-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: sjtu_automata-0.4.0-py3-none-any.whl
- Upload date:
- Size: 24.2 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13e7f9a6085f8dff87b45d99f511ca6398ecd44a8889fd5392b74017b5e3b0be |
|
MD5 | 296e76d92ef2cd62a33d0e678fbb8b06 |
|
BLAKE2b-256 | ceb2beaa5b034150fbd98c2fba45a1bc99085b5bad4d44e8a686bcf1ee1776e9 |