Skip to content

Wycers/sustc-sakura-spider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sustc-sakura-spider

Requirements

  • Python 3.6+
  • requests
  • bs4
  • lxml

Application

  • 爬取南科大教务系统的课程表信息并转存为ics文件。
  • 在电脑或手机上打开ics文件可以把课程信息快速添加进日历app

Usage

  • 开始前,执行 pip install -r requirements.txt 安装依赖
  • 先在根目录执行 python3 server.py,看到 Server started listening不要关闭窗口
  • 再在根目录执行 python3 interactive.py
  • 根据提示输入学号、密码、学期、学期起始日、开始周、结束周
  • 运行完成后会在根目录下生成 WeekXX-XX-of-XXXXXX.ics

Hints

  • 如果想自动化此过程,可查看 client.py 了解详细请求逻辑
  • 建议先试试单独取一周课表,确认无误后再尝试导入整个学期
  • 对于某些奇怪的学期(例如国庆放假导致的某个教学周被跳过),需要分开两次生成,并对前后两段选取不同的学期起始日
  • 执行过多可能导致 IP 被临时封禁,换 IP / 换电脑 / 等待 ~10 min 即可解封

Changelog

v0.2.1 (2019-09-01 03:47:00 GMT+08:00)

By nekonull (@jerrylususu)

  • README.MD 补全
  • 增加 requirements.txt
  • 界面完善:登陆失败直接退出
  • 界面完善:更新示例数据至 2019-2020-1 学期
  • Bug 修复:无教室位置的课程会导致程序崩溃

v0.2.0 (2019-06-22 22:23:00 GMT+08:00)

By nekonull (@jerrylususu)

  • 域名从 sustc 更换为 sustech
  • 重写了 README.MD
  • 增加了交互式客户端
  • 增加学期选择
  • 增加多周支持
  • 增加状态信息输出

v0.1.0 (2018-03-08 16:46:30 GMT+08:00)

  • 能够登陆CAS系统获取JSESSIONID值
  • 能够使用JSESSIONID值登陆教务系统爬取课程表并保存至本地的class.ics文件

About

抓取课程信息

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages