
?
今天分享的文章讓你霸屏微信運動,橫掃支付寶榜單
很多人學習python,不知道從何學起,
很多人學習python,掌握了基本語法過后,不知道在哪里尋找案例上手,
很多已經做案例的人,卻不知道如何去學習更加高深的知識,
那么針對這三類人,我給大家提供一個好的學習平臺,免費領取視頻教程,電子書籍,以及課程的源代碼!??¤
QQ群:623406465
1
專案意義
如果你想在支付寶螞蟻森林收集很多能量種樹,為環境綠化出一份力量,又或者是想每天稱霸微信運動排行榜裝逼,卻不想出門走路,那么該 python 腳本可以幫你實作,
2
實作方法
手機安裝第三方軟體樂心健康,注冊賬號登錄,將運動資料同步到微信和支付寶,用 python 腳本遠程修改樂心健康當前登錄賬號的步數即可,
第一步:在手機上安裝樂心健康 app,
?安卓版下載地址: ( http://app.mi.com/details?id=gz.lifesense.weidong )
蘋果版下載地址:( https://apps.apple.com/us/app/lifesense-health/id1479525632 )
第二步:注冊賬號登錄,并設定登錄密碼,

?
第三步:完成第三方同步,將運動資料同步到微信和支付寶,

?
第四步:運行 python 腳本,修改樂心健康步數,

?

?

?
3
python 代碼
程式設定是每天 7 點自動修改步數,在下面腳本對應的位置替換填入樂心健康賬號、樂心健康密碼、修改步數,然后運行程式,修改步數推薦設定范圍是 30000 至 90000,步數值太大會導致修改不成功,如果想改變第二天自動修改步數的時間,請修改圖示位置的 25200,+25200 代表第二天 0 點后加上的秒數,也就是 7x60x60,即 7 小時,根據自己的需要修改即可,如果每天都要修改步數, 那么讓程式一直保持運行即可,
注意:運行程式會立刻修改當天的步數,自動修改步數是從程式保持運行的第二天開始,

?部分原始碼,全部原始碼獲取方式見文末
# -*- coding: utf-8 -*-
import requests
import json
import hashlib
import time
import datetime
class LexinSport:
def __init__(self, username, password, step):
self.username = username
self.password = password
self.step = step
# 登錄
def login(self):
url = 'https://sports.lifesense.com/sessions_service/login?systemType=2&version=4.6.7'
data = https://www.cnblogs.com/sn8888/archive/2020/10/19/{'loginName': self.username, 'password': hashlib.md5(self.password.encode('utf8')).hexdigest(),
'clientId': '49a41c9727ee49dda3b190dc907850cc', 'roleType': 0, 'appType': 6}
headers = {
'Content-Type': 'application/json; charset=utf-8',
'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 7.1.2; LIO-AN00 Build/LIO-AN00)'
}
response_result = requests.post(url, data=https://www.cnblogs.com/sn8888/archive/2020/10/19/json.dumps(data), headers=headers)
status_code = response_result.status_code
response_text = response_result.text
# print('登錄狀態碼:%s' % status_code)
# print('登錄回傳資料:%s' % response_text)
if status_code == 200:
response_text = json.loads(response_text)
user_id = response_text['data']['userId']
access_token = response_text['data']['accessToken']
return user_id, access_token
else:
return '登錄失敗'
# 修改步數
def change_step(self):
# 登錄結果
login_result = self.login()
if login_result == '登錄失敗':
return '登錄失敗'
else:
url = 'https://sports.lifesense.com/sport_service/sport/sport/uploadMobileStepV2?systemType=2&version=4.6.7'
data = https://www.cnblogs.com/sn8888/archive/2020/10/19/{'list': [{'DataSource': 2, 'active': 1, 'calories': int(self.step/4), 'dataSource': 2,
'deviceId': 'M_NULL', 'distance': int(self.step/3), 'exerciseTime': 0, 'isUpload': 0,
'measurementTime': time.strftime('%Y-%m-%d %H:%M:%S'), 'priority': 0, 'step': self.step,
'type': 2, 'updated': int(round(time.time() * 1000)), 'userId': login_result[0]}]}
headers = {
'Content-Type': 'application/json; charset=utf-8',
'Cookie': 'accessToken=%s' % login_result[1]
}
response_result = requests.post(url, data=https://www.cnblogs.com/sn8888/archive/2020/10/19/json.dumps(data), headers=headers)
status_code = response_result.status_code
# response_text = response_result.text
# print('修改步數狀態碼:%s' % status_code)
# print('修改步數回傳資料:%s' % response_text)
if status_code == 200:
return '修改步數為【%s】成功' % self.step
else:
return '修改步數失敗'
# 睡眠到第二天執行修改步數的時間
def get_sleep_time():
# 第二天日期
tomorrow = datetime.date.today() + datetime.timedelta(days=1)
# 第二天7點時間戳
tomorrow_run_time = int(time.mktime(time.strptime(str(tomorrow), '%Y-%m-%d'))) + 25200
# print(tomorrow_run_time)
# 當前時間戳
current_time = int(time.time())
# print(current_time)
return tomorrow_run_time - current_time
if __name__ == "__main__":
# 最大運行出錯次數
fail_num = 3
while 1:
while fail_num > 0:
try:
# 修改步數結果
result = LexinSport('樂心健康賬號', '樂心健康密碼', 修改步數).change_step()
print(result)
break
except Exception as e:
print('運行出錯,原因:%s' % e)
fail_num -= 1
if fail_num == 0:
print('修改步數失敗')
# 重置運行出錯次數
fail_num = 3
# 獲取睡眠時間
sleep_time = get_sleep_time()
time.sleep(sleep_time)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/180718.html
標籤:其他
