利用云函数和Python实现蘑菇丁软件每日自动登录签到
由于怕token失效所以写成了每一次打卡前都要登录获取token一次,经过测试多次登录并不会造成登录异常,账号封禁等影响
Python3.6.2版本
"""
当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢?
学习Python中有不明白推荐加入交流群号:928946953
群里有志同道合的小伙伴,互帮互助, 群里有不错的视频学习教程和PDF!
还有大牛解答!
""" import reimport requests import json #账号密码 user="" password="" #机器人key和提醒QQ key="" qq="" #请求登录网址 url1="https://api.moguding.net:9000/session/user/v1/login" #请求协议头 headers1={ "Content-Type": "application/json; charset=UTF-8", "User-Agent": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; ELS-AN00 Build/HUAWEIELS-AN00) AppleWebKit/533.1 (KHTML, like Gecko) Version/5.0 Mobile Safari/533.1" } #请求参数 data1={ "password":password, "phone":user, "loginType":"android", "uuid":"" } #提交网址 r=requests.post(url=url1,data=json.dumps(data1),headers=headers1).text #输出返回信息 print(r) #寻找token token=re.findall("token\":\"(.*?)\",\"expiredTime",r) print(token) #寻找code进行判断 code1=re.findall("code\":(.*?),\"msg",r) print(code1[0]) #判断结果并输出 if code1[0]=="200": print("登录成功,获取到token.tokeng是"+token[0]) else: print("登录失败,请检查账号密码") exit()#停止运行 #签到网址 url2="https://api.moguding.net:9000/attendence/clock/v1/save" headers2={ "Content-Type": "application/json; charset=UTF-8", "User-Agent": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; ELS-AN00 Build/HUAWEIELS-AN00) AppleWebKit/533.1 (KHTML, like Gecko) Version/5.0 Mobile Safari/533.1", "Authorization": token[0] } data2={ "country":"中国", "address":"中国贵州省贵阳市清镇市贵州建设职业技术学院f7栋409", "province":"贵州省", "city":"贵阳市", "latitude":"26.656274", "description":"", "planId":"ccd2e4ab325c15342ae979e6d9d51f44", "type":"END", "device":"Android", "longitude":"106.653654" } #提交签到信息 r2=requests.post(url=url2,data=json.dumps(data2),headers=headers2).text print(r2) #寻找code进行判断 code2=re.findall("code\":(.*?),\"msg",r2) print(code2[0]) #签到时间 time=re.findall("createTime\":\"(.*?)\"",r2) #判断结果并输出 #机器人网址 url3="https://qmsg.zendee.cn:443/send/" + key data3 = { 'msg': "蘑菇丁签到成功,签到时间为"+time[0], 'qq': f'{qq}' } if code2[0]=="200": print("签到成功,签到时间"+time[0]) r3 = requests.post(url=url3,data =data3) else: print("登录失败,请检查账号密码") exit()#停止运行
填入相应参数即可,可以先在本地测试,测试成功后再放到云函数中部署运行
接下来是云函数实现,这里用的是腾讯的云函数:
https://cloud.tencent.com/product/scf
QQ登录后到控制台-函数服务-新建函数
选择Python3.6 helloword函数模板,起个名字
把py代码和txt文本分别复制进去
部署并运行就好了
测试成功了就可以创建触发器了,在触发管理-创建触发器
触发方式定时触发,名字随便起一个,触发周期自定义周期,Cron表达式是:0 0 10 * * * *,表示每日10点执行,10可以自己改,然后确定就可以了