前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >获取当前课程表并编写为iCalendar文件 Tongji-CourseTable

获取当前课程表并编写为iCalendar文件 Tongji-CourseTable

原创
作者头像
用户4073486
发布2023-01-02 21:07:35
6710
发布2023-01-02 21:07:35
举报
文章被收录于专栏:996技术站

推荐理由:获取当前课程表并编写为iCalendar文件 Tongji-CourseTable,获取同济大学课程表并编写为iCalendar文件,工程背景,某些课表app过于臃肿,附加功能过多。随着手机系统完善,日历应用越来越美观实用。本工程用于抓取同济大学本研一体化平台中的课程表信息并转换为iCalendar格式供导入手机或电脑系统(Android, iOS, Windows, MacOS均可)。工程思路,1、模拟登录 4m3.tongji.edu.cn 并抓取课程表。1、登录 1.tongji.edu.cn ,并请求课表。2、将课程表转换为iCalendar格式。用到的第三方库:requests, beautifulsoup4,icalenda

适用人群:编程

推荐指数:0

项目名称:Tongji-CourseTable

996station正文分割线=================================

Tongji-CourseTable

获取同济大学课程表并编写为iCalendar文件

工程背景:

某些课表app过于臃肿,附加功能过多。随着手机系统完善,日历应用越来越美观实用。本工程用于抓取同济大学本研一体化平台中的课程表信息并转换为iCalendar格式供导入手机或电脑系统(Android, iOS, Windows, MacOS均可)。

工程思路:

1、模拟登录 4m3.tongji.edu.cn 并抓取课程表。

1、登录 1.tongji.edu.cn ,并请求课表。

2、将课程表转换为iCalendar格式。

用到的第三方库:requests, beautifulsoup4,icalendar,运行前请先使用pip安装。

iCalendar文件导入手机或电脑的方法请参考 https://i.scnu.edu.cn/ical/doc (华工这个链接失效了,自己找教程吧……)

2020.9.15更新

由于4m3即将停止使用,本脚本对1.tongji进行了适配,请下载CourseTable2iCal_1.py运行,原先不带_1的文件运行会出错,仅保留在此作学习参考用。

另外由于1.tongji使用了新的课表展示/储存方式,因此iCalendar文件不再写成recurrence的规则,后果就是不能单独修改某个日程然后把剩余的都一并修改。

顺便吐槽一下,1.tongji有的bug让我感觉难以接受

2021.2.25更新

1.tongji及统一身份认证系统升级后,登录方式有变,需要手动输入验证码。

脚本会在运行目录下保存imgCode.jpg文件,运行过程中请手动打开图片并输入验证码,如果输入错误可以重试。

考虑到4m3已经完全停止使用,因此对文件进行了重命名,请下载 CourseTable2iCal.py 使用。

2021.8.31更新

统一认证的验证码终于看起来靠谱点了,但现在 CourseTable2iCal.py 也用不了了。

不过 offline 版本依旧可以正常使用,但需要自己先使用浏览器开发者工具或者抓包软件把json文件抓出来,再导入脚本。

开源地址

https://github.com/KingfuChan/Tongji-CourseTable

开源是一种精神,致敬屏幕背后的你

=================================

原文链接:https://www.996station.com/216789

转载请注明出处!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Tongji-CourseTable
    • 2020.9.15更新
      • 2021.2.25更新
        • 2021.8.31更新
          • 开源地址
          相关产品与服务
          验证码
          腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档