【技巧】关于如何自动填写今日校园
写在前边
自从2020年开始,收到疫情的影响,学校要求每日在今日校园
上报健康信息。
虽然每天只需要耗费几分钟就能填写完的内容,日积月累也是一个很麻烦的事情。
这里不是说如何应付这件事,只是每天重复这样子的内容太过于繁琐。
比如像所在地,这个又不会经常变更,所以就都交给程序自动解决好了。
为什么不写
其实早就有这样的想法,但是出于没时间等原因,迟迟没有动手。
直到最近,突然又想起来这件事,准备开始研究。
但是又一想,这件事都过去这么久了,会不会已经有人造好轮子了呢?
于是Google了一下,发现果然不出我所料,还真的有小可爱已经写好了。
那还等什么,直接用就好了。
如何操作
首先放上项目地址
源项目地址:https://github.com/ZimoLoveShuang/auto-submit
经过我稍微修改了的项目地址:https://github.com/chmoe/auto-submit(2020-10-27 23:21:45更新,作者已将我的PR合并,方式一现在已经可以直接访问原作者仓库)
首先来说,这个项目的readme看起来很复杂的样子,我最初拿到的时候阅读了好几遍。
因此在这里总结一下。
我需要使用的功能就是信息收集
因此,需要做的步骤如下:
git clone https://github.com/ZimoLoveShuang/auto-submit.git
修改
/auto-submit/config.yml
中的学校和学号密码信息。(这里学校填中文全称、账号密码填写信息门户的账号和密码。运行
generate.py
文件,根据输出内容手动填写一次问卷,填写结束后手动复制控制台输出的横线下方的内容
,将其复制到/auto-submit/config.yml
文件中相应位置进行覆盖。打开腾讯云函数,注册认证后,进入控制台,点击左边的层,然后点新建,名称随意,然后点击上传zip,选择release中的
dependency.zip
上传,然后选择运行环境python3.6
,然后点击确定,耐心等待一下,上传依赖包需要花费的时间比较长点左边的函数服务,新建云函数,名称随意,运行环境选择
python3.6
,创建方式选择空白函数,然后点击下一步提交方法选择在线编辑,把本地修改好的
index.py
直接全文复制粘贴到云函数的index.py
,然后点击文件->新建,文件名命名为config.yml
,然后把本地配置好的config.yml
文件中的内容直接全文复制粘贴到云函数的config.yml
文件,点击下面的高级设置,设置超时时间为60秒
,添加层为刚刚新建的函数依赖层,然后点击完成
进入新建好的云函数,左边点击触发管理,点击创建触发器,名称随意,触发周期选择自定义,然后配置cron表达式,下面的表达式表示每天中午十二点整执行
0 0 12 * * * *
然后就可以测试云函数了,绿色代表云函数执行成功,红色代表云函数执行失败(失败的原因大部分是由于依赖造成的)。返回结果是
success.
,代表自动提交成功,如遇到问题,请仔细查看日志也可配合Windows计划任务或者使用linux定时任务,将脚本挂在自己的云服务器上,不会就搜索一下,过程不再赘述
修改说明
由于原作者在项目中贡献了自己的QQ邮箱,为了减轻压力,因此想可以加入自己的邮件系统。
而且原作者只有在填写成功时会发送邮件通知,但是我想知道所有自动填写的状态,但是多发几次邮件就会超过原作者设置的限制。。
邮件接口有次数限制吗?
有,每个邮箱地址每天上限10条,0点刷新,正常使用完全够了,加入限制主要是 为了防止接口被滥用,毕竟这是我的私人邮箱
而且单纯靠邮件推送,有的时候查看不及时会出现问题。
虽然原作者提到了Server酱的配置稍微有些复杂,但是比起暂时没有,我认为还是有人希望加上这种提醒。
另外考虑到有些小可爱可能不喜欢用微信,所以又引入了Qmsg酱
通知。
这样使用的小可爱也可以根据自己需求进行配置。
增加部分具体内容
1 | Info: |
讲解使用方法
绑定Server酱(微信推送)
官方链接:http://sc.ftqq.com/
如果有能力请直接参考上述官方链接
操作步骤:
- 打开官方链接
- 点击右上角
登入
,这里会自动跳转到github授权界面,用github授权登录即可(如果你不知道github为何物的话,洗洗睡吧) - 登录成功回到官网,点击微信推送
- 扫描二维码,关注。
- 点击
发送消息
菜单栏 - 找到下方任意一行淡黄色背景的内容,如https://sc.ftqq.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxx.send
- 复制红色部分内容,粘贴到
/auto-submit/config.yml
中的ServerChan
部分(如图红色部分)
绑定Qmsg酱(QQ推送)
如果有能力请直接参考上述官方链接
操作步骤:
- 打开官方链接
- 点击右上角
登录
,用你喜欢的方式登录,我选择的是QQ扫码登录 - 然后
选择Qmsg酱小姐姐
,加好友。 添加QQ号
,填上你添加Qmsg酱
的QQ号。- 点击
添加
按钮 - 点击
文档
菜单栏 - 找到下方任意一行淡灰色背景的内容,如https://qmsg.zendee.cn:443/send/xxxxxxxxxxxxxxxxxxxxxxxxxxxx
- 复制红色部分内容,粘贴到
/auto-submit/config.yml
中的Qsmg
部分(如图红色部分)
自定义提醒QQ
如果您在绑定Qmsg酱的时候设定了多个QQ,但是只想要指定的qq接受提醒消息,这里可以修改相对应目录下的index.py
文件中的如下设置
1 | # Qmsg酱通知 |
请一定使用英文逗号
!
请一定使用英文逗号
!
请一定使用英文逗号
!
邮箱服务器配置
如果你使用QQ邮箱,可以参考官方链接https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256获取授权码。
其他邮箱也需要使用授权码。
在本文件配置中,需要使用邮件服务器中的SMTP服务器,请自行配置服务器和端口号。
下方有一些常用邮箱服务器的地址及其端口号等信息,仅供参考。
更新
2020-10-27 23:06:29更新
我昨天发现,从前天起,代码的作用就失灵了
结果导致周日那天没有提交。。
昨天晚上过了预设的自动填写时间。。结果还是没有受到任何提醒。。
于是我登录了下腾讯云函数的管理页面,发现出现无法登陆的提示
手动试了一下。。结果emmm 金智教育的网页登录被学校ban掉了hhhhhh
所以只能去第二种方式了
根据原作者仓库,我这我的修改仓库的read.md
中的云端系统不可用,需使用通用脚本,参考步骤如下
步骤进行操作
首先还是克隆仓库,但是我之前已经克隆好了,所以可以直接跳过
然后进入克隆好的文件夹中,执行下边的命令安装依赖文件
1 | pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple |
进入currency
文件夹中(以下描述所有文件均默认为该目录下),按照上文提到的方式进行文件config.yml
的配置。
注:这里的手机号是登录今日校园的手机号,需要一会儿接收验证码用
在cmd/terminal中执行python login.py
,这个时候会提示输入手机验证码
然后会获取到一些参数,sessionToken
,acw_tc
,MOD_AUTH_CAS
和CpdailyInfo
将这些参数填写到文件index.py
中开头配置
部分
然后按照上边的方式配置题目参数:运行generate.py
文件,根据输出内容手动填写一次问卷,填写结束后手动复制控制台输出的横线下方的内容
,将其复制到config.yml
文件中相应位置进行覆盖。
如果你想使用自己的邮件系统或者是希望使用Qsmg或放糖提示的话,请clone我的仓库:https://github.com/chmoe/auto-submit
方法一过渡到方法二
我不确定这个部分是否有写的意义,毕竟小可爱们学校不会那么变态突然禁用这个云系统 ぴえん
如果需要过渡的话,按照上边的方法二配置
进行操作之后,在腾讯云函数部分只需要重新上传代码即可,不需要重新设置定时之类的其他内容。
方法二已知问题
会导致手机端登录下线,即不能同时登录。(如果手机端登录,则需要重新执行python login.py
,然后更新index.py
中的配置部分
如果同时出现多个(不同)问卷的话,会无法进行正常填写,程序会报错
注:本文中使用到的所有SCKEY|password|授权码
等内容,请一概不要复制粘贴别人的,也一定不要告诉别人(这和把你的银行卡密码告诉别人的性质是一样的)。
参考
常用邮箱SMTP服务器地址大全:https://blog.csdn.net/ning521513/article/details/79217203
Github-ZimoLoveShuang/auto-submit:https://github.com/ZimoLoveShuang/auto-submit
在服务器中住着的AKI娘会检测您的输入内容哦, 如果被判断为垃圾内容是看不到的呢!当然抹茶也会定期检查AKI娘的所作所为的!