
利用雲函數和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可以自己改,然后確定就可以了
