Skip to content

LiangYeJing/CSUSelectCourse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README.md

# 🎓 CSU 选课助手

一个基于 **PyQt5 + Flask** 的图形化自动抢课工具,适用于中南大学教务系统。

---

## 🚀 功能介绍

- 图形化界面,支持一键抢多个课程
- 自动处理验证码,快速提交请求
- 实时反馈选课结果与冲突信息
- 支持打包为 `.exe` 程序,便于他人使用

---

## 📂 项目结构

CSUSelectCourse/ ├── backend/ # 后端 Flask 接口服务 │ ├── app.py # 启动后端服务 │ └── logic.py # 选课请求与验证码逻辑 ├── frontend/ # 前端 PyQt5 图形界面 │ └── main.py # 图形界面主程序 ├── run.py # 启动前后端总入口 ├── requirements.txt # 依赖列表 ├── .gitignore # Git 忽略配置 └── README.md # 项目说明文档


---

## 🖥️ 使用说明

### ✅ 安装依赖

```bash
pip install -r requirements.txt

✅ 启动程序

python run.py

✅ 打包为 .exe

需先安装 PyInstaller:

pip install pyinstaller

然后执行打包命令:

pyinstaller run.py --noconsole --onedir --clean --hidden-import=requests --hidden-import=PyQt5

打包完成后,dist/run/ 目录下的 run.exe 即为可执行文件。


🔍 如何查找课程 ID

课程 ID 是一个 6 位数字,用于表示每门课程的唯一编号。

方法一:通过教师名查询(推荐)

  1. 打开中南大学教务系统:课程表查询页面(教师)

  2. 输入学期、教师姓名后点击“查询”

  3. 课表格子中间的 6 位数字即为课程 ID

    课程 ID 示例

方法二:通过时间查询

  1. 在教务系统课表页面切换到“按时间查询”

  2. 课表格子中会显示课程编号

    时间查询示例


⚠️ 注意事项

  • 程序默认验证码图片由后端 Flask 提供,如无法获取请检查后端是否启动
  • 推荐使用 Python 3.9 / 3.10 环境,避免兼容性问题
  • 打包时务必将整个 dist/run/ 文件夹打包给他人,而不仅是单个 .exe 文件

🔐 隐私说明

  • 程序不会上传账号密码,所有数据仅保存在本地
  • 不会对任何选课系统造成负担,仅供学习交流使用

📄 免责声明

本项目仅为学习使用,作者不对使用本程序造成的任何后果负责。请合理使用,尊重教务系统公平机制。


🤝 联系作者

如需反馈问题或提出建议,请通过 GitHub Issue 联系我,欢迎 Star 🌟 本项目支持持续优化。


---

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages