项目意义
实现方法
python代码
下载地址
如果你想在支付宝蚂蚁森林收集很多能量种树,为环境绿化出一份力量,又或者是想每天称霸微信运动排行榜装逼,却不想出门走路,那么该python脚本可以帮你实现。
手机安装第三方软件乐心健康,注册账号登录,将运动数据同步到微信和支付宝。用python脚本远程修改乐心健康当前登录账号的步数即可。
第一步:在手机上安装乐心健康app。
安卓版下载地址:乐心健康安卓版
苹果版下载地址:乐心健康iOS版
第二步:注册账号登录,并设置登录密码。
第三步:完成第三方同步,将运动数据同步到微信和支付宝。
第四步:运行python脚本,修改乐心健康步数。
程序设定是每天点自动修改步数,在下面脚本对应的位置替换填入乐心健康账号、乐心健康密码、修改步数,然后运行程序。修改步数推荐设置范围是至,步数值太大会导致修改不成功。如果想改变第二天自动修改步数的时间,请修改图示位置的,+代表第二天点后加上的秒数,也就是xx,即小时,根据自己的需要修改即可。如果每天都要修改步数,那么让程序一直保持运行即可。
注意:运行程序会立刻修改当天的步数,自动修改步数是从程序保持运行的第二天开始。
change_step.py
# -*- coding: utf- -*-import requestsimport jsonimport hashlibimport timeimport datetimeclass 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=&version=.. data = {loginName: self.username, password: hashlib.md(self.password.encode(utf)).hexdigest(), clientId: aceeddabdccc, roleType: , appType: } headers = { Content-Type: application/json; charset=utf-, User-Agent: Dalvik/.. (Linux; U; Android ..; LIO-AN Build/LIO-AN) } response_result = requests.post(url, data=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 == : 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/uploadMobileStepV?systemType=&version=.. data = {list: [{DataSource: , active: , calories: int(self.step/), dataSource: , deviceId: M_NULL, distance: int(self.step/), exerciseTime: , isUpload: , measurementTime: time.strftime(%Y-%m-%d %H:%M:%S), priority: , step: self.step, type: , updated: int(round(time.time() * )), userId: login_result[]}]} headers = { Content-Type: application/json; charset=utf-, Cookie: accessToken=%s % login_result[] } response_result = requests.post(url, data=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 == : return 修改步数为【%s】成功 % self.step else: return 修改步数失败# 睡眠到第二天执行修改步数的时间def get_sleep_time(): # 第二天日期 tomorrow = datetime.date.today() + datetime.timedelta(days=) # 第二天点时间戳 tomorrow_run_time = int(time.mktime(time.strptime(str(tomorrow), %Y-%m-%d))) + # print(tomorrow_run_time) # 当前时间戳 current_time = int(time.time()) # print(current_time) return tomorrow_run_time - current_timeif __name__ == "__main__": # 最大运行出错次数 fail_num = while : while fail_num > : try: # 修改步数结果 result = LexinSport(乐心健康账号, 乐心健康密码, 修改步数).change_step() print(result) break except Exception as e: print(运行出错,原因:%s % e) fail_num -= if fail_num == : print(修改步数失败) # 重置运行出错次数 fail_num = # 获取睡眠时间 sleep_time = get_sleep_time() time.sleep(sleep_time)