Skip to content

Web crawler for fetching and indexing class schedule data from Kingo Educational Administration System

License

Notifications You must be signed in to change notification settings

ShinonomeTN/ssim

Repository files navigation

简单的课表查询网站

为针对广东岭南职业技术学院所使用的教务系统(青果网教务系统)的课表爬取与整理网站

[TOC]

公共API

通过此类 API 与服务器通讯均使用 UTF-8 编码格式

课表查询 API

/api/terms - 所有学期

查询所有可用学期

  • 方法 : GET
  • 无传参
  • 返回:学期字符串数组
{
	"data":["2016-2017学年第二学期"]
}

/api/weeks - 某学期最大周数

查询学期最大周数

  • 方法 : GET
  • 参数
  • termName : 学期全称
  • 返回 : 最大周数(从 1 开始算起)
{
	"data":19
}

/api/classes - 某学期上课班级

查询学期内上课的班级

  • 方法 : GET
  • 参数
  • termName : 学期全称
  • 返回 : 学期内所有上课班级
{
	"data":["班级名称 1","班级名称 2", "班级名称 3", ....]
}

/api/types - 查询课程类型

查询所有课程类型

  • 方法 : GET
  • 参数 :
    • termName : 指定学期,可选,不指定则返回所有学期的类型
  • 返回 : 课程类型
{
	"data":[
		"专业基础课/必修课",
		"专业课/必修课",
		"专业课/限选课",
		"公共课/任选课",
		"公共课/必修课",
		.... ]
}

/api/lessons - 查询课表

  • 方法 : GET
  • 参数 :
  • termName : 学期全称
  • week : 周数(从 1 开始算起),可选,不填则返回整个学期课表
  • className : 上课班级全称
  • ignoreType : 忽略的课程类型,数组,可选,不填则返回全部类型的课程(包括因为教务录入问题而产生的重复课程)
  • 返回 : 指定条件的课表
{
	"data":[
		{
			"id":158758,
			"term":"2016-2017学年第二学期", // 学期
			"unit":"外语外贸学院",			// 学院
			"name":"公共外语(二)",		// 课程名称
			"period":63.0,					// 课时
			"credit":3.5,					// 学分
			"teacher":"XXX",				// 上课教师
			"category":"公共课/必修课",		// 课程类型
			"attendClass":"xx通信技术x班",	//上课班级
			"week":1,						// 周数
			"weekday":5,					// 星期几
			"turn":5,						// 第几节课
			"address":"C栋B609"				// 地点
		}, .....]
}

/api/lessons/timepoint - 查询有课时间

  • 方法 : GET
  • 参数 :
  • termName : 指定学期
  • week : 周数,数组
  • className : 班级列表,数组
  • ignoreType : 忽略的课程类型,数组,可选
  • 返回 : 指定条件的有课的时间点
{
	"data":[
		{"week":9,"day":2,"turn":7},
		{"week":9,"day":2,"turn":8},
		....]
}

其他 API

管理 API 可以查阅 Controller 代码得知。这里不直接说明。


参考

About

Web crawler for fetching and indexing class schedule data from Kingo Educational Administration System

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published