程序聚合 软件案例 香港中文大学(深圳)音乐学院琴房自动预定脚本-MUS Booking

香港中文大学(深圳)音乐学院琴房自动预定脚本-MUS Booking

2025-11-18 03:22:42
行业:生活服务
载体:Windows应用、Mac应用
技术:Python

业务和功能介绍

## 立项背景与目标
MUS Booking System 面向香港中文大学(深圳)音乐学院琴房预约,解决官方系统登录繁琐、网络敏感、热门琴房成功率低等问题。项目提供生产级(v2.10.0)自动化工具,在 VPN、校园网或 Reqable 环境下一键完成登录、批量与定时抢房,在满足校内安全要求前提下提升成功率和体验。

## 软件功能与核心模块

### 自动登录与 Cookie
通过 GUI 一键登录,自动填写学号与密码、提交表单并抓取 Cookie,保证身份合法和会话稳定。

### 智能网络适配
自动识别校园网/VPN、Reqable(127.0.0.1:9000)及系统代理,也可在 Cookie 面板手动检测,确保对 SSL 要求严格的校内接口在不同网络下可访问。

### 定时与批量预订
支持“立即执行”与“定时执行”,可将多个琴房与日期组合成一个任务并按优先级依次尝试,一旦成功即停止;超过 2 小时的请求会自动拆分为多个 2 小时时段,以符合教务规则。

### GUI 客户端与预订引擎
桌面端由 src/GUI.py 提供主窗口、设置、Cookie、自动登录与任务管理等界面;核心逻辑由 src/main.py 中的 CrazyRequests 与 book() 完成,封装 SSL 容错、代理路由、统一 UA/Cookie 头及琴房 ID 映射,并在失败时返回可读错误信息。

### 配置与质量保障
config.yaml 统一保存启动时间、执行模式、代理与 Cookie 信息、用户档案及请求列表,便于在“单次抢房/连续预约”等场景间复用。测试脚本覆盖网络、SSL、Qt 代理、预约接口和自动登录,配合 PySide6、WebEngine、PyYAML、requests 等依赖,保证主要平台的一致行为。

## 业务流程与功能路径

###准备:下载并解压发行包,在“设置”中填写学号、密码、联系方式等,可通过“自动检测”完成 VPN/代理适配和配置初始化。

###建模:在主界面点击“+ 添加一组预定请求”,选择琴房、日期和时间段,可设置多个备选方案,自动写入 config.yaml。

###执行:选择立即或定时启动后,AutoLogin 获取最新 Cookie,BookingWorker 依次调用 book() 提交请求,并按规则进行 2 小时拆分与“成功即停”。

###结果与复盘:日志实时显示成功记录及失败原因(如 Cookie 过期、网络异常、放号竞争失败等),用户可据此排查网络或更新 Cookie,并结合历史记录优化后续策略。

综合来看,MUS Booking System 通过可视化配置界面、稳健预订引擎、智能网络适配及完善测试文档,构建了“准备 → 建模 → 执行 → 反馈与复盘”的闭环流程,有效降低琴房预约的人力成本和失败风险。

项目实现

## 整体架构与设计思路
项目按 MVC 分层:PySide6 组件树做 View,MainWindow 负责信号-slot 调度与任务编排;config、workers 承载数据与业务,配合 requests 和自研 CrazyRequests 组成网络层对接订房接口。目录按“核心逻辑 + GUI 组件 + 对话框 + 工具层”拆分,旧版 GUI.py 与新模块并行,便于重构排错。

配置用 dataclass + YAML,用于持久化用户数据及 UI 默认值、表单回填。BookingWorker 将定时器、拆单和日志信号放入 QThread,避免界面阻塞。CrazyRequests 自动处理 SSL、代理和 Cookie,并与 ProxyDetector 联动,使“开始”按钮一键串起 Cookie 捕获、请求构造与日志展示。

##模块与技术栈
View 由 widgets、dialogs 组成;Controller 为 MainWindow;Model / Service 为 AppConfig、RequestItemData、book()、timer_run()、BookingWorker,对订房接口做封装与调度。通过 PyInstaller 多文件打包和自定义 spec 生成约 207MB 的开箱即用发行版。主要依赖 PySide6/QtWebEngine、requests/CrazyRequests、PyYAML/dataclasses 及系统接口;tests 覆盖网络、SSL、代理和自动登录回归。

##坑与难点及解决方案
1)SSL 握手失败
AnyConnect VPN 下接口对 requests 持续抛出握手失败,而 Qt WebEngine 与 Reqable 可正常 TLS。最终方案:自动登录走 WebEngine 直连,请求统一经 Reqable 代理;ProxyDetector 按“直连 → Reqable → 系统代理”回退,并将结果落盘,重启可复现稳定路径。

2)自动获取 Cookie 与降级
通过 AutoLoginDialog 内嵌 QtWebEngine,集成浏览器控件,在捕获成功 URL 后延迟提取 Cookie,同时将 Reqable 写入 QtNetwork.QNetworkProxy,保持与流程代理一致;缺少 WebEngine 时提供手动粘贴 Cookie 的降级,并校验关键字段,避免写入无效配置。

3)多线程定时抢房
热门琴房需在时间窗口内 POST 并拆分时段。BookingWorker 将等待与请求循环放入 QThread,通过信号回传日志和完成事件,防止卡顿;timer_run() 统一“立即/定时启动”的等待逻辑,只靠延迟区分;时段拆分、防重入与批量备选顺序集中在 worker 中,便于调试扩展。

示例图片视频


CCA
30天前活跃
方向: 后端-C++、人工智能-大模型和多模态、
交付率:100.00%
相似推荐
skill插拔驱动多元Agent
### 多 Agent 智能协作 6 个专业 Agent(Sisyphus、Code Analyzer、Programmer、Refactor Master、Test Expert、Librarian)通过 4 种协作模式(Sequential、Parallel、Debate、Main-with-Helpers)智能协作。基于意图识别自动选择 Agent,并行执行提升效率,自动综合多专家意见。 ### 深度代码理解 集成 LSP(Language Server Protocol)、AST(抽象语法树)分析和语义代码搜索。支持 Python、JavaScript、TypeScript 等主流语言,提供类型推导、引用分析、基于向量的语义检索。自动识别代码结构和依赖关系。 ### 智能编排系统 7 种编排策略(Simple、ReAct、Multi-Agent、Parallel、Conditional、Workflow、Sisyphus)自动选择最优方案。ReAct 模式支持推理-行动循环,条件分支实现动态决策,并行执行提升性能。 ### 完整工具链 34+ 专业工具,包含项目理解(文档发现、结构分析、代码地图)、代码搜索(文本、正则、语义、AST)、LSP 工具(诊断、跳转、引用、重命名)、文件操作(读写、批量操作、补丁)、Git 工具(状态、差异、日志)。 ### 智能记忆系统 分层存储架构(会话级、用户级、全局级),对话树结构支持多分支,智能压缩和摘要,相关性检索。多轮对话保持上下文,记住用户偏好和习惯,跨会话知识复用。 ### Skill 配置系统 14+ 预置技能,灵活的 Prompt 模板,工具和编排器配置,可扩展的技能定义。YAML 配置驱动,Jinja2 模板引擎,动态加载和热更新。
微信自动抢红包助手-快抢
基于Auto.js开发的微信自动抢红包脚本,通过监听系统通知实时响应红包消息,自动点击横幅进入聊天界面,并利用固定坐标快速点击红包和“开”按钮。脚本支持多次重试机制,确保红包被及时抢到,无需人工干预,极大提升抢红包成功率。
RPA的SAP BW运维监控-SAP
本项目旨在解决 SAP BW 系统运维中人工监控效率低、响应滞后、易遗漏异常的痛点,通过 RPA 机器人替代人工,实现对 SAP BW 数据加载、任务执行、系统状态的 7×24 小时自动化监控。 核心功能模块包括: SAP BW 监控模块:RPA 自动登录 SAP 系统,定时检查 BW 进程、数据加载任务、系统日志及关键指标,识别任务失败、数据异常、系统告警等问题。 智能通知模块:当监控到异常时,RPA 触发微信消息推送,将异常详情、影响范围、建议处理措施实时推送给运维人员;同时可调用 Python 接口,通过电话语音或系统声音输出进行二次告警,确保关键问题不被遗漏。 辅助识别模块:集成 Python OCR 图片文字识别能力,自动解析 SAP BW 监控截图中的关键信息,补充到告警内容中,提升问题定位效率。 业务流程为:RPA 定时巡检→发现异常→触发多渠道告警→运维人员接收并处理→RPA 记录处理结果并归档,形成闭环运维监控体系,大幅降低人工成本,提升运维响应速度和系统稳定性。
tools box
针对用户需要多个软件处理图片文档的痛点,打造免费在线工具平台,无需安装即可使用,注重隐私保护。 图片工具(去水印、压缩、证件照、抠图)、实用工具(文档转换、屏幕录制、二维码、OCR识别)、AI助手(图片视频生成、写作翻译、旅行规划)。 访问网站→选择工具→上传文件→系统处理→预览结果→下载保存。浏览器端本地处理,无需注册,保护隐私安全。
军事agent-ugv_agents
在无人作战/军事仿真场景中,需智能体系统协调多无人平台(UAV、UGV、机器狗等)完成复杂任务。传统方案依赖人工指令与固定流程,难以应对动态任务和自然语言交互。本项目构建基于 LLM 的多 Agent 协同系统,实现自然语言驱动的任务规划、调度与执行。核心目标:支持自然语言任务输入并自动分解为可执行动作序列;多 Agent 协同(任务规划、调度、会议助手、状态检查等);WebSocket/MQTT 双通道与上位机通信;通过 MCP 协议动态扩展工具能力;Docker 容器化部署,兼容 x86/ARM64。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服