python修改微信和支付寶步數

python修改微信和支付寶步數

  • 項目意義python

  • 實現方法web

  • python代碼json

  • 下載地址微信

項目意義

若是你想在支付寶螞蟻森林收集不少能量種樹,爲環境綠化出一份力量,又或者是想天天稱霸微信運動排行榜裝逼,卻不想出門走路,那麼該python腳本能夠幫你實現。session

實現方法

手機安裝第三方軟件樂心健康,註冊帳號登陸,將運動數據同步到微信和支付寶。用python腳本遠程修改樂心健康當前登陸帳號的步數便可。app

第一步:在手機上安裝樂心健康app。post

圖片


安卓版下載地址:樂心健康安卓版
蘋果版下載地址:樂心健康iOS版ui

第二步:註冊帳號登陸,並設置登陸密碼。url

圖片


第三步:完成第三方同步,將運動數據同步到微信和支付寶。spa

圖片


第四步:運行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)

  

相關文章
相關標籤/搜索