Skip to content

ElderMedic/HZAU-jwScrwaler

 
 

Repository files navigation

华中农大教务系统爬虫

拾人牙慧的作品,基于正方教务助手改编,实现对华农教务的爬取。 感谢 simpleBrightMan,欢迎fork/star 正方助手具体参见:http:https://blog.csdn.net/nghuyong/article/details/52203443

1.项目定义

这个项目实现了华农教务系统的一套API: 包括模拟登陆,个人信息查询,课表获取,成绩查询等等。 随着API的不断完善于扩充,可以很方便的作为后台服务。 比如教务系统手机客户端,桌面客户端,也可以作为某些特定应用需要学生课表,信息的后台。

2.项目依赖

  • 爬虫相关:requests
  • 网页解析:lxml,BeautifulSoup
  • 数据存储:peewee
  • 数据库:Sqlite

3.项目结构

  1. jwInfo.db 数据库
  2. peeweeFormModel.py 模型层,通过ORM与数据库相连
  3. spider.py 业务层,网页爬虫,项目入口
  4. HTMLparser.py 业务层,网页解析工具

4.项目功能

通过 jw.hzau.edu.cn/default5.aspx 访问教务系统,爬取特定数据存入数据库、

4.1模拟登陆

需要处理验证码。将验证码下载到本地命名为 code.jpg。人工识别验证码后,手动输入验证码。实现登陆。

4.2个人信息获取

通过教务系统个人信息页面,抓取个人信息,自动化新建数据库,注册用户,并保存数据到数据库中。

4.3课表获取

通过抓取的个人信息读到学生入学的年份,在结合当前时间,就可以知道能够抓取到哪些学期的课表。

例如本人2017年9月入学,当前是2017年4月,说明至少可以抓取到大一第一,二学年的课表。

将抓取到的课表持久化到数据库中。

4.4成绩查询

通过教务系统成绩查询页面中的“历年成绩”抓取,课程成绩,并持久化到数据库中

4.5分学期分学年绩点计算

根据抓取下来的成绩,通过(总的(学分*绩点)/总的学分)分别自动化计算各个学期的绩点与各个学年的绩点。

About

HZAU JWscrawler

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 100.0%