zoukankan      html  css  js  c++  java
  • python修改微信和支付宝步数

    项目意义

    如果你想在支付宝蚂蚁森林收集很多能量种树,为环境绿化出一份力量,又或者是想每天称霸微信运动排行榜装逼,却不想出门走路,那么该python脚本可以帮你实现。

    实现方法

    手机安装第三方软件乐心健康,注册账号登录,将运动数据同步到微信和支付宝。用python脚本远程修改乐心健康当前登录账号的步数即可。

    第一步:在手机上安装乐心健康app。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201007143627760.png#pic_center
    安卓版下载地址:乐心健康安卓版
    苹果版下载地址:乐心健康iOS版

    第二步:注册账号登录,并设置登录密码。
    在这里插入图片描述
    第三步:完成第三方同步,将运动数据同步到微信和支付宝。在这里插入图片描述
    第四步:运行python脚本,修改乐心健康步数。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    python代码

    程序设定是每天7点自动修改步数,在下面脚本对应的位置替换填入乐心健康账号、乐心健康密码、修改步数,然后运行程序。修改步数推荐设置范围是30000至90000,步数值太大会导致修改不成功。如果想改变第二天自动修改步数的时间,请修改图示位置的25200,+25200代表第二天0点后加上的秒数,也就是7x60x60,即7小时,根据自己的需要修改即可。如果每天都要修改步数,那么让程序一直保持运行即可。
    注意:运行程序会立刻修改当天的步数,自动修改步数是从程序保持运行的第二天开始。
    在这里插入图片描述在这里插入图片描述
    change_step.py

    # -*- 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 = {'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=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 = {'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=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)
    
    

    下载地址

    百度网盘链接:修改乐心健康步数项目
    提取码: cprw

    本文首发于python黑洞网,博客园同步更新

  • 相关阅读:
    模板 无源汇上下界可行流 loj115
    ICPC2018JiaozuoE Resistors in Parallel 高精度 数论
    hdu 2255 奔小康赚大钱 最佳匹配 KM算法
    ICPC2018Beijing 现场赛D Frog and Portal 构造
    codeforce 1175E Minimal Segment Cover ST表 倍增思想
    ICPC2018Jiaozuo 现场赛H Can You Solve the Harder Problem? 后缀数组 树上差分 ST表 口胡题解
    luogu P1966 火柴排队 树状数组 逆序对 离散化
    luogu P1970 花匠 贪心
    luogu P1967 货车运输 最大生成树 倍增LCA
    luogu P1315 观光公交 贪心
  • 原文地址:https://www.cnblogs.com/pythonzhilian/p/13802361.html
Copyright © 2011-2022 走看看