Skip to content

KingOfDeBug/PKU-auto-epidemic-fighter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PKU自动云战"疫"

PKU自动云战"疫"小工具,使用了Python3.8 + requests库,结合Github Action与Server酱,每日定时自动提交,微信推送结果,辅导员再也不用担心我漏填了~

内容列表

说明

  • 本工具采用 Python3.8 并使用了requests库进行。
  • 本想采用selenium的方式进行模拟,但是觉得selenium速度太慢,占用资源大,且不够优雅。经过对网站的解析后得到了以下方法(没有反爬就很爽)。
  • 支持所有系统(毕竟只用了requests)。
  • 运行贼快,Github Actions从构建到运行结束只需要30秒左右。
  • 喜欢可以点个Star?

安装

这个项目使用 Python3.8 和 requests。请确保你本地安装了 Python3.8 以及 requests

使用说明

获取FORM数据

  • 使用前需手动进入云战役填写一次:
    1. 在云战"疫"页面,将需要填写的信息填写完成,点击保存。
    2. 输入ctrl+shift+i进入开发者工具。
    3. 在开发者工具的Console一栏中输入:
    • 非windows及Github Actions用戶:copy("'" + JSON.stringify({xh: app.basicInfoForm.xh,sfhx: app.dailyInfoForm.sfhx,hxsj: app.dailyInfoForm.hxsj,cfdssm: app.dailyInfoForm.cfdssm,cfddjsm: app.dailyInfoForm.cfddjsm,cfdxjsm: app.dailyInfoForm.cfdxjsm,dqszdxxdz: app.dailyInfoForm.dqszdxxdz,dqszdsm: app.dailyInfoForm.dqszdsm,dqszddjsm: app.dailyInfoForm.dqszddjsm,dqszdxjsm: app.dailyInfoForm.dqszdxjsm,dqszdgbm: app.dailyInfoForm.dqszdgbm,sflsss: app.dailyInfoForm.sflsss,jrtw: app.dailyInfoForm.jrtw,sfczzz: app.dailyInfoForm.sfczzz,jqxdgj: app.dailyInfoForm.jqxdgj,qtqksm: app.dailyInfoForm.qtqksm,tbrq: app.dailyInfoForm.tbrq,yqzd: app.dailyInfoForm.yqzd,sfcx: app.dailyInfoForm.sfcx,dwdzxx: app.locationInfo,dwjd: app.dwjd,dwwd: app.dwwd,sfdrfj: app.dailyInfoForm.sfdrfj,chdfj: app.dailyInfoForm.chdfj,jkm: '绿码',simstoken: simstoken,sfmjqzbl: app.dailyInfoForm.sfmjqzbl,sfmjmjz: app.dailyInfoForm.sfmjmjz,hsjcjg: app.dailyInfoForm.hsjcjg,jjgcsj: app.dailyInfoForm.jjgcsj,sfzgfxdq: app.dailyInfoForm.sfzgfxdq}) + "'")
    • windows用戶:copy(JSON.stringify({xh: app.basicInfoForm.xh,sfhx: app.dailyInfoForm.sfhx,hxsj: app.dailyInfoForm.hxsj,cfdssm: app.dailyInfoForm.cfdssm,cfddjsm: app.dailyInfoForm.cfddjsm,cfdxjsm: app.dailyInfoForm.cfdxjsm,dqszdxxdz: app.dailyInfoForm.dqszdxxdz,dqszdsm: app.dailyInfoForm.dqszdsm,dqszddjsm: app.dailyInfoForm.dqszddjsm,dqszdxjsm: app.dailyInfoForm.dqszdxjsm,dqszdgbm: app.dailyInfoForm.dqszdgbm,sflsss: app.dailyInfoForm.sflsss,jrtw: app.dailyInfoForm.jrtw,sfczzz: app.dailyInfoForm.sfczzz,jqxdgj: app.dailyInfoForm.jqxdgj,qtqksm: app.dailyInfoForm.qtqksm,tbrq: app.dailyInfoForm.tbrq,yqzd: app.dailyInfoForm.yqzd,sfcx: app.dailyInfoForm.sfcx,dwdzxx: app.locationInfo,dwjd: app.dwjd,dwwd: app.dwwd,sfdrfj: app.dailyInfoForm.sfdrfj,chdfj: app.dailyInfoForm.chdfj,jkm: '绿码',simstoken: simstoken,sfmjqzbl: app.dailyInfoForm.sfmjqzbl,sfmjmjz: app.dailyInfoForm.sfmjmjz,hsjcjg: app.dailyInfoForm.hsjcjg,jjgcsj: app.dailyInfoForm.jjgcsj,sfzgfxdq: app.dailyInfoForm.sfzgfxdq}).replaceAll("\"", "\"\"\""))
    1. 此时云战"疫"的FORM数据便保存在了剪贴板中,保存下来,稍后要用。
  • 如果需要填写的数据发生变化,需要再次进行上面的操作。

本地使用

git clone https://github.com/Littlebus/PKU-auto-epidemic-fighter.git
cd PKU-auto-epidemic-fighter/
python main.py -u [你的学号] -p [你的密码] -f [刚才得到的FORM数据]

Github Actions

使用Github Actions可以免去繁琐的操作,需以下几步便可每日定时填报。

  • 点击右上角 Fork 项目;
  • Settings -> Secrets 中添加学号、密码、表单以及Server酱SCKEY(选填);
    • USERNAME:学号
    • PASSWORD:密码
    • FORM:FORM数据
    • SCKEY:Server酱SCKEY(选填)
  • 点击Star,任务会自动执行(默认早8点),运行进度和结果可以在Actions页面查看;
  • 或者在Actions页面中点击Run WorkFlow,运行进度和结果可以在Actions页面查看;
  • 如果配置了Server酱,运行结果会推送到微信;

获取Server酱SCKEY

  • github 授权登录Server酱官网;
  • 菜单栏点击微信推送,并扫描绑定微信;
  • 菜单栏点击发送消息,拷贝SCKEY;

相关仓库

责任须知

  • 本项目仅供参考学习,造成的一切后果由使用者自行承担。
  • 本项目仅在日常无发热情况时的默认填写,若出现发热症状,请自行进入系统填写。

使用许可

GPL3 © Littlebus

About

PKU自动云战"疫"小工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%