Zxilly
Try to be 1%
Zxilly's Blog
使用 Python 生成 icalender 格式的课表

起因

我校有一个只能使用 IE 的上古教务系统,直接废掉了我能找到的所有轮子,不得不自己写一个

开源地址

使用

如果你在 19 级的软件工程 1 班,也许你可以直接使用我生成好的文件。

webcal://ical.learningman.top/ical/course.ics

否则,你应该将 priinfo.py.example 重命名为 priinfo.py,并在其中填入自己的账号密码。

程序运行完之后,你应当可以在根目录下找到 output.ics 文件

API

我将这个程序部署在了我的一台服务器上

接口: https://api.learningman.top/{account}/{password}
对应填入你的账号密码后,服务器将会返回一个含有课程信息的 ics 文件
不做 SLA 保证,建议运行程序自行生成

致谢

  1. 参考了 AC Bettercqut-lesson-timetable-to-calendar

  2. 使用了来自 QZAPI 的 SDK

首页      代码      使用 Python 生成 icalender 格式的课表

发表评论

textsms
account_circle
email

  • 看到你的学习通 python 作业聚合,自己刚学 python, 请问该怎么部署到自己的服务器上(CentOS 7.7, 宝塔)?,麻烦您了。

    4月前 回复
    • learningman博主

      @半叶子: 宝塔不是自带一个 python 管理器吗,用那玩意儿装上 venv 就成,记得装上 requirement
      网站的 document root 放到/html,然后把/ajax 反代到 python 的端口,默认是 5000,懒得写跨域,就这么先用着

      4月前 回复
  • 真抱歉,还是没成功。我有下面几个问题,太麻烦你了。
    python 项目管理器中:框架选择哪一个 python、flask、django、sanic。启动方选择哪一个 gunicorn、uwsgi、python。还有启动文件/文件夹是启动 server.py 还是其他。之后按照您说的将网站 document root 放到 / html 里,之后的 / ajax 反代到 python 的端口通过站点管理中的反向代理可以吗?

    4月前 回复
    • learningman博主

      @半叶子: 框架选 python,启动方式 python,启动 server.py,记得用 python3,这个在 python2 应该跑不起来
      其实你用 https://work.learningman.top 就行了,反正再过几天也该开学了,这玩意儿用不了多久
      或者稍微看一下 server.py 呗,我自我感觉我写的还是能看懂的)

      4月前 回复

Zxilly's Blog

使用 Python 生成 icalender 格式的课表
起因 我校有一个只能使用IE的上古教务系统,直接废掉了我能找到的所有轮子,不得不自己写一个 开源地址 使用 如果你在19级的软件工程1班,也许你可以直接使用我生成好的文件。 webcal:/…
扫描二维码继续阅读
2020-03-04