拾人牙慧的作品,基于正方教务助手改编,实现对华农教务的爬取。 感谢 simpleBrightMan,欢迎fork/star 正方助手具体参见:http://blog.csdn.net/nghuyong/article/details/52203443
这个项目实现了华农教务系统的一套API: 包括模拟登陆,个人信息查询,课表获取,成绩查询等等。 随着API的不断完善于扩充,可以很方便的作为后台服务。 比如教务系统手机客户端,桌面客户端,也可以作为某些特定应用需要学生课表,信息的后台。
- 爬虫相关:requests
- 网页解析:lxml,BeautifulSoup
- 数据存储:peewee
- 数据库:Sqlite
- jwInfo.db 数据库
- peeweeFormModel.py 模型层,通过ORM与数据库相连
- spider.py 业务层,网页爬虫,项目入口
- HTMLparser.py 业务层,网页解析工具
通过 jw.hzau.edu.cn/default5.aspx 访问教务系统,爬取特定数据存入数据库、
需要处理验证码。将验证码下载到本地命名为 code.jpg。人工识别验证码后,手动输入验证码。实现登陆。
通过教务系统个人信息页面,抓取个人信息,自动化新建数据库,注册用户,并保存数据到数据库中。
通过抓取的个人信息读到学生入学的年份,在结合当前时间,就可以知道能够抓取到哪些学期的课表。
例如本人2017年9月入学,当前是2017年4月,说明至少可以抓取到大一第一,二学年的课表。
将抓取到的课表持久化到数据库中。
通过教务系统成绩查询页面中的“历年成绩”抓取,课程成绩,并持久化到数据库中
根据抓取下来的成绩,通过(总的(学分*绩点)/总的学分)分别自动化计算各个学期的绩点与各个学年的绩点。