酷安APP 分享美好科技生活

【小白程序猿】60行代码后台24小时自动《学习通自动签到》

Lemming069

2020-05-08 三星Galaxy S20

抓包工具:Fiddler
语言:Python 库:requests
手机:夜神模拟器
运行方式:函数云

第一次发长文, #第一行代码# 本人只是个学习一个月的萌新,所有知识源于GitHub,百度,b站,学校,有很多地方不懂,不要痛击我一个萌新傲慢本教程只是交流学习,希望有大佬指点错误的地方
#爱编程#

首先我们自己在学习通里创建一个课程,方便测试。自己发布一个签到信息,然后抓包自己签到的数据

签到成功的数据

有右边那些数据,一个一个看,找到了一个返回success的,其他的只是页面源代码,还有一些我也不知道

返回success

复制它的URL在浏览器里打开,发现他有这么长的地址,经过删减,有些不需要的

发现他有这么长

删减过后,发现只需要这么一点也能打

后面那串数字就是我们需要的了,activeID翻译过来不就是活动ID吗,我们只需要找到活动ID就好了啊,返回到活动的列表

活动列表

抓活动列表的包,找这里面,看哪个里面有活动ID就好了

活动列表URL

发现这个json文件里面有很多东西,(一般都是json文件)发现有个activelist(活动列表),里面刚好有active的ID,234452314

活动列表json

复制刚刚那个活动API接口,打开网页,删减一些也能打开

删减后

删减成上面那样就可以了,最后那两个数据是不能删掉的,删了其中一个,就打不开了,那就是需要后面那两个数据了,一个courseID和classID。
返回到课程列表里去找找有没有这两个数据

课程列表

抓包发现就几个,一个一个看了后,发现只有其中一个json文件里有我们想要的数据,对应的ID码,刚好和我们的courseID和classID。然后复制URL出来

课程URL

发现只有这么长

浏览器里打开

浏览器打开看到课程所有信息了,这个课程URL不需要其他参数,那就从这个URL开始吧。
所有想要的参数都有了,就开始码代码吧。

所有东西

1-31

这里要弄一个检测签到的,在活动列表里有两个参数,activetype(活动类型)为2,就是签到活动。status(状态)为1就是正在进行的,状态为2就是已经结束的了

状态

写一个判断状态方法就好了,状态为1就执行签到,为2就终止就好了

32-58

然后自己发布一个签到,运行代码,ok~
带进函数云~

函数云

触发方式

触发方式设置为每分钟运行一下。
再发布一个签到试一下

签到成功!

成功!!后台一关,电脑一关,一躺,一睡酷酷,再也不用担心我忘记签到了睡睡睡24小时后台识别有没有签到,一有签到就自动给我签了亲亲亲亲

唯一缺点就是,三天左右需要换cookies,不能做到一直挂后台,要换cookie,有没有哪位大佬指点流泪自动获取cookie,或者自动登录,selenium云函数好像不行。