侧边栏壁纸

凤凰网注册教程

2024年05月25日 2.3k阅读 9评论 6点赞

序言

随着数字化与互联网的日益发展,许多业务已经在线上开展。为了满足日益增长的用户需求,我们需要进行大量的用户注册操作。这时候,批量注册就显得格外重要。通过批量注册,我们可以在短时期内获取大量的用户信息,方便我们进行后续的数据分析、用户研究等工作。

教程视频

注册模板

这边我们以凤凰网(https://user.ifeng.com/register/)为例,进行讲解。

在进行爬虫编写之前我们需要安装两个库

 pip install fake_useragent
 pip install requests 

接码用户登录函数

def 接码用户登录(username, password):
    '''

    :param username: 用户名
    :param password: 密码
    :return: token , 接码是否登录成功
    '''
    response = requests.get(f"http://api.sqhyw.net:90/api/logins?username={username}&password={password}",
                            headers={"User-Agent": User_Agent})
    result = response.json()
    # print(result['token'])
    token = result['token']

    response = requests.get("http://api.sqhyw.net:90/api/get_myinfo?token=" + result['token'])
    # print(response.text)
    result = json.loads(response.text)
    print("用户接码余额为:" + result['data'][0]['money'] + "元")
    if token != "":
        jiemaisok = True
    else:
        jiemaisok = False
        token = ""
    return (token, jiemaisok)

打码用户登录模块

def 打码用户登录(username, password):
    '''

    :param username:
    :param password:
    :return: 打码是否成功
    '''
    response = requests.get(f"http://api.ttshitu.com/queryAccountInfo.json?username={username}&password={password}")
    result = response.json()
    # print(result['token'])
    success = result['success']
    if success:
        print("登录信息为:" + result['message'])
        print("用户打码余额为:" + result['data']['balance'] + "元")
        damaisok = True
    else:
        print("登录信息为:" + result['message'])
        damaisok = False

    return damaisok

图鉴识别函数

一、图片文字类型(默认 3 数英混合):
1 : 纯数字
1001:纯数字2
2 : 纯英文
1002:纯英文2
3 : 数英混合
1003:数英混合2
 4 : 闪动GIF
7 : 无感学习(独家)
11 : 计算题
1005:  快速计算题
16 : 汉字
32 : 通用文字识别(证件、单据)
66:  问答题
49 :recaptcha图片识别
二、图片旋转角度类型:
29 :  旋转类型

三、图片坐标点选类型:
19 :  1个坐标
20 :  3个坐标
21 :  3 ~ 5个坐标
22 :  5 ~ 8个坐标
27 :  1 ~ 4个坐标
48 : 轨迹类型

四、缺口识别
18 : 缺口识别(需要2张图 一张目标图一张缺口图)
33 : 单缺口识别(返回X轴坐标 只需要1张图)
五、拼图识别
53:拼图识别
def 图鉴识别(uname, pwd, img, typeid):
    with open(img, 'rb') as f:
        base64_data = base64.b64encode(f.read())
        b64 = base64_data.decode()
    data = {"username": uname, "password": pwd, "typeid": typeid, "image": b64}
    result = json.loads(requests.post("http://api.ttshitu.com/predict", json=data).text)
    if result['success']:
        return result["data"]["result"]
    else:
        #!!!!!!!注意:返回 人工不足等 错误情况 请加逻辑处理防止脚本卡死 继续重新 识别
        return result["message"]
    return ""
    

获取手机号函数

def 取号(token, id):
    response = requests.get(
        "http://api.sqhyw.net:90/api/get_mobile?token=" + token + "&project_id=" + id + "&operator=4")
    print(response.text)
    result = json.loads(response.text)
    print("取到的手机号为:" + result['mobile'])
    return result['mobile']

获取短信函数

def 取短信(id, phone):
    global message
    i = 0
    while i < 30:
        i = i + 1
        print("正在第" + str(i) + "次取码")
        response = requests.get(
            "http://api.sqhyw.net:90/api/get_message?token=" + token + "&project_id=" + id + "&phone_num=" + phone)
        result = json.loads(response.text)
        print("取到的短信为:" + result['message'])
        # 【凤凰网】您在凤凰网的验证码是338543,5分钟内有效。如非本人操作,请忽略本条短信。
        rule = re.search('您在凤凰网的验证码是(\d+),5分钟内有效。', response.text)
        if rule:
            print("验证码:" + rule.group(1))
            message = rule.group(1)
            break
        else:
            print("未找到匹配验证码的内容。验证码未到达")
            message = ""
        time.sleep(3)
    return message

拉黑函数

def 拉黑(id, phone):
    response = requests.get(
        "http://api.sqhyw.net:90/api/add_blacklist?token=" + token + "&project_id=" + id + "&phone_num=" + phone)
    print(response.text)
    result = json.loads(response.text)
    print("拉黑返回:" + result['message'])

释放函数

def 释放(id, phone):
    response = requests.get(
        "http://api.sqhyw.net:90/api/free_mobile?token=" + token + "&project_id=" + id + "&phone_num=" + phone)
    print(response.text)
    result = json.loads(response.text)
    print("释放返回:" + result['message'])

代理函数

这边以快代理进行演示,官方教程Http隧道代码样例 - 文档中心 - 快代理 (kuaidaili.com)

def 获取代理对象():
    ip_url = 'https://dps.kdlapi.com/api/getdps/?secret_id=o838383&signature=383838383&num=1&pt=1&format=text&sep=1'
    proxy_ip = requests.get(ip_url, headers={
        'User-Agent': User_Agent,
    }).text

    print(f'当前代理ip',proxy_ip)

    username = " 用户名"
    password = "密码"
    proxies = {
        "http": "http://%(user)s:%(pwd)s@%(proxy)s/" % {"user": username, "pwd": password,
                                                        "proxy": proxy_ip},
        "https": "http://%(user)s:%(pwd)s@%(proxy)s/" % {"user": username, "pwd": password,
                                                         "proxy": proxy_ip}
    }
    return proxies

生成密码的函数

def 取密码():
    数字 = random.randint(1000, 9999)
    letters = string.ascii_letters  # 获取所有大小写字母
    字母 = ''.join(random.choice(letters) for i in range(5))  # 随机选择字母
    return str(数字) + 字母

凤凰网主体函数

凤凰网进行注册的时候需要发送两个接口

  1. 一个是发送短信的接口
  2. 一个是注册账号的接口

为此我们需要在浏览器中对接口进行分析,然后编写接口发送请求。

发送短信函数

注册账号函数


自此,我们的单线程软件注册教程就完成了,下面是网页的完整代码。

完整代码

6

—— 评论区 ——

昵称
邮箱
网址
取消
  1. 头像
    1
    Windows 10 x64 Edition   Microsoft Edge 127
    回复

    1

  2. 头像
    ax238207
    iOS 18.0   手机微信 8
    回复

    666

  3. 头像
    ly123voo
    Android 12   手机微信 8
    回复

    666

  4. 头像
    回复

    博主真是太厉害了!!!

  5. 头像
    回复

    不错不错,我喜欢看

  6. 头像
    ac666
    Windows 10 x64 Edition   Microsoft Edge 131
    回复

    666666

  7. 头像
    回复

    好好好

  8. 头像
    53456456
    Windows 10 x64 Edition   手机微信 7
    回复

    2

  9. 头像
    12113512341
    Windows 10 x64 Edition   Google Chrome 129
    回复

    666

最新评论