今日校园 实现浏览器端、签到web端

2020-08-30

初衷。疫情签到,需要在手机端进行操作。奈何手机经常不在身边,于是乎,寻一再电脑上食用的方法。

目前,已完成手动实现网页打开疫情收集表的提交

使用的编程语言为 Python 。本小项目,更偏向于脚本类程序。

实现思路:

获取填写表格的网站 –> 实现表格的参数获取 –> 完成表格无误显示

获取填写表格的网站

通过抓包,GET填表网页,发现url 存在参数来获取不同的表格

image-20200823223453064

获取URL

https://host/wec-counselor-collector-apps/stu/mobile/index.html?collectorWid=43140&from=push&timestamp=1598192212361#/notice

于是采取模拟登陆获取未填写表格的操作

实现表格的参数获取

根据表格获取URL参数了解到

参数 含义
collectorWid 43140 表单的id值,采取模拟登陆获取值
from push 一定参数
timestamp 1598192212361 时间戳 UNIX

后两项的 from 和 timestamp 均是客观条件。目前应该搞定 collectorWid的值。

根据抓包和资料查找,了解到 collectorWid 是请求 /wec-counselor-collector-apps/stu/collector/queryCollectorProcessingList 获取的结果中,包含该值。

请求该URL 需要食用post请求,并且含有一下参数

{
	"pageSize": 6, //每页数量
	"pageNumber": 1 //请求页数
}

这里,获取的数据是最新的表单数据。如果目前系统并未推送消息或者已填写,那么发挥的数组是空值。

这里,获取collectorWid 成功

image-20200830083028517

完成表格无误显示

获取collectorWid值,加入url中即可。

这里,需要跳转到学校的登陆平台认证,这时手动输入即可。

后话

项目GitHub地址:https://github.com/blueweiwei/Sign_jin_python

声明:本项目仅提供思路,并未考虑人人适用。此项目仅仅用于探索,并不适合每一个学习者。另外,获取collectorWid需要手动填写认证信息。