我们先来看一下实现的效果吧,最终实现效果。
如何制作这样一个课表小程序呢?首先需要了解一个大概的方向。主要分为两步,第一步先拿到课表的数据,第二步在小程序端渲染出来。
接下来我们需要拿到课程表的数据,有两种方法,一种是直接拿到学校提供的接口,这种方法最省事的。不过,一般我们都是拿不到接口的。所以,这条路就走不通了。另一种方法就是通过爬虫技术,获取到课表数据。图解如下:
接下来主要说一下,如何通过爬虫获取课表数据。全国高校的教务系统主要有两个,一个是青果教务系统,一个是正方教务系统。以我所在的学校为例子,学校使用的是青果教务系统。所以只能演示青果系统课表的爬取。以下内容不会涉及学号密码。(涉及到个人课表的获取会在最后提供实现思路)
登录教务网系统:
在左侧栏可以查看到教室的课表,班级的课表以及教师课表等等。这就给我们提供了一个访问的接口。
通过抓包分析,分析得出整个获取课表的流程如下:
教室课表代码获取如下:
(代码无法展示,关注哥们并肩走过公众号,推文里有)
我们弄清楚接口请求的参数,其实就很好办了。代码就是帮我们模拟这个流程获取课表数据,需要注意的是教务管理系统接口需要输入验证码,且验证码有10次的限制,10次之后需要重新获取新的验证码,才能查询课表。我们可以调用