Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

西工大课程表下载和解析工具 v1.1

简介

这是一个西工大课程表下载的工具,可以下载html和csv格式的课表文件,导入到wakeup课程表里面。使用AI工具 Claude完成。

html格式的获取参考了呱唧的实现(qllokirin/nonebot-plugin-npu: 翱翔门户成绩监控插件,使用nonebot框架支持QQ机器人),此方法需要向服务器发送请求来进行获取。csv格式的获取直接爬取了课表界面的html元素,整理为csv格式。

  • 如果下载的是html格式,在电脑端下载后用QQ发送到手机上,选择使用wakeup课程表打开,教务选择西北工业大学(浏览器),UTF-8,点击右下角的导入按钮。
  • 如果下载的是csv格式,同样在下载后发送到手机上,选择wakeup课程表打开,新建课表导入。

导入课表时需要手动更改学期开始日期和上课时间表。 请用户仔细核对课表内容,避免翘课

功能特性

🚀 一键处理

  • 一键获取+解析:自动获取课程表HTML并解析生成CSV,一步到位

📥 课程表获取

  • 自动从西工大教务系统API获取课程表HTML
  • 支持自动识别学期ID和学生ID
  • 手动输入功能,适应各种页面情况
  • 生成完整的HTML文件,包含样式和格式

📊 数据解析

  • 智能解析课程表中的课程信息
  • 提取课程名称、时间、地点、老师等详细信息
  • 支持多种课程表格式和页面结构
  • 生成标准CSV格式,可直接导入Excel

🎯 用户界面

  • 现代化的浮动按钮界面
  • 多功能按钮组合:
    • 🚀 一键获取+解析 - 推荐使用
    • 📥 获取课程表HTML - 仅获取HTML文件
    • 📊 解析生成CSV - 仅从当前页面解析
    • 🔍 调试信息 - 显示页面检测信息

⌨️ 快捷键支持

  • Ctrl + A:一键处理(获取+解析)
  • Ctrl + D:获取课程表HTML
  • Ctrl + P:解析生成CSV

安装和使用

1. 安装

  1. 安装 Tampermonkey 浏览器扩展
  2. 打开 DownLoadCourse.js.js 文件,复制全部内容
  3. 在Tampermonkey中创建新脚本,粘贴内容并保存

2. 使用步骤

  1. 打开西工大教务系统课程表页面:
    https://jwxt.nwpu.edu.cn/student/for-std/course-table
    
  2. 等待页面完全加载
  3. 点击右上角出现的 🚀 一键获取+解析 按钮
  4. 等待处理完成,会自动下载两个文件:
    • course-table-[学期].html - 完整的课程表HTML文件
    • courses.csv - 课程信息CSV文件

3. 其他操作

  • 仅获取HTML:点击 📥 获取课程表HTML 按钮
  • 仅解析CSV:点击 📊 解析生成CSV 按钮(需要页面已显示课程表)
  • 查看调试信息:点击 🔍 调试信息 按钮

文件输出格式

HTML文件特点

  • 包含完整的课程表数据和样式
  • 可离线查看和打印
  • 保留原始格式和布局

CSV文件格式

生成的CSV文件包含以下字段:

  • 课程名称 - 课程的完整名称
  • 星期 - 数字表示(1=星期一,7=星期日)
  • 开始节数 - 课程开始的节次
  • 结束节数 - 课程结束的节次
  • 老师 - 任课教师姓名
  • 地点 - 上课地点(校区+教室)
  • 周数 - 上课周次(如:1-16 或 3)

示例CSV内容

课程名称,星期,开始节数,结束节数,老师,地点,周数
高等数学,1,1,2,张老师,长安校区 教A101,1-16
大学英语,2,3,4,李老师,长安校区 教B201,1-16

兼容性

支持的页面

  • ✅ 西工大教务系统课程表页面
  • ✅ 支持不同学期的课程表
  • ✅ 支持各种课程表显示格式

浏览器兼容

  • ✅ Chrome (推荐)
  • ✅ Firefox
  • ✅ Edge
  • ✅ Safari

故障排除

常见问题

1. 按钮没有出现

  • 确保在正确的课程表页面
  • 刷新页面重试
  • 检查Tampermonkey是否已启用脚本

2. 无法获取课程表数据

  • 确保已登录教务系统
  • 尝试手动输入学期ID和学生ID
  • 查看调试信息检查参数识别情况

3. 解析出来的课程信息不完整

  • 确保课程表页面完全加载
  • 尝试切换到不同的课程表视图
  • 使用调试功能检查页面结构

4. CSV文件格式有问题

  • 用Excel或其他支持UTF-8的程序打开
  • 如果乱码,尝试用记事本打开再另存为

调试模式

点击 🔍 调试信息 按钮可以查看:

  • 当前页面URL和标题
  • 检测到的学期ID和学生ID
  • 页面中的课程表元素检测结果
  • JavaScript全局变量信息

更新日志


v1.0 (当前版本)

  • ✨ 整合HTML获取和CSV解析功能
  • ✨ 新增一键处理功能
  • ✨ 改进用户界面,增加多功能按钮
  • ✨ 增加快捷键支持
  • ✨ 增强错误处理和用户提示
  • ✨ 改进HTML文件格式和样式
  • ✨ 优化CSV解析算法
  • ✨ 增加调试功能

V 1.1

  • ✨更新了html获取的bug,只留下最原始的JSON格式的课表信息

数据获取方式

  1. API方式(主要):直接调用教务系统API获取课程表数据
  2. 页面解析方式(备用):从当前显示的课程表页面解析数据

数据解析算法

  • 使用正则表达式识别课程时间格式
  • 智能匹配课程名称、教师、地点信息
  • 支持多种周数格式(范围和单独周次)
  • 自动处理特殊字符和格式

安全性

  • 仅在西工大教务系统域名下运行
  • 不收集或上传任何个人数据
  • 所有处理都在本地浏览器中完成

联系方式

如有问题或建议,请通过以下方式反馈:

  • 创建GitHub Issue
  • 发送邮件反馈

该工具仅供西北工业大学学生个人使用,请遵守学校相关规定。

About

西北工业大学NWPU课表获取

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages