anxiangmao 发表于 2021-3-12 21:48

利用云函数+Python实现每日自动签到蘑菇丁并用qq提醒

利用云函数和Python实现蘑菇丁软件每日自动登录签到
由于怕token失效所以写成了每一次打卡前都要登录获取token一次,经过测试多次登录并不会造成登录异常,账号封禁等影响


Python3.6.2
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)
#判断结果并输出
if code1=="200":
    print("登录成功,获取到token.tokeng是"+token)
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
}
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)
#签到时间
time=re.findall("createTime\":\"(.*?)\"",r2)
#判断结果并输出

#机器人网址
url3="https://qmsg.zendee.cn:443/send/" + key
data3 = {
            'msg': "蘑菇丁签到成功,签到时间为"+time,
            'qq': f'{qq}'
}


if code2=="200":
    print("签到成功,签到时间"+time)
    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可以自己改,然后确定就可以了

下方下载txt版本


anxiangmao 发表于 2021-3-13 13:01

nu0l 发表于 2021-3-13 00:10
命令行更方便

云函数定时执行,很方便的,解放双手,配置好了都不用去管

almd521 发表于 2021-3-12 23:03

能不能给集合成app或者exe啊:lol

anxiangmao 发表于 2021-3-12 23:49

almd521 发表于 2021-3-12 23:03
能不能给集合成app或者exe啊

云函数主要是解放双手,APP直接用自带的了啊

nu0l 发表于 2021-3-13 00:10

almd521 发表于 2021-3-12 23:03
能不能给集合成app或者exe啊

命令行更方便

张晨曦 发表于 2021-3-19 15:27

楼主注意个人隐私哈~

anxiangmao 发表于 2021-3-19 17:52

张晨曦 发表于 2021-3-19 15:27
楼主注意个人隐私哈~

感谢感谢,我才发现。谢谢

adsryen 发表于 2021-3-30 18:44

哎实习打卡是真的难受   这下好了   没异常就行

onedayday-wb 发表于 2021-4-8 09:35

本帖最后由 onedayday-wb 于 2021-4-8 09:36 编辑


楼主,请问我在本地运行成功之后,再返回手机查看签到情况,发现并未实现正真签到,这是什么情况呢?还望楼主能帮忙看看这个问题







adsryen 发表于 2021-4-9 01:07

有不有什么办法让程序分辨清楚上下班   好像每次打卡都是一种   要么全是上班要么全是下班
页: [1] 2
查看完整版本: 利用云函数+Python实现每日自动签到蘑菇丁并用qq提醒