项目结构:
安卓开发基础大作业-后端部分
Android端源码在此
利用我自己的学号密码通过selenium
获得登录教务的 Cookie,然后用BeautifulSoup
等爬取解析空教室数据。
后端 Web 框架是 Flask
,在 5438 端口上特定的 Http Post 请求将返回 Json 格式数据,Post 请求的负载(Payload)中id 和 password 是必须的,作用是验证前端设备,具体详见net.py
。(我在运行过程中发现经常会有不明来历的 IP 发送请求,真可怕)鉴于selenium
令人捉急的内存占用和运行速度,加之没有人会每时每刻都在借教室,本程序设定了每 30 分钟爬取一次并存储到内存缓存中(没有数据持久化),该功能调用了 WinAPI,因此似乎只有 WindowsServer 能用。
返回的 Json 数据结构可以这样理解: 它是一个三维数组 data[n][7][14],第一个维度是各个教室(字符串),第二个维度是每周七天,第三个维度是每天的 14 节课。元素内容只有 0 和 1,0 代表教室忙,1 代表教室空,数据示例如下(已经经过初步处理):
下载地址:微信扫一扫,关注下方【毕业设计组织】公众号,请回复数字”5804“获取下载链接
