找到
1
篇与
GitHub Actions
相关的结果
-
宝鸡文理学院教务系统自动课表推送脚本 AI摘要 这是一个用于宝鸡文理学院教务系统自动课表推送的脚本,它能够自动抓取课表,结合天气和每日情话,通过PushPlus和Bark推送到微信/iOS,实现自动化提醒。项目包括模拟登录、获取课表数据、解析课程表JS、当日筛选与排序、天气与情话API调用以及多平台推送等功能。用户可以根据自己的需求进行部署和配置。 此内容根据文章生成,仅用于文章内容的解释与总结 📚 宝鸡文理学院教务系统自动课表推送脚本 本项目用于每日从教务系统自动抓取课表,结合天气与每日情话,通过 PushPlus 和 Bark 推送到微信/iOS,实现完全自动化提醒。 📦 代码演示 # 节选:获取今日课表并推送 week = get_current_week(SEMESTER_START) today_courses = get_today_courses(course_map) today_str = datetime.now().strftime('%Y-%m-%d %A') weather_info = get_weather_tianapi() quote = get_love_words() send_time = datetime.now().strftime('%H:%M:%S') msg = f"{weather_info}\n\n📅 **{today_str}**\n\n🧭 **第 {week} 周 · 今日课程:**\n\n" if today_courses: msg += "| 课程名 | 上课地点 | 时间 |\n" msg += "|--------|----------|------|\n" pattern = r'(.+?)\(\d{6,}(?:\.\w+)?\)[((](.+?)[))](.+?) 🕒 (.+)' for line in today_courses: match = re.search(pattern, line) if match: name, teacher, place, time = match.groups() msg += f"| {name.strip()} | {place.strip()} | 🕒 {time.strip()} |\n" else: msg += f"| {line.strip()} | - | - |\n" else: msg += "🎉 今天没有课或登录失败" msg += f"\n\n🍵 **每日一言**:_{quote}_\n\n🕓 **推送时间**:{send_time}\n\n**Leisure💗李彤彤**"🎉 效果展示 IMG_0036.jpeg图片 💡 创作想法 由于女朋友每天上课时间不固定,容易忘记课程安排,因此希望实现一种自动提醒方式,结合以下目标: 自动登录教务系统 提取本周课表,并根据当前日期定位当天课程 加入天气预报与每日情话,让推送更具温度 利用 PushPlus 与 Bark 实现多终端推送 🧠 实现思路 模拟登录 解析登录页获取 salt 值 使用 hashlib.sha1 进行密码加盐加密 获取课表数据 获取 semester.id 与学生 ids 使用 courseTableForStd!courseTable.action 接口提交 POST 请求,获取课程 JS 解析课程表 JS 通过正则匹配 TaskActivity(...) 构造函数提取课程信息 解析出课程名、教师、教室、节次等 当日筛选与排序 根据 datetime.now().weekday() 匹配当天课程 按上课时间进行排序,构建 Markdown 表格 天气与情话 API 调用天行数据天气 API 随机调用多个情话 API 接口 多平台推送 PushPlus:支持个人和群组 Bark:iOS 原生推送 🚀 部署教程 ✅ 环境要求 Python >= 3.10 安装依赖:requests, beautifulsoup4 🧩 环境变量 NameValueUSERNAME你的学号PASSWORD教务系统密码PUSHPLUS_TOKENPushPlus TokenBARK_URLBark 推送地址TIANAPI_KEY天行天气 API Key📦 青龙面板部署 青龙面板搭建教程 点我跳转 1. 将脚本文件上传到青龙面板 脚本下载地址 点我跳转 2. 安装所需依赖 IMG_0035.jpeg图片 3. 在青龙环境变量中添加所需变量 添加以下变量: Secret 名称说明PUSHPLUS_TOKENPushPlus 的 tokenBARK_URLBark 推送服务地址(可选)USERNAME教务系统账号(必填)PASSWORD教务系统密码(必填)TIANAPI_KEY天行api(可选)如果你只使用 PushPlus,只需设置 PUSHPLUS_TOKEN。 IMG_0033.jpeg图片 4.创建定时任务 IMG_0034.jpeg图片 脚本将于 每天早上 7:00(北京时间) 自动执行 可通过修改 cron 表达式自定义时间 🧬 GitHub Action 部署 ✅ 1. Fork 本项目 点击进入该项目库 image.png图片 点击右上角 Fork 按钮,将项目复制到自己的 GitHub 仓库。 🔐 2. 配置 Secrets 进入你的仓库: Settings → Secrets → Actions → New repository secret添加以下变量: Secret 名称说明PUSHPLUS_TOKENPushPlus 的 tokenBARK_URLBark 推送服务地址(可选)USERNAME教务系统账号(必填)PASSWORD教务系统密码(必填)TIANAPI_KEY天行api(可选)如果你只使用 PushPlus,只需设置 PUSHPLUS_TOKEN。 ⚙️ 3. 启用 GitHub Actions Fork 后默认不会自动执行,需要手动启用: 进入仓库主页 → 点击 Actions → 点击 I understand... Enable workflows 📆 4. 自动运行逻辑 脚本将于 每天早上 7:00(北京时间) 自动执行 可在 push.yml 中修改 cron 表达式自定义时间 📄 配置项说明 ENABLE_PUSHPLUS = True # 控制是否启用 PushPlus 推送 ENABLE_BARK = True # 控制是否启用 Bark 推送 第358行的Leisure💗Tiffany可自行修改为自己的内容 ✍️ 后记 实现这个脚本,解决了每天手动查看课程的烦恼。结合天气和情话,也让每天的提醒多了点温暖。 未来考虑增加: 节假日与调休识别 自定义课表备注支持 📄 开源声明 本项目已在Github开源 项目地址 本文代码部分采用 MIT License 开源,欢迎自由使用、改进并署名引用。 文章内容(含图文说明、教程思路等)采用 CC BY-NC-SA 4.0 授权,转载请注明出处,非商业使用,保持一致协议。 转载请注明:Leisure's Blog 欢迎大家一起使用 & 改进这个项目! 💗 如果你喜欢这个项目,请点个赞或者 Star 🌟 吧~