【小白程序猿】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云函数好像不行。