Code Monkey home page Code Monkey logo

fucktodaystudy's Introduction

🏳️‍🌈今日校园自动签到脚本使用说明🏳️‍🌈

🙏小声BB:求求大哥们给个star吧🙏

🙏小声BB:求求大哥们给个star吧🙏

🙏小声BB:求求大哥们给个star吧🙏

重要提醒:文档过旧,新版文档正在紧张制作中...

👑项目说明

本项目严禁用于收费相关业务,您可以借助本项目进行二次开发或者完善

项目借助于腾讯云的云函数或者阿里云的函数计算亦或者自己服务器/电脑运行

请在使用本项目之前确保您拥有以上三个环境之一。

🏷下载项目

您只需要选择下载本项目,点击项目主页上面的Code菜单下面的Download Zip以下载最新版的源码

然后解压到您想存放的路径即可

📝编辑配置文件

本地测试(如果您能确保您足够熟练能够使用本项目请忽略这个步骤)

说明:本地测试的作用是为了便于您完成配置文件的修改。

  1. 请先确保您拥有python3及以上的环境,若您的电脑没有python3的环境请👉点击下载👈

  2. 当您拥有python3环境之前,请确保您在安装的时候有选择Add python3.9 to Path的选项以配置好环境变量,否则请自行百度配置好python3的环境变量(此步骤的作用是让我们能够直接在命令行中输入pip/pip3的命令来安装依赖)

  3. 现在,我们就可以通过记事本VSCode/Notepad++(不推荐使用记事本,这里提供两种常用的代码编辑器和它的下载地址,点击名称即可进入下载)来编辑配置文件

  4. 进入fuckTodayStudy/今日校园文件夹,右键单击config.yml选择之前安装的代码编辑器来编辑它

  5. 在编辑期间请特别注意config.yml的格式,如缩进、空格等内容。

  6. 配置文件一共拥有多个-user:,每个-user:开始到下一个-user:之间为一个账号的配置,您可以在这里配置多个用户,当然,config.yml中拥有多种不同签到类型的配置文件,请删除多余的用户配置,只保留您所以需要的-user:配置,每个-user:上面都拥有着该用户配置文件模板的签到类型说明,请选择好适合您的签到类型填上适当的配置信息(forms:表单内的titlevalue暂时不用填写,待会儿调试的时候来修改它)

  7. 在调试的之前,您最好将config.yml顶部上面的debug: 从false改为true以更好的定位到您的错误在哪里发生的

  8. 在您配置完成config.yml之后,您就可以在同config.yml的当前目录下。找到文件资源管理器地址栏(也就是您的文件夹显示窗口的顶部那一栏路径栏),单击空白处,清空路径地址,输入cmd回车以打开cmd界面

  9. 安装依赖:到这一步,您就可以开始执行以下命令开始安装依赖了。在cmd输入粘贴上以下代码按回车即可安装依赖

    pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple

    若出现pip3 is not function类似字眼,请确保您拥有python3环境并且配置了环境变量(请回看本地测试第1、2步)

    一般情况下安装过程中出现黄色字体可以无视,出现红色字体代表安装依赖出现错误,请在群里询问相关的问题

  10. 当您安装完成依赖后,就可以开始进行本地测试(这么多步骤终于到了测试的这一个步骤了,感动到自己有木有!)了

    (请在测试之前确保您当日有表单并且还未提交)

    同样的在该cmd中输入python index.py并运行即可,在这里,您可能会遇到各种各样的错误

    • No module named xxx:出现这个情况代表您的依赖没有安装好,请仔细查看本地测试第9步
    • list out of range:应该是您的表单的问题较多,但是您的config.yml配置文件的forms里的-form:字段不够造成的,请多添加几个-form字段
    • 您的标题不正确 xxxx:这是本地调试的主要作用,用于配置好您的学校对应的表单的标题和答案,请复制此cmd提示的标题来替换您config.yml中对应的title字段
    • 验证码识别出现问题了xxx:这代表您的学校必须要填写验证码才能登录,请打开/login目录里的system.yml,配置好您的SecrectIdSecretKey(腾讯OCR开通地址:点击这里,腾讯访问密钥开通地址:点击这里
    • success:代表签到成功,若您未签到成功请反馈BUG
    • 其他问题:请在群里提问,相信很多大佬都会为您解答。

    关于提问请在确定是bug之类的时候再来找我,请确定是自己的问题的时候多在群里提问,请勿提问已经说明的问题情况。

  11. 当您的各种titlevalue配置完成,那么基本上就可以完成您当日的表单提交了。到这里,本地测试就已经完成了

☁打包上云!(自动化签到的关键)

到这里,您的本地测试就已经完成了。那么您的配置文件已经没有任何问题,可以部署到云端以自动化签到了

特别强调:请注意以下打包是打包xx文件夹里的内容还是xx文件夹

☁打包上腾讯云

😑不推荐您使用腾讯云😑

😑不推荐您使用腾讯云😑

😑不推荐您使用腾讯云😑

之所以不推荐您部署到腾讯云,是因为部署到腾讯云会出现一些其他问题

诸如418405等等的返回代码报错,遇到这种情况请记得更换云函数的地域(如何更换请仔细注意,创建的过程会选择它)

  1. 在腾讯云云函数中新建项目

  2. 选择自定义创建(函数类型:事件函数;函数名称:随意(fuckCampusHoy);地域:北京(这就是地域,若控制台出现418错误,请在这里更换地域);部署方式:代码部署;运行环境:python3.6;函数代码:本地上传zip包)

  3. fuckTodayStudy/今日校园里的所有文件整体打包成一个ZIP文件夹(进入今日校园文件夹CTRL+A全选,右键,压缩到xxx.zip文件夹)

  4. 回到云函数创建页面,您可点击上传按钮以选择刚才您创建的zip压缩文件

  5. 打开高级配置。其他随意,您应该将其中的内存:改大一点如256MB,执行超时时间:改为60(推荐值),单个用户25s左右,请自行计算时间。一般设置大一点比较好

  6. 到这里您就配置好云函数的配置了,请您点击完成按钮以完成项目的初始化,请您耐心等待项目创建成功......

  7. 待您创建完成云函数后,请您点击函数代码以打开编辑器界面

  8. 请您点击函数代码里的在线编辑器中的终端里的新建终端以创建一个终端

  9. 执行以下代码以安装您的依赖到云函数中

    pip3 install -r ./src/requirements.txt -t ./src -i https://mirrors.aliyun.com/pypi/simple

  10. 若您成功安装依赖,那么您的在线编辑器大致将如下图所示,左侧增加了一坨文件夹,底部有个黄色的WARNING提示

    示例

  11. 特别的,在这里当您安装完成依赖后,您需要往下滑动,点击一下部署按钮以保存您在云函数上的操作,等待您的云函数部署成功之后,即可点击测试按钮以完成您的测试,当出现SUCCESS并且返回字段也是SUCCESS代表您在云函数上没有任何问题了

  12. 若您没有进行本地测试,请注意看这里,您现在可以返回到本地测试的第4.5.6.10.11步骤以完成您的config.yml的配置。若您之前进行了本地测试请您忽略本步骤

  13. 既然测试完成,那么就开始实现每天的自动化签到了。请您在刚才的网页页面上,找到触发管理并打开它,创建触发器。在触发周期上选择自定义触发周期,在Cron表达式中输入1 0 0/8/18/23 * * * *(本cron表达式代表每天的0、8、18、23点01分执行一次)(更多cron表达式请自行查看它的规则)

  14. 点击提交即可完成自动化签到的部署了

  15. Now, enjoy it please!~~(子墨师兄的口头禅)~~✈

☁打包上阿里云

阿里云和腾讯云的区别:阿里云的层管理有点问题,同时阿里云没有终端功能,没法使用pip命令安装依赖。函数入口和阿里云有区别(对您而言这个没区别)

😝强烈推荐使用阿里云😝

😝强烈推荐使用阿里云😝

😝强烈推荐使用阿里云😝

(温馨提示,函数计算的新版代码编辑器有好些BUG,敬请期待它的完善吧!)

  1. 在阿里云函数计算 FC上,左上角选择好您要创建函数的的地区,左侧选择服务及函数

  2. 新建一个服务,随意填写(英文)名称啥的,然后提交

  3. 在该服务下新建一个函数;选择事件函数下的配置部署;设置号函数名称(英文);运行环境:Python3;代码包上传;高级设置修改号内存和时间等

  4. 点击这里下载dependency.zip以下载对应的依赖到本地

  5. 回到fuckTodayStudy目录,将dependency.zip用压缩工具打开,全部解压到fuckTodayStudy/今日校园这个路径,也就是将依赖放到今日校园目录,

    示例

    然后再次全选fuckTodayStudy/今日校园里的代码CTRL+A全选,邮件,压缩成xxx.zip压缩文件

  6. 回到函数计算网页,点击上传代码以上传压缩包(自行选择好您之前压缩的xxx.zip文件),然后点击新建即可,在这里您将等待一个漫长的漫长的漫长的时间...

  7. 等待函数新建成功,进入到代码编辑,若您没有进行本地测试,请注意看这里,您现在可以返回到本地测试的第4.5.6.10.11步骤以完成您的config.yml的配置。若您之前进行了本地测试请您忽略本步骤

  8. 点击执行按钮即可完成阿里云的函数部署,若报错请反馈报错代码截图(请确保本地运行正确先!)

  9. 打开触发器创建触发器服务类型:定时触发器选择cron表达式,输入cron表达式如0 0 7,12,14 * * *代表7点、12点、14点各运行一次。自己输入触发器名称点击确定即可。

  10. 点击提交即可完成自动化签到的部署了

  11. Now, enjoy it please!~~(子墨师兄的口头禅)~~✈

✅关于推送

现在,您可以配置邮件推送和qmsg推送了呢!

以下配置均在config.yml中进行修改

  • 邮件推送:

    若您使用邮件推送,仅仅只需要配置好您的sendType0即可

    同时您需要配置的有emailApiUrl(目前项目免费提供一个)和sendKey字段(您的邮箱如[email protected]

  • QMSG推送:

    若您使用QMSG推送,仅仅只需要配置好您的sendType1即可

    同时您需要配置的有myQmsgKey(qmsg酱生成的)和sendKey字段(您的已经在QMSG酱上绑定号的一个QQ号码)

  • pushplus推送:

    若您使用pushplus推送,仅仅只需要配置好您的sendType2即可

    同时您需要配置的有sendKey字段(pushplus的token)

当您配置好以上内容后,将会进行消息推送

⚠更新通知

  • 修复信息收集的表单处理BUG v1.1.3
  • 完善通知功能
  • 修复部分cas学校登录失败返回405无法正确获取cookies的bug
  • 新增登陆适配武汉轻工大学,模块为whpuLogin,修复文档,v1.1.2
  • 新增查寝模块sleepCheck,添加debug模式,可在config.yml中修改,用以找到错误是哪个位置 v1.1.1
  • 新增邮件推送开关,当config.yml中的- user里的email为如下格式:email: '',将不推送邮件 v1.1.0
  • 新增一个cas学校的登陆(河南大学),新增henuLogin模块 v1.0.9
  • 完成邮件推送功能 v1.0.8
  • 修复签到值错误但不提示的bug v1.0.7
  • 完成教师端工作日志:新增workLogv1.0.6
  • 制作视频,提取Utils公用模块 v1.0.5
  • 修复签到失效 v1.0.4
  • 完成签到任务,新增autoSign模块,修复bug v1.0.3
  • 完成iap学校的登陆,新增iapLogin模块完善文档 v1.0.2
  • 完成部分通用cas学校的登陆适配,并完成信息收集,新增casLogin模块和collection模块 v1.0.1
  • 项目初始化(克隆自子墨师兄的代码)v1.0,新建ruoli分支并在其上魔改

fucktodaystudy's People

Contributors

thriving123 avatar azi666 avatar xxs-2 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.