这是一个西工大课程表下载的工具,可以下载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:获取课程表HTMLCtrl + P:解析生成CSV
- 安装 Tampermonkey 浏览器扩展
- 打开
DownLoadCourse.js.js文件,复制全部内容 - 在Tampermonkey中创建新脚本,粘贴内容并保存
- 打开西工大教务系统课程表页面:
https://jwxt.nwpu.edu.cn/student/for-std/course-table - 等待页面完全加载
- 点击右上角出现的 🚀 一键获取+解析 按钮
- 等待处理完成,会自动下载两个文件:
course-table-[学期].html- 完整的课程表HTML文件courses.csv- 课程信息CSV文件
- 仅获取HTML:点击 📥 获取课程表HTML 按钮
- 仅解析CSV:点击 📊 解析生成CSV 按钮(需要页面已显示课程表)
- 查看调试信息:点击 🔍 调试信息 按钮
- 包含完整的课程表数据和样式
- 可离线查看和打印
- 保留原始格式和布局
生成的CSV文件包含以下字段:
- 课程名称 - 课程的完整名称
- 星期 - 数字表示(1=星期一,7=星期日)
- 开始节数 - 课程开始的节次
- 结束节数 - 课程结束的节次
- 老师 - 任课教师姓名
- 地点 - 上课地点(校区+教室)
- 周数 - 上课周次(如:1-16 或 3)
课程名称,星期,开始节数,结束节数,老师,地点,周数
高等数学,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全局变量信息
- ✨ 整合HTML获取和CSV解析功能
- ✨ 新增一键处理功能
- ✨ 改进用户界面,增加多功能按钮
- ✨ 增加快捷键支持
- ✨ 增强错误处理和用户提示
- ✨ 改进HTML文件格式和样式
- ✨ 优化CSV解析算法
- ✨ 增加调试功能
V 1.1
- ✨更新了html获取的bug,只留下最原始的JSON格式的课表信息
- API方式(主要):直接调用教务系统API获取课程表数据
- 页面解析方式(备用):从当前显示的课程表页面解析数据
- 使用正则表达式识别课程时间格式
- 智能匹配课程名称、教师、地点信息
- 支持多种周数格式(范围和单独周次)
- 自动处理特殊字符和格式
- 仅在西工大教务系统域名下运行
- 不收集或上传任何个人数据
- 所有处理都在本地浏览器中完成
如有问题或建议,请通过以下方式反馈:
- 创建GitHub Issue
- 发送邮件反馈
该工具仅供西北工业大学学生个人使用,请遵守学校相关规定。