开源一个 正方教务系统 对接模块 School-Api

2019-01-26 21:38:39 +08:00
 dairoot

背景

大二接手师兄编写的校园微信公众号,那时候奕报告(校园服务 app )刚好在对接我们学校,可以提前查成绩,于是就去抓包分析奕报告,第一次敲代码的我,就这样子✨bulingbuling✨的上线了我的第一个 bug 多多的成绩查询功能(后来因提前公布成绩的原因,被抓去喝茶了)。

以上就是我的入坑经历,后来随着项目功能越来越多,可扩展性也就越来越差,存在很多隐藏问题,debug 超麻烦!!!。于是就把正方系统的请求功能重写了,封装成一个独立模块。web 服务不再需要考虑教务系统的请求问题,也方便了公众号的后续开发(如:多校接入)。

GitHub: https://github.com/dairoot/school-api

模块安装

$ pip install School-Api

主要功能

技术支持

使用示例 详细文档

# -*- coding: utf-8 -*-

from school_api import SchoolClient

# 先实例化一个学校,再实例化用户
school = SchoolClient(url='http://210.38.137.126:8016')
student = school.user_login('2014xxxx', 'xxxx')
schedule_data = student.get_schedule()
print(schedule_data)

课表数据格式

微信公众号功能预览:源码

欢迎 star & fork GitHub: https://github.com/dairoot/school-api

6910 次点击
所在节点    分享创造
31 条回复
77600753
2019-01-26 21:46:13 +08:00
这个不错,谢谢楼主分享
dairoot
2019-01-26 21:47:21 +08:00
@77600753 感谢支持哈
bkmi
2019-01-26 21:54:56 +08:00
东西不错,预感楼主还要再喝一次茶
dairoot
2019-01-26 21:58:22 +08:00
@bkmi 不需要我去喝茶,有别人专业代喝的😂
Daath
2019-01-26 22:04:05 +08:00
看到这个课程,牛逼。。物联网,云计算
steveway
2019-01-27 02:36:58 +08:00
奕报告似乎不是用的用户接口?
可以直接获得所有人的排名
superlks
2019-01-27 08:18:16 +08:00
去年还是这样的教务系统,今年正方似乎重构了教务系统,ui 全变了,接口不清楚变没变,因为关注的不多,之前倒是自己搞过学校网站
jimages
2019-01-27 08:43:37 +08:00
我们自己做了一个,也是抓取正方教务系统的课表,成绩,考试安排和个人信息,我自己测试了一下,抓完所有数据(包括所有学期,需要 5s,使用了多线程)楼主这个需要多少时间啊?我感觉似乎没有使用多线程来加速
iSk2yroot
2019-01-27 09:41:48 +08:00
最近也正好在鼓捣这个,可以学习下楼主的代码 ,感谢分享
stillwaiting
2019-01-27 09:49:02 +08:00
10 年前我也写过,查成绩,主要为了抢选课...
快 10 年了界面也没变过嘛
dairoot
2019-01-27 10:38:09 +08:00
@jimages 我只是提供请求的方法,多线程,队列什么的写在外层接口,比如我们外层就是用 celery 来调用的了
dairoot
2019-01-27 10:46:15 +08:00
@stillwaiting 哇,十年前,我们主要的干需是每天的课表查询和一学期一次的成绩查询
alvin666
2019-01-27 10:47:27 +08:00
代喝茶
这么厉害的吗
huangdayu
2019-01-27 12:01:46 +08:00
如果我还在校也许还可以搞一波,不过也感谢楼主的分享
dairoot
2019-01-27 12:23:57 +08:00
@huangdayu 哈哈感谢支持,多校兼容还是个坑,还在填补中
glaucus
2019-01-27 13:43:49 +08:00
验证码如何处理的?
whi147
2019-01-27 13:51:10 +08:00
@Daath 我上学的时候也是这个专业,主要还是传感器、单片机开发
dairoot
2019-01-27 14:02:24 +08:00
@glaucus 加了验证码识别
glaucus
2019-01-27 14:33:45 +08:00
@dairoot 不错哦,我之前也做过我们学校的 APP,后面因为验证码没做成适配其他学校的通用框架
dairoot
2019-01-27 14:44:01 +08:00
@glaucus 还在适配中,太多格式不一致了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/530901

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX