基于 Python + requests + tkinter 的源码项目,用于登录、课程查询与选课操作。
- 账号登录(验证码支持本地 OCR / AI / 手动输入)
- 课程列表分页抓取与筛选
- 抢课任务执行(间隔、重试、暂停、继续、终止)
- 支持课程多选批量抢课(
Ctrl/Shift多选)
- 操作系统:Windows
- Python:3.12(必需)
项目按 Python 3.12 维护与验证,请统一使用 3.12 环境运行。
xk_gui.py:主程序(GUI)requirements.txt:依赖列表
python -m venv .venv312
.\.venv312\Scripts\Activate.ps1python -m pip install -U pip
python -m pip install -r requirements.txtpython .\xk_gui.py- 输入学号和密码。
- 选择验证码模式:本地 OCR / AI OCR / 手动输入。
- 登录并抓取课程列表。
- 根据需要设置筛选条件,在课程表中选择目标课程。
- 单门抢课:直接选择 1 门课程后点击“抢选中课程”。
- 多选抢课:按住
Ctrl或Shift选择多门课程后点击“抢选中课程”。 - 任务执行中可“暂停/继续/终止”,结束后会弹出成功与未成功课程汇总。
- 抢课按“轮次”执行:每轮会依次尝试所有未成功课程。
- 某门课程抢到后会自动从待抢列表移除,不再重复提交。
- 直到达到设定点击次数,或所有已选课程均成功后提前结束。
- 抓课间隔:
1800~2500 ms - 403 重试次数:
8~12
若仍出现“请求过快”,请继续提高抓课间隔。
- 本项目会在本地生成偏好或缓存文件(如
xk_gui_prefs.json、xk_courses.json)。
本项目仅用于学习与技术研究,请遵守学校及平台相关规定,并自行承担使用风险。
本项目由大连东软信息学院微光网络工作室开发与维护