Skip to content

NeuShimmer/neusoft-course-grabber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DNUI 金智教务选课工具

基于 Python + requests + tkinter 的源码项目,用于登录、课程查询与选课操作。

功能概览

  • 账号登录(验证码支持本地 OCR / AI / 手动输入)
  • 课程列表分页抓取与筛选
  • 抢课任务执行(间隔、重试、暂停、继续、终止)
  • 支持课程多选批量抢课(Ctrl/Shift 多选)

运行环境

  • 操作系统:Windows
  • Python:3.12(必需)

项目按 Python 3.12 维护与验证,请统一使用 3.12 环境运行。

项目结构

  • xk_gui.py:主程序(GUI)
  • requirements.txt:依赖列表

快速开始

1. 创建并激活虚拟环境(Python 3.12)

python -m venv .venv312
.\.venv312\Scripts\Activate.ps1

2. 安装依赖

python -m pip install -U pip
python -m pip install -r requirements.txt

3. 启动 GUI

python .\xk_gui.py

使用说明

  1. 输入学号和密码。
  2. 选择验证码模式:本地 OCR / AI OCR / 手动输入。
  3. 登录并抓取课程列表。
  4. 根据需要设置筛选条件,在课程表中选择目标课程。
  5. 单门抢课:直接选择 1 门课程后点击“抢选中课程”。
  6. 多选抢课:按住 CtrlShift 选择多门课程后点击“抢选中课程”。
  7. 任务执行中可“暂停/继续/终止”,结束后会弹出成功与未成功课程汇总。

多选抢课说明

  • 抢课按“轮次”执行:每轮会依次尝试所有未成功课程。
  • 某门课程抢到后会自动从待抢列表移除,不再重复提交。
  • 直到达到设定点击次数,或所有已选课程均成功后提前结束。

建议参数(减少 403 频率)

  • 抓课间隔:1800~2500 ms
  • 403 重试次数:8~12

若仍出现“请求过快”,请继续提高抓课间隔。

安全与隐私

  • 本项目会在本地生成偏好或缓存文件(如 xk_gui_prefs.jsonxk_courses.json)。

免责声明

本项目仅用于学习与技术研究,请遵守学校及平台相关规定,并自行承担使用风险。

本项目由大连东软信息学院微光网络工作室开发与维护

About

大连东软信息学院金智教务选课工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages