项目简介
东南大学讲座监控系统是一款自动化工具,用于获取东南大学的讲座列表,并实时监控讲座的预约状态。该工具无需依赖浏览器或webdriver,可直接从服务器获取数据并进行处理分析,当有可用讲座时会自动提醒用户。
项目的主要特性和功能
- 自动登录与身份验证:借助Python的
requests
库与网页交互,模拟用户登录,保障身份验证安全。 - 讲座信息获取:从特定网页抓取讲座的名称、时间、地点、主讲人等信息。
- 实时讲座监控:支持定时检查讲座状态,发现可用讲座时自动打开浏览器提醒用户。
- 友好的用户界面:以清晰表格展示讲座状态、名称、地点等信息,方便用户快速浏览。
- 日志记录:记录操作日志,便于问题追踪与调试。
安装使用步骤
前提条件
- Python 3.8 或以上版本
- PDM (Python Development Master) 或 pip/conda/mamba 包管理器
- 浏览器(用于打开网页)
使用步骤
- 复制项目:复制项目或下载并解压到本地,进入项目目录。
- 配置环境变量:将
.env.example
重命名为.env
,用文本编辑器打开,把SEU_USERNAME
和SEU_PASSWORD
字段修改为自己的账号及密码。 - 安装依赖:
- 若使用 PDM,执行
pdm install
安装依赖。 - 若使用 pip/conda/mamba,执行
pip install requests js2py pyquery environs rich
安装依赖。
- 若使用 PDM,执行
- 运行程序:
- 使用 PDM:执行
pdm run lecture
启动程序。 - 使用 pip/conda/mamba:执行
python ./src/entry.py
启动程序。
- 使用 PDM:执行
- 定时检查讲座:
- 若需定时检查讲座状态,可执行
pdm run lecture -r -i <检查间隔> -t <检查次数>
或python ./src/entry.py -r -i <检查间隔> -t <检查次数>
。有可用讲座时会自动打开浏览器提醒用户。
- 若需定时检查讲座状态,可执行
- 快捷访问:可在 shell profile 中设置 alias 以便快捷访问,如在 PowerShell 中设置别名:
powershell function slm { $cur = Get-Location cd <SEU_Lecture_Monitor_Path> pdm run lecture $args # 或者 `python ./src/entry.py $args`, 若不使用 pdm cd $cur }
注意事项
- 密码安全:密码以明文形式存于
.env
文件中,需确保文件安全。 - 浏览器登录状态:建议使用支持多标签页的浏览器,登录后不要关闭浏览器,方便下次直接跳转讲座页面。
- 检查间隔:建议检查间隔在 15 秒以上,避免过度请求增加服务器压力。
声明
本项目仅用于学习,仅能获取讲座状态,无预约讲座功能且无相关开发计划。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】