中南课表app的整体借用了另一个课程表项目:南哪课表,并使用了Flutter框架,这使得中南课表app可以轻易地在安卓和iOS运行。
Demo下载地址:https://wwa.lanzous.com/igqc8fiwa4j
请确保下载了Xcode,正确导入项目并编译运行
和大部分爬虫的思路一样,逻辑是模拟登录教务系统网站,获得并处理包含课程表信息的文件:
-
使用dio库访问教务系统网站http://csujwc.its.csu.edu.cn/jsxsd/获得cookie
-
模拟post发送带有cookie数据和加密后的账号密码的请求,至于具体信息如何加密,请自行使用chrome的开发者工具研究,其实很简单。
-
使用cookie请求网址http://csujwc.its.csu.edu.cn/jsxsd/kbxx/getKbxx.do获得json,不得不佩服中南的教务系统,这个文件几乎已经和标准的json数据一致,但依旧需要进一步处理,以免漏掉重复的课程
-
处理使用了正则表达式
下载第一次运行会白屏,退出再进就好了