实现自动化爬取曲阜师范大学教务系统获取学生成绩
1、立项背景和目标:随着高校教务系统的数字化发展,学生需要频繁登录教务系统查询成绩、课表等信息。然而,手动登录查询不仅效率低下,而且无法对历史数据进行有效的统计分析。为了解决这一问题,本项目旨在开发一个自动化爬虫工具,实现齐鲁师范学院教务系统的自动登录、成绩数据爬取与分析功能,帮助学生更高效地管理个人学业信息。
2、软件功能、核心功能模块的介绍:本软件主要实现以下核心功能模块:
- 自动登录模块:模拟浏览器行为访问教务系统,自动下载并识别验证码图片,处理登录加密参数和表单提交,维护会话状态确保后续请求有效
- 验证码识别模块:使用ddddocr库实现验证码自动识别,支持本地图片直接读取和处理,自动处理验证码识别过程中的异常
- 成绩爬取模块:登录成功后自动访问成绩查询页面,使用BeautifulSoup解析HTML页面结构,提取并结构化成绩数据
- 数据处理与分析模块:使用numpy进行数据结构化处理,使用pandas将数据转换为DataFrame格式,提供数据展示和基础分析功能
3、业务流程、功能路径描述:
业务流程:
1. 用户配置账号密码信息
2. 程序启动,初始化会话
3. 下载并识别验证码
4. 获取登录加密参数
5. 加密处理并提交登录表单
6. 验证登录结果
7. 登录成功后爬取成绩数据
8. 处理和分析成绩数据
9. 展示处理结果
功能路径:
- 登录路径:访问教务系统首页 → 下载验证码 → 识别验证码 → 获取加密参数 → 加密账号密码 → 提交登录表单
- 数据爬取路径:登录成功 → 访问成绩查询页面 → 解析HTML → 提取成绩数据
- 数据处理路径:原始数据 → 数据清洗 → 结构化处理 → DataFrame转换 → 结果展示
在线教育