查询校内空教室
能力有限,欢迎issue和pull😊,如果对你有帮助的话,请帮忙star⭐一下
请勿部署或添加至任何商业项目中!如果你部署了本项目,愿意给其他人免费使用,欢迎在仓库内留言添加友链!(或者发邮件至Annihilatexv@outlook.com)
- 克隆本项目
git clone https://github.com/Annihilatexv/qlu-cr.git
。 - 进入项目文件夹
cd qlu-cr
。 - 配置
config/config.yaml
文件(参考下面)。 - 运行一次
python get_course_on_table.py
,以获取最新的课表数据。 - 运行本项目
gunicorn main:app -b 0.0.0.0:7694 -w 4
。 - 访问 ip:7694
强烈建议创建定时任务,运行python get_course_on_table.py
定期更新课表数据。
例如:
# 编辑crontab定时任务
crontab -e
#填入,并保存
0 5,12,17 * * * cd ~/qlu-cr && /usr/local/bin/python get_course_on_table.py >> /var/log/cron.log
# ~/qlu-cr为项目所在目录,/usr/local/bin/python为解释器目录,可以通过"which python"查询
# 查看定时任务
crontab -l
docker 版已集成自动更新课表数据
- 下载并修改 config.yaml文件
- 启动容器 (注意将“D:\Repositories\DockerStudy\config”替换为config.yaml 所在目录)
docker run -dp 7694:7694 --name qlu-cr -v D:\Repositories\DockerStudy\config:/app/config annihilatexv/qlu-cr:latest
- 访问 ip:7694
#config/config.yaml
string :
#使用自己的cookie
Cookie : "Path=/; JSESSIONID=xxxxxxxxxxxxxxxxxxxxxxxxxxx"
#### 有两种方式获取数据,二选其一
# 1. 直连(推荐,需要在校园网局域网环境下)
table_url : "http://jwxt.qlu.edu.cn/jsxsd/kbcx/kbxx_classroom_ifr"
# 2. 使用VPN代理(不推荐,不需要校园网,但url可能会发生改变,届时需要自己抓取并替换前半域名)
#table_url : "http://jwxt-qlu-edu-cn.vpn.qlu.edu.cn:8118/jsxsd/kbcx/kbxx_classroom_ifr"
list:
# 开学那周的周一
new_semester: [2023,2,20]
# 考研时间
exam_day: [2023,12,23]
# 教室黑名单,根据关键字进行排除(长清->1,历城->3,菏泽->4)
ban_list_1 : ['北楼', '语言', '办公', '3号', '同声', '机房', '同声传译', '实验北楼', '操场', '室','1号公教楼405','1号公教楼305','1号公教楼505','1号公教楼604']
ban_list_3 : []
ban_list_4 : []
http://jwxt-qlu-edu-cn.vpn.qlu.edu.cn:8118/jsxsd/kbcx/kbxx_classroom_ifr
将上述网址中的
http://jwxt-qlu-edu-cn.vpn.qlu.edu.cn:8118
替换为获取到的教务系统网址
- 所有教室名称可运行
python get_course_on_table.py
查看
-
长清
-
菏泽
-
历城
-
彩石
-
空教室数据仅来自教务处,不包括社团、宣讲、考试等占用