# gdjw **Repository Path**: caixukun66666666/gdjw ## Basic Information - **Project Name**: gdjw - **Description**: 基于Python的教务系统查询工具,支持课表、成绩等数据抓取与解析。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-05 - **Last Updated**: 2025-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ```markdown # gdjw - 教务系统查询工具 ## 项目简介 gdjw 是一个基于 Python 开发的教务系统数据抓取与解析工具,支持课表查询、成绩查询等功能。该项目通过自动化脚本模拟用户登录行为,实现对教务系统数据的结构化采集和展示,为学生提供便捷的教务信息查询服务。 前端使用 JavaScript 和 HTML 构建用户界面,后端采用 Python 处理数据抓取和解析逻辑,是一个典型的前后端分离项目。 项目仓库地址:https://gitee.com/caixukun66666666/gdjw ## 功能特性 - **用户认证**:支持模拟登录教务系统 - **课表查询**:自动抓取并解析当前学期课表信息 - **成绩查询**:支持多学期成绩数据抓取与分析 - **数据导出**:支持将查询结果导出为 JSON/CSV 格式 - **可视化展示**:提供清晰的课表和时间安排可视化界面 - **多学期支持**:可查询历史学期成绩和课表信息 ## 技术栈 ### 后端技术 - **Python 3.8+**: 主要编程语言 - **Requests**: HTTP 请求库,用于模拟登录和数据抓取 - **BeautifulSoup4**: HTML 解析库,用于解析教务系统页面 - **lxml**: 高性能 XML/HTML 处理库 ### 前端技术 - **JavaScript**: 前端交互逻辑 - **HTML5**: 页面结构 - **CSS3**: 样式设计 ### 开发工具 - Git: 版本控制 - 浏览器开发者工具: 用于分析网络请求和页面结构 ## 安装指南 ### 环境要求 - Python 3.8 或更高版本 - Node.js (可选,用于前端开发) - 现代浏览器(Chrome、Firefox、Edge等) ### 安装步骤 1. **克隆项目** ```bash git clone https://gitee.com/caixukun66666666/gdjw.git cd gdjw ``` 2. **安装Python依赖** ```bash pip install -r requirements.txt ``` 3. **配置项目** - 复制 `config.example.py` 为 `config.py` - 根据实际情况修改配置文件中的参数 4. **运行项目** ```bash # 启动后端服务 python main.py # 前端文件位于 static 目录,可通过任何web服务器部署 ``` ## 使用方法 ### 基本使用示例 ```python from gdjw import JWXTClient # 初始化客户端 client = JWXTClient() # 登录教务系统 if client.login('你的学号', '你的密码'): print('登录成功!') # 获取课表 schedule = client.get_schedule() print(schedule) # 获取成绩 grades = client.get_grades() print(grades) else: print('登录失败,请检查账号密码') ``` ### Web界面使用 1. 打开 `index.html` 文件 2. 在登录界面输入学号和密码 3. 点击相应功能按钮查询数据 4. 查看结果或导出数据 ### 界面截图说明 - **登录界面**:包含学号、密码输入框和登录按钮 - **主界面**:显示功能导航栏,包括课表查询、成绩查询等选项卡 - **课表展示**:以表格形式展示每周课程安排,不同课程使用不同颜色区分 - **成绩展示**:表格形式展示各科成绩,支持按学期筛选 ## 项目结构 ``` gdjw/ ├── main.py # 主程序入口 ├── config.py # 配置文件 ├── requirements.txt # Python依赖列表 ├── README.md # 项目说明文档 ├── static/ # 前端静态文件 │ ├── index.html # 主页面 │ ├── css/ # 样式文件 │ ├── js/ # JavaScript文件 │ └── images/ # 图片资源 ├── src/ # 源代码目录 │ ├── __init__.py │ ├── jwxt_client.py # 教务系统客户端 │ ├── parser.py # 数据解析器 │ └── utils.py # 工具函数 └── tests/ # 测试文件 └── test_jwxt.py # 单元测试 ``` ## 贡献指南 我们欢迎任何形式的贡献!请遵循以下步骤: 1. Fork 本项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ### 开发规范 - 遵循 PEP 8 Python 编码规范 - 使用英文编写注释和文档 - 为新功能添加相应的测试用例 - 确保所有测试通过后再提交 ## 许可证信息 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 免责声明 本项目仅用于学习和研究目的,请遵守学校相关规定,合理使用。开发者不对因使用本项目而产生的任何问题负责。 --- 如有问题或建议,请通过项目仓库的 Issue 功能反馈。 ```