Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Doreamonsky/Shnu-Cas-Login
上师大 CAS登陆与课程爬虫
https://github.com/Doreamonsky/Shnu-Cas-Login
cas coursetable shnu
Last synced: 15 days ago
JSON representation
上师大 CAS登陆与课程爬虫
- Host: GitHub
- URL: https://github.com/Doreamonsky/Shnu-Cas-Login
- Owner: Doreamonsky
- License: apache-2.0
- Created: 2018-01-17T10:15:52.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-09-08T04:21:48.000Z (about 5 years ago)
- Last Synced: 2024-08-01T03:40:44.499Z (3 months ago)
- Topics: cas, coursetable, shnu
- Language: Python
- Homepage:
- Size: 3.71 MB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- stars - Doreamonsky/Shnu-Cas-Login
README
# Shnu-Python
## Cas 登陆
> 由 'Shnu-cas.py 实现'
> 已经实现通过Shnu cas登陆 course.shnu.edu.cn在Cas登陆成功后,会得到Cookie CASTGC:TGT-XXX-cas
利用这个Cookie 就可以为所欲为了。
Cookie JSESSIONID 是当前的session ,也比较重要的。
## 课程爬虫
> 由 'Shnu-course-downlaoder.py 实现'
下载的数据位于 data文件夹下
### 数据例子
> 120131101401.01$建筑力学$专业基础课程$班级:2017工程管理本科1班$彭丽,79$87$2$45/3$1-15$彭丽 星期一 4-4 [1-13]单 奉贤3教楼312
彭丽 星期一 3-3 [1-15]单 奉贤3教楼312
彭丽 星期二 8-9 [1-15] 奉贤3教楼512注意:我们使用的分隔符为 $
| 课程序号 | 课程名称 | 课程类别 | 教学班 | 教师 | 实际 | 上限 | 学分 | 学时/周 | 上课地点 |
| --------------- | ---- | ------ | --------------- | --- | --- | --- | --- | ---- | ----------------------------------------------------------------------------------------------- |
| 120131101401.01 | 建筑力学 | 专业基础课程 | 班级:2017工程管理本科1班 | 彭丽 | 79 | 87 | 2 | 45/3 | 彭丽 星期一 4-4 [1-13]单 奉贤3教楼312
彭丽 星期一 3-3 [1-15]单 奉贤3教楼312
彭丽 星期二 8-9 [1-15] 奉贤3教楼512 |# 课程数据API系统
我对与抓取的数据进行了重解析,并制作了uwsgi服务器。运行命令: uwsgi app.ini
## 请求参数
| 请求参数 | 请求内容 |
| ---- | ----------------------------- |
| json | {'request':类型,'keywords':关键词} |类型有:
courses_by_keywords 教学班课程 关键词用 , 分割 如2017,工程管理,1班
courses_by_classroom_keywords 教室 最好一次只询问一个
注:运行 Shnu_exporter.py 来获得教学楼数据 进行本地保存
courses_by_id 课程序号 用 , 分割 如11111.11,22222.22
返回的统一为一张课程表的Json,需要自己进行单双周过滤与双,三,四连在一起的课程合并。
## 我的服务器
> 地址: https://waroftanks.cn/py/ 仅支持Get请求
## 课程表解析
> 由Shnu_course.py 类实现
### 关键词搜教学班课程表
> 由Shnu_course_table.py 实现
### 课程数组生成课程表
> 由Shnu_course_table_by_id.py 实现
### 教室课程表
> 由Shnu_ckassroom.py 实现