闲来无事试试还有没有更方便的疫情打卡项目
申明
使用本项目即代表同意本申明,如有异议请立即退出
项目原地址 https://github.com/IceTiki/ruoli-sign-optimization
使用了此脚本或者参考了这个项目,请自觉给项目点个star
- 原作者已不再维护,后续维护均由志愿者进行
- 本项目仅供学习交流使用,如作他用所承受的任何直接、间接法律责任一概与作者无关
- 如果此项目侵犯了您或者您公司的权益,请立即联系我删除
- 请对自己安全负责严格遵守包括但不限于学校等的相关规定。防控疫情,人人有责。尽量不前往中,高风险地区,出现相关症状请立即报告。
- 换了使用的项目,教程已重写
公告
- 2021-11-7更新,配置文件有修改(请删掉配置中不需要用到的可选项,不然会出现"今日校园版本过旧,请更新")
- 2021-12-16更新,pushplus使用方式更新,需要重新配置
使用方法
第一步
登录腾讯云,进入腾讯云函数 https://console.cloud.tencent.com/scf/list
第二步
选择一个非广州的内陆节点(比如上海、北京、成都)
第三步
点击 新建
第四步
选择自定义创建
选择本地上传zip包
下载压缩包 https://drive.yewan.life/d/jrxy.zip
然后上传zip包
第五步
点击 高级配置
内存选择 256MB
执行超时时间改为 90 秒
第六步
触发器选择 自定义创建
最后点 完成
第七步
进入 函数代码
进入config.yml
将依照config.yml里的注释,将自己的配置信息填入config.yml
问卷我已经填写完成,你需要做的就是填写31,32行的学号,密码,以及81,82,83行的经纬度,及地址(今日校园里有定位的地址,直接复制即可)
如需验证码识别需要先开通腾讯OCR服务,然后申请腾讯云API密钥,最后将API密钥配置到路径login文件夹下system.yml
里的SecretId
以及SecretKey
参数内
第八步
点击 终端-新终端
在终端中输入pip3 install -r ./src/requirements.txt -t ./src/ -i https://mirrors.aliyun.com/pypi/simple
按回车,然后等待执行完毕
执行完毕后,点击部署,并等待部署完毕
大 功 告 成,第二天看看自动签到是否成功吧。(如果没成功,去询问别人为什么失败的时候一定要截图日志最后那一页)
用户配置高级教程
配置文件遵从yaml语法。
单用户配置大致长这样
- type:
schoolName:
username: ""
password: ""
checkTitle:
forms:
- form:
title:
value:
lon: 104.616858
lat: 28.793022
address:
photo:
时间格式
形如下的题目
9.最后核酸检测时间(日期时间)
题目规则:最早1900-01-01;最晚2099-12-31
其时间格式如下
- form:
title:
value: "2001-01-01" # 一定要有引号(字符串),否则会被识别为时间对象
图片
查寝、政工签到都有photo
可填项。可以填入一个本地图片的位置(绝对/相对都可以)。
信息收集如果有图片收集,则可以作为问题答案填入value
中。
备注:图片最好是.jpg格式
当填入一个列表的时候,会随机选取其中一项。
photo:
- "图片文件夹"
- "图片.jpg"
- "图片2.jpg"
当填入一个字符串地址时,就以此地址寻找图片
photo: "图片.jpg"
或者
photo: "图片文件夹"
最终选取到的地址会进行判断:
- 如果地址指向一个文件,就会上传此文件。
- 如果地址指向一个文件夹,就会随机从中选取一个
.jpg
结尾的文件
代理
在用户配置中,配置proxy
参数可以使用代理。
- type:
schoolName:
username: ""
password: ""
checkTitle:
forms:
- form:
title:
value:
lon: 104.616858
lat: 28.793022
address:
photo:
proxy: "http://host:port" # 注意缩进要和username、password等参数保持一致
代理请以http://
或https://
为开头。常见的形式有
http://用户名:密码@123.123.123.123:1234
http://123.123.123.123:1234
单独推送
用户配置中可以添加sendMessage
推送仅该用户的签到情况,格式同整体推送(不需要的选项可以删掉)。
- type:
schoolName:
username: ""
password: ""
checkTitle:
forms:
- form:
title:
value:
lon: 104.616858
lat: 28.793022
address:
photo:
sendMessage:
rl_emailApiUrl: http://mail.ruoli.cc/api/sendMail # 邮箱API的地址(不需要推送不用填)
rl_email: "" # email 接受通知消息的邮箱(不需要推送不用填)
qmsg_key: "" # qmsg推送的key(不需要推送不用填)
qmsg_qq: "" # qmsg推送的qq号(不需要推送不用填)
qmsg_isGroup: 0 # 此qq号是否为群(是的话填1,反之为0)
pushplus_parameters: "" # pushplus参数,填入令牌即可推送。也可以填入"token=xxx&topic=xxx"形式自定义更多参数(注册pushplus请前往https://pushplus.hxtrip.com/index)
smtp_host: "smtp.qq.com" # SMTP服务器域名
smtp_user: "*****@qq.com" # SMTP服务器用户名
smtp_key: "" # SMTP服务器密钥
smtp_sender: "*****@qq.com" # 发送邮箱
smtp_receivers:
- "*****@qq.com" # 接收邮箱(可填多个)
常见问题
- 如果在日志发现HTTP 418(I’m a teapot.),意为被怀疑为爬虫脚本。
- 如果在模拟登录后开始抓取任务列表时HTTP 405(请求方式错误)