Skip to content

WanderLandWalker/SCUT_Lesson_Table

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCUT_Lesson_Table

华南理工大学教务系统课表导出工具

Greasy Fork ScriptCat Release License


功能

功能 说明
自动查询 进入课表页面自动加载数据,无需手动点击
9 种导出格式 JSON / CSV / TXT / Markdown / iCal / DOCX / XLSX / PDF / JPG
多格式同时导出 checkbox 多选,一次导出多种格式
23 个可选字段 课程名称、教师、地点、学分、教学班、考核方式等
课程合并 同课程不同教师/周次自动合并,支持不连续周次和双单周标记
AJAX 拦截 直接获取教务系统 JSON 数据,比解析 DOM 更完整可靠

安装

方式一:从脚本平台安装(推荐)

Greasy Fork ScriptCat

  1. 安装油猴管理器:TampermonkeyViolentmonkey
  2. 点击上方平台链接,点击"安装"即可

方式二:从 GitHub 安装

  1. 下载 最新 Release 中的 SCUT_Lesson_Table.user.js
  2. 浏览器地址栏输入 file:/// + 文件完整路径
  3. 油猴弹出安装提示,点击"安装"

方式三:手动粘贴

油猴管理面板 → + 新建脚本 → 删除默认内容 → 粘贴代码 → Ctrl+S 保存

使用

  1. 打开 华工教务系统个人课表查询
  2. 脚本自动加载课表数据,右下角出现 "导出课表" 按钮(绿点表示数据就绪)
  3. 点击按钮打开导出面板
  4. 选择格式、勾选字段、决定是否合并课程
  5. 点击 "导出"

导出格式

格式 说明 需要网络库
JSON 结构化数据
CSV Excel 可直接打开(UTF-8 BOM)
TXT Tab 分隔纯文本
Markdown 按星期分组的表格
iCal (.ics) 日历格式,可导入日历应用
DOCX Word 文档
XLSX Excel 格式 SheetJS
PDF A4 分页 jsPDF + html2canvas
JPG 高清截图 html2canvas

需要外部库的格式首次使用时自动从 CDN 加载,无需手动安装。

课程合并

勾选 "合并同课程不同教师/周次的条目" 后:

  • 合并条件:课程号 + 星期 + 节次 相同的条目
  • 教师:不同教师名用逗号连接
  • 周次:自动合并(支持 1-4周,9-12周 不连续格式)
  • 地点:不同地点用 / 连接
  • 双单周:支持 8-10周(双) 表示仅双周
合并示例(点击展开)

合并前(4 条):

高等数学A   | 张老师 | 星期一 | 1-2 | 1-4周
高等数学A   | 李老师 | 星期一 | 1-2 | 5-8周
高等数学A   | 王老师 | 星期一 | 1-2 | 9-12周
高等数学A   | 赵老师 | 星期一 | 1-2 | 13-16周

合并后(1 条):

高等数学A   | 张老师,李老师,王老师,赵老师 | 星期一 | 1-2 | 1-16周

可选字段

基础字段(默认勾选)

课程名称、课程号、教师、星期、节次、时间/周次、上课地点、学分

扩展字段(默认不勾选)

教师职称、主辅讲、教学班、教学班组成、选课备注、课程学时组成、周学时、总学时、课程总学时、考核方式、考试方式、授课方式名称、重修标记、课程性质、课程标记

版本历史

版本 变化
v1.0 初始版本,正则解析 DOM,仅 JSON 导出
v2.0 重写:AJAX 拦截、字段选择、JSON/CSV/iCal/Markdown
v3.0 多选格式,新增 TXT/DOCX/XLSX/PDF/JPG
v4.0 新增课程合并功能
v5.0 尝试借用系统导出(失败),改进合并逻辑
v6.0 去掉系统导出,修复 Array.prototype 问题
v6.1 页面加载自动查询

各版本可在 Releases 下载。

技术实现

  • 通过 Hook jQuery.ajax 拦截 /kbcx/xskbcx_cxXsgrkb.html 获取课程 JSON 数据
  • DOCX 使用手写 ZIP + Office Open XML 生成,无需外部库
  • XLSX/PDF/JPG 通过 CDN 动态加载 SheetJS、jsPDF、html2canvas
  • 兼容教务系统对 Array.prototype 的扩展

如果觉得有用

如果这个脚本帮到了你,欢迎给个 Star 支持一下!

GitHub Stars

也欢迎请作者喝杯咖啡:

赞赏码


许可证

GPL-3.0 License

About

华南理工大学教务系统课表导出工具 - 油猴脚本,支持9种格式导出、23个可选字段、课程合并

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors