喜爱帮自动提现脚本

这是一个可以帮助您自动登录喜爱帮、查询余额并进行提现的脚本,支持多个账号。

使用方法

  1. 将代码保存为.py文件,例如 xiaibang.py
  2. 修改 XAB_list 列表中的账号信息,包括手机号码和密码
  3. 运行脚本,程序会自动执行登录、查询余额和提现操作

代码

# -*- coding:UTF-8 -*-

# author:sommuni
# contact: test@test.com
# datetime:2022/11/1 00:23
# software: PyCharm

'Author:KissKiss
new Env('喜爱帮提现')
cron:25 15 27 * *
    
'
import requests,time,json,re

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

]

def login():
    '登陆
    :return:
    '
    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)
    if response.status_code==200:
        USER_REMEMBER_ME = re.findall('USER_REMEMBER_ME=(.*?) expires',response.headers['set-cookie'])[0]
        NiuToken = re.findall('NiuToken=(.*?) expires',response.headers['set-cookie'])[0]
        ck = f'USER_REMEMBER_ME={USER_REMEMBER_ME}NiuToken={NiuToken}'
        return ck
    else:
        print(f'账号[{XAB['phone']}]登录失败,错误信息:{response.text}')
        return None

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 __name__ == '__main__':
    print(f'======[喜爱帮提现]=====
共{len(XAB_list)}个账号',flush=True)
    for XAB in XAB_list:
        ck = login()
        if ck is None:
            print(f'账号[{XAB['phone']}]登录失败,跳过执行下一个',flush=True)
            print('---------------------------',flush=True)
            continue
        get_user(ck)
        print('---------------------------',flush=True)

注意

  • 脚本中的账号信息需要自行修改
  • 本脚本仅供参考,使用前请确保您已了解相关风险
  • 请勿用于任何违法或不道德的行为

希望本脚本对您有所帮助!


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

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