Code Monkey home page Code Monkey logo

htu_health_check_in's Introduction

移动学工 自动健康签到脚本

置顶

由于官方关闭了 Web 端的登录接口,所以被迫采用了其他的登录方法,请大家查看文档,更换最新代码。

这里我有几句话要说,原本鄙人做这些只是为了方便大家,免受打卡之苦,但有些人却利用网站安全系数低爆破管理员密码,这已经触犯了法律!!进而导致了官方关闭了接口!!

我想说的是,技术无罪,但是使用技术的人可能犯罪!!技术存在的价值就是为了让我们的生活更加便利,更加丰富多彩,而不是相互攻击,用它来做那些犯罪的勾当!

另外,还请使用者们低调,人要有自知之明。

祝朋友们身体健康,疫情尽快过去。

更新说明

  1. 更换了登录验证方式
  2. 增加了pyexecjs库(本机需安装Node.js),云函数自带
  3. 增加了一个选项:学生身份
  4. 去除了OCR的功能以及相关配置
  5. 用户登录信息改变,使用学号和统一认证网站密码(具体请看下文)
  6. 去除了日志功能以及相关配置
  7. 签到失败仍会发送提醒邮件

特别声明

  • 本仓库发布的htu_health_check_in项目中涉及的任何脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
  • 本项目内所有资源文件,禁止任何公众号、自媒体进行任何形式的转载、发布。
  • easechen 对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害.
  • 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, easechen 对于由此引起的任何隐私泄漏或其他后果概不负责。
  • 请勿将htu_health_check_in项目的任何内容用于商业或非法目的,否则后果自负。
  • 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关脚本。
  • 以任何方式查看此项目的人或直接或间接使用htu_health_check_in项目的任何脚本的使用者都应仔细阅读此声明。easechen 保留随时更改或补充此免责声明的权利。一旦使用并复制了任何相关脚本或htu_health_check_in项目,则视为您已接受此免责声明。
  • 您必须在下载后的24小时内从计算机或手机中完全删除以上内容。

您使用或者复制了本仓库且本人制作的任何代码或项目,则视为已接受此声明,请仔细阅读 您在本声明未发出之时点使用或者复制了本仓库且本人制作的任何代码或项目且此时还在使用,则视为已接受此声明,请仔细阅读

Table of Contents

介绍

本程序可以实现河南师范大学移动学工平台的每日健康打卡功能。主要有以下特点:

  1. 配置简单:所有的配置都位于/config/config.txt配置文件中,多快好省。
  2. 邮箱推送:实现了打卡信息的邮箱推送,以知道自己是否打卡成功。(失败则不会发送)
  3. 支持云函数部署:无需服务器,省时省力省金钱。

环境要求

本程序由python编写,需要以下环境:

  1. Linux x86 或者 Windows x86_64
  2. Linux Python3.6 或者以上, windows需要Python3.9.6以上!
  3. 以下python包:
    1. requests
    2. PyEmail
    3. beautifulsoup4
    4. configparser
    5. pyexecjs
  4. 需要Node.js环境

统一安装,使用requirements.txt文件在项目根目录中,执行下面的命令即可安装所需的所有包。

如果是云函数部署,则这些环境它都具备,不需要另行操作。

pip install -r requirements.txt

使用指南

如果速度慢,可将本仓库地址修改为镜像地址 https://hub.fastgit.org/easechen/htu_health_check_in.git 如果遇到Bug,请克隆最新仓库代码,或者提出Issue

本程序用户只需修改位于/config/config.txt的配置文件即可,然后使用Python解释运行根目录下的/run.py,如图所示,你需要修改三个项目:

下面将进行详细讲解如何获取和填写。

注意:这里等号后面的值都无需加引号

用户信息 UserInfo

image-20210822031027863

这里填写你的学号和统一认证网站密码。username是学号,password是密码。

邮箱配置 Mail

image-20210715135951318

这里主要用于每日的打卡情况推送,可以关闭或开启。打卡信息会由第三方SMTP服务器发送到receiver所指定的邮箱中。这里以QQ邮箱为例,展示如何获取这些信息。QQ邮箱的smtp服务器是 smtp.qq.com,用户名就算你的账户名,口令需要进入QQ邮箱设置中获取。

进入设置-账户找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启SMTP服务。然后点击生成授权码进行获取。

2

3

签到信息

下面的就是签到打卡的信息了。按照注释的说明进行填写即可。在这里,0代表,1代表,其余的看注释即可。位置信息复制上一次打卡的定位信息。

注意!一定要看注释!一定要看注释!!

部署

自己的服务器

修改配置文件

  1. 首先确保满足了上述环境要求,接着克隆本仓库。
  2. 进入文件夹中,修改./config/config.txt文件中的各项配置,看注释,根据自己前一天的信息填写。
  3. 在根目录中解释执行python ./run.py

添加定时任务

使用crontab定时任务。

crontab -e

在最末尾添加:

0 10 7 * * * * /bin/python3 /home/ubuntu/qiandao/run.py

这里代表每天的七点十分零秒执行后面的命令,注意后面修改为自己程序的路径!根据自己的实际情况进行修改。

具体语法,参考Cron表达式语法详解

使用云函数

修改配置文件

首先,你应该参考上面的使用指南,修改好配置文件!!测试无误后再进行,以免麻烦。

注意:请先仔细阅读使用指南,并配置好配置文件之后在进行下面的操作。

新建函数服务

使用腾讯云函数https://cloud.tencent.com/product/scf 的免费资源进行部署。首先,注册和登录请自行操作,之后我将进行具体的演示。

在控制面板中新建自定义函数。

image-20210715171018887

创建方式选择自定义创建,然后填写基本配置,函数名称随意,运行环境选择Python3.6

image-20210715171324625

之后上传该文件夹。在执行方法中填入run.yunRun

image-20210715172333021

创建自定义触发器,在触发周期中选择自定义触发周期,这里的0 10 7 * * * *代表每天的七点十分零秒执行一次,具体的Cron格式参考这里的文章

image-20210715172532508

最后,点击完成!然后跳转至函数配置页面。之后点击编辑,向下找到环境配置-执行超时时间将其设置为100秒。然后在下面点击保存。

image-20210715172945548

image-20210716095323029

测试

测试执行效果。点击函数代码,下滑找到测试部署,点击测试即可开始运行。

image-20210715173302341

image-20210715173436632

测试成功!点击日志查询,查看最近的日志是否执行成功且完整。

最后将会显示打卡成功字样。

此时,此云函数将在触发器设置的时间点执行,进行打卡和推送。

几个要点

  1. 这些资源都是利用免费额度内的资源,如果使用过量,责任自负。
  2. 请在本地测试好配置文件无误后在进行云函数的上传操作,以免更改麻烦。
  3. 如果使用云函数,请必须按照说明进行更改配置文件config.txt最后的设置!!!如果在自己的服务器中,则建议开启,以减少资源消耗。
  4. 配置文件中,0代表,1代表
  5. 目前不能多人打卡
  6. 地址信息从往日的打卡信息中复制(微信登录即可方便复制)
  7. 如有问题请提出 Issue

htu_health_check_in's People

Contributors

htu-cjd avatar relaxcn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.