喜爱帮提现脚本

该脚本可以自动登录喜爱帮账号,查询余额,并进行提现操作,支持多账号管理。

使用说明

  1. 将账号信息填写在XAB_list列表中,每个账号信息包含phonepassword两个字段。
  2. 修改cron配置,设置脚本运行时间。
  3. 运行脚本。

代码示例

import requests, time, json, re

XAB_list = [
    {
        'phone': '13151146388',
        'password': 'lu123456',
    },
    {
        'phone': '13901453799',
        'password': 'lu123456',
    },
]


def login():
    '登陆'
    t = str(int(time.time()) * 1000)
    session = requests.session()
    url = f'https://m.xiaicn.com/cas/login?_random={t}'
    headers = {
        'Host': 'm.xiaicn.com',
        'x-requested-with': 'XMLHttpRequest',
        'user-agent': 'Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 HuoNiuFusion/1.16.0_212560',
        'content-type': 'application/x-www-form-urlencoded',
        'origin': 'https://m.xiaicn.com',
        'sec-fetch-site': 'same-origin',
        'sec-fetch-mode': 'cors',
        'sec-fetch-dest': 'empty',
        'referer': 'https://m.xiaicn.com/cas/login',
        'accept-encoding': 'gzip, deflate',
    }
    response = session.get(url=url).text
    csrf_token = re.findall('name="_csrf_token" value="(.*?)"/>', response)[0]
    data = f'_csrf_token={csrf_token}&_target_path=&_username={XAB['phone']}&_password={XAB['password']}'
    response = session.post(url, headers=headers, data=data).headers['set-cookie']
    USER_REMEMBER_ME = re.findall('USER_REMEMBER_ME=(.*?) expires', response)[0]
    NiuToken = re.findall('NiuToken=(.*?) expires', response)[0]
    ck = f'USER_REMEMBER_ME={USER_REMEMBER_ME}NiuToken={NiuToken}'
    return ck


def get_channelId(ck):
    url = f'https://m.xiaicn.com/user/withdraw'
    headers = {
        'Host': 'm.xiaicn.com',
        'x-requested-with': 'XMLHttpRequest',
        'user-agent': 'Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 HuoNiuFusion/1.16.0_212560',
        'content-type': 'application/x-www-form-urlencoded',
        'origin': 'https://m.xiaicn.com',
        'sec-fetch-site': 'same-origin',
        'sec-fetch-mode': 'cors',
        'sec-fetch-dest': 'empty',
        'referer': 'https://m.xiaicn.com/cas/login',
        'accept-encoding': 'gzip, deflate',
    }
    headers['cookie'] = ck
    response = requests.get(url, headers=headers).text
    channelId = \
    re.findall('a href="javascript:" class="cell cell-channel" action="sel-channel" data-id="(.*?)">', response)[0]
    return channelId


def get_user(ck):
    url = f'https://m.xiaicn.com/user/home'
    headers = {
        'Host': 'm.xiaicn.com',
        'x-requested-with': 'XMLHttpRequest',
        'user-agent': 'Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 HuoNiuFusion/1.16.0_212560',
        'content-type': 'application/x-www-form-urlencoded',
        'origin': 'https://m.xiaicn.com',
        'sec-fetch-site': 'same-origin',
        'sec-fetch-mode': 'cors',
        'sec-fetch-dest': 'empty',
        'referer': 'https://m.xiaicn.com/cas/login',
        'accept-encoding': 'gzip, deflate',
    }
    headers['cookie'] = ck
    response = requests.get(url, headers=headers)
    popUid = re.findall('popUid=(.*?) expires', response.headers['set-cookie'][0])
    nickname = re.findall('<div class="nickname">(.*?)</div>', response.text)[0]
    money = re.findall('<span class="val">(.*?)</span>', response.text)[0]
    print(f'用户[{nickname}]余额:{money}', flush=True)

    ck = f'{ck}popUid={popUid}'
    if int(float(money)) < 5:
        print('余额不足5元跳过提现', flush=True)
    else:
        channelId = get_channelId(ck)
        withdraw(ck, channelId)


def withdraw(ck, channelId):
    session = requests.session()
    url = f'https://m.xiaicn.com/user/withdraw/income?channelId={channelId}'
    headers = {
        'Host': 'm.xiaicn.com',
        'x-requested-with': 'XMLHttpRequest',
        'user-agent': 'Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 HuoNiuFusion/1.16.0_212560',
        'content-type': 'application/x-www-form-urlencoded',
        'origin': 'https://m.xiaicn.com',
        'sec-fetch-site': 'same-origin',
        'sec-fetch-mode': 'cors',
        'sec-fetch-dest': 'empty',
        'referer': 'https://m.xiaicn.com/cas/login',
        'accept-encoding': 'gzip, deflate',
    }
    headers['cookie'] = ck
    # print(headers)
    response = session.get(url, headers=headers).text
    # print(response)
    csrf_token = re.findall('name="csrfToken" value="(.*?)"/>', response)[0]
    """
    上面拿csrf_token
    """
    t = str(int(time.time()) * 1000)
    url = f'https://m.xiaicn.com/user/withdraw/income/submit?_random={t}'
    headers = {'Host': 'm.xiaicn.com', 'accept': 'application/json, image/webp', 'x-requested-with': 'XMLHttpRequest',
               'user-agent': 'Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 HuoNiuFusion/1.16.0_212560',
               'content-type': 'application/x-www-form-urlencoded', 'origin': 'https://m.xiaicn.com',
               'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty',
               'referer': f'https://m.xiaicn.com/user/withdraw/income?channelId={channelId}',
               'accept-encoding': 'gzip, deflate', 'accept-language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7'}
    headers['cookie'] = ck
    data = f'money=5.00&csrfToken={csrf_token}&channelId={channelId}'
    # print(data)
    response = session.post(url, headers=headers, data=data).json()
    print(f'提现结果:{response}')
    if response['code'] != 0:
        error_msg = response['msg']
        print(f'提现失败,错误信息:{error_msg}')
        print('跳过执行下一个', flush=True)


if __name__ == '__main__':
    print(f'======[喜爱帮提现]=====
共{len(XAB_list)}个账号', flush=True)
    for XAB in XAB_list:
        try:
            ck = login()
            get_user(ck)
        except:
            print('跳过执行下一个', flush=True)
            print('---------------------------', flush=True)
            continue
        print('---------------------------', flush=True)

注意事项

  • 脚本需要在Python环境下运行。
  • 请勿使用该脚本进行非法操作。
  • 脚本仅供参考,请根据自身需求进行修改。

联系方式

如有问题,请联系:test@test.com

喜爱帮提现脚本 - 自动化提现工具

原文地址: http://www.cveoy.top/t/topic/pb6J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录