{"id":18264599,"url":"https://github.com/cheanus/automation","last_synced_at":"2025-09-02T11:37:11.759Z","repository":{"id":153732840,"uuid":"522096606","full_name":"cheanus/Automation","owner":"cheanus","description":"监控成绩、电费的爬虫脚本，适用于西工大","archived":false,"fork":false,"pushed_at":"2024-04-20T04:14:45.000Z","size":3769,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-20T11:49:02.189Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cheanus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-07T02:15:53.000Z","updated_at":"2024-05-30T07:10:38.548Z","dependencies_parsed_at":null,"dependency_job_id":"db3e7d7b-11a9-4194-8e97-59e42f6e7041","html_url":"https://github.com/cheanus/Automation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cheanus/Automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheanus%2FAutomation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheanus%2FAutomation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheanus%2FAutomation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheanus%2FAutomation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cheanus","download_url":"https://codeload.github.com/cheanus/Automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheanus%2FAutomation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273278957,"owners_count":25077307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T11:15:19.564Z","updated_at":"2025-09-02T11:37:11.728Z","avatar_url":"https://github.com/cheanus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automation\n学生党的自动化脚本，适用于西工大\n## Fetures\n- 使用邮箱IMAP协议通过MFA验证，从而实现自动模拟登录。\n- 登录完毕后自动删除邮箱中的验证码邮件，避免邮件堆积。\n- 实现Cookie持久化，减少验证登录次数。\n## 部署\n首先安装Python依赖：\n```bash\npip install -r requirements.txt\n```\n\n然后复制配置文件模板：\n```bash\ncp config.example.py config.py\n```\n\n修改`config.py`中的配置信息，如邮箱、翱翔门户等。\n\n目前脚本**暂仅支持qq邮箱**。打开qq邮箱的IMAP协议、获取授权码的步骤如下：  \n1. 打开[网页版qq邮箱](https://mail.qq.com)\n2. 找到设置-账户-IMAP/SMTP服务，开启服务\n3. 点击下方的生成授权码\n\n所有的脚本若要实现定时运行，有以下方法：\n1. Windows平台：利用“定时任务计划”实现定时运行，缺点是复杂且不太稳定\n2. Linux平台：使用crontab命令实现定时运行，参考我的博客链接：[随笔：利用云服务器+脚本实现自动“健康填报”](https://caveallegory.cn/2022/07/%e9%9a%8f%e7%ac%94%ef%bc%9a%e5%88%a9%e7%94%a8%e4%ba%91%e6%9c%8d%e5%8a%a1%e5%99%a8%e8%84%9a%e6%9c%ac%e5%ae%9e%e7%8e%b0%e8%87%aa%e5%8a%a8%e5%81%a5%e5%ba%b7%e5%a1%ab%e6%8a%a5/)\n3. GitHub Actions：克隆本项目，使用GitHub Actions实现定时运行\n4. WSL2：在Windows平台上安装WSL2，利用Linux的crontab命令实现定时运行\n## 1. GradesMonitorLinux\n### 简介\n成绩实时监控系统，知成绩快人一步\n\n支持学校：西北工业大学\n\n实现功能：在自己所设定的频率下扫描教务系统的成绩，一旦发现更新，立即发送邮件通知你\n### 原理\n1. 访问翱翔门户，如有已保存的cookie，则提前加载它们。\n如有登录阶段，则输入账号密码。\n如有MFA阶段，选择翱翔门户邮箱验证方式，通过IMAP协议得到邮件中的验证码，完成MFA，结束模拟登录并保存cookie。\n2. 登录教务系统，搜集成绩信息，并与本地存档相比较（如没有存档则新建）。\n如有新成绩，则发送新邮件并更新本地存档。\n\n## 2. NoticeElectricity\n宿舍电费低时发送缴费提醒邮件\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheanus%2Fautomation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcheanus%2Fautomation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheanus%2Fautomation/lists"}