# 快速更新指南 - 修复会话过期问题 ## 🎯 本次更新解决的问题 **症状:** 程序运行几小时后出现: ``` [WARNING] 未能提取到成绩信息,返回原始文本 [INFO] 成绩无变化(共 0 门课程) ``` **原因:** 登录会话过期,需要重新登录 **解决:** ✅ 自动检测并重新登录 --- ## 📦 方式1:快速更新(推荐) ### 在本地打包 ```bash cd /mnt/e/50425/Documents/Github/GPA_Monitoring chmod +x 打包.sh ./打包.sh ``` ### 上传到服务器 ```bash scp gpa_monitor.tar.gz 用户名@服务器IP:~/ ``` ### 在服务器上更新 ```bash # 停止服务 systemctl stop grade-monitor # 备份 cd ~/grade_monitor cp monitor.py monitor.py.backup.$(date +%Y%m%d) # 解压更新 tar -xzf ~/gpa_monitor.tar.gz -C ~/grade_monitor # 赋予权限 chmod +x diagnose.sh # 重启服务 systemctl restart grade-monitor # 查看日志(确认自动重新登录功能) tail -f monitor.log ``` --- ## 🔧 方式2:仅更新 monitor.py 如果只想更新主程序文件: ### 在本地 ```bash # WSL中 cd /mnt/e/50425/Documents/Github/GPA_Monitoring scp monitor.py 用户名@服务器IP:~/grade_monitor/ ``` ### 在服务器上 ```bash systemctl stop grade-monitor systemctl start grade-monitor tail -f ~/grade_monitor/monitor.log ``` --- ## ✅ 验证更新成功 查看日志,应该能看到: ### 正常运行 ``` [INFO] 开始新一轮检查 [INFO] 获取成绩页面... [DEBUG] 找到成绩表格 [INFO] 成功提取成绩信息,共 17 行 [INFO] 共解析到 15 门课程 [INFO] 成绩无变化(共 15 门课程) ``` ### 会话过期时自动处理 ``` [WARNING] 检测到会话过期,尝试重新登录... [INFO] 开始登录统一身份认证... [INFO] 登录成功!成功访问成绩页面 [INFO] 重新登录成功,继续监控 ``` --- ## 🔍 故障诊断 如果更新后仍有问题: ```bash cd ~/grade_monitor # 运行诊断工具 ./diagnose.sh # 或手动测试 python3 monitor.py --test --debug # 查看生成的调试文件 ls -lh debug_page.html cat .last_grade_content.txt ``` --- ## 📋 更新内容详细列表 1. **会话过期自动重新登录** (monitor.py 第697-718行) - 检测 `LOGIN_REQUIRED` 状态 - 自动调用 `login()` 重新登录 - 记录详细日志 2. **改进成绩提取** (monitor.py 第286-370行) - 检测登录页面 - 支持多种表格选择器 - 自动保存 debug_page.html - 添加详细调试日志 3. **改进课程解析** (monitor.py 第375-405行) - 检测登录失效 - 识别未解析的HTML - 统计课程数量 4. **新增调试模式** - `python3 monitor.py --debug` - 显示详细运行信息 5. **新增诊断工具** - `diagnose.sh` - 自动检测并给出建议 - `故障排查指南.md` - 详细排查步骤 --- ## 💡 最佳实践 1. **定期检查日志**(每天1-2次即可) ```bash tail -n 50 ~/grade_monitor/monitor.log ``` 2. **不要频繁重启服务** - 新版本会自动处理会话过期 - 只在真正出问题时才重启 3. **保留备份** ```bash # 每次更新前都会自动备份 ls -lh ~/grade_monitor/monitor.py.backup.* ``` 4. **合理设置检查间隔** - 建议 120-300 秒 - 避免触发学校系统限流 --- ## 🆘 需要帮助? 1. 先运行诊断工具:`./diagnose.sh` 2. 查看故障排查指南:`cat 故障排查指南.md` 3. 查看详细修复说明:`cat 修复说明_2026-01-21.md` --- **更新日期:** 2026-01-21 **版本:** v2.0 - 自动会话恢复版