同花顺滑块

目标网站 aHR0cHM6Ly91cGFzcy4xMGpxa2EuY29tLmNuL2xvZ2lu

在这里插入图片描述

import json
import time

import urllib3
import requests
import ddddocr
from loguru import logger

urllib3.disable_warnings()


def slide():
    session = requests.Session()
    session.verify = False
    session.headers = {
        "Accept": "*/*",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Cache-Control": "no-cache",
        "Connection": "keep-alive",
        "Pragma": "no-cache",
        "Referer": "https://upass.10jqka.com.cn/",
        "Sec-Fetch-Dest": "script",
        "Sec-Fetch-Mode": "no-cors",
        "Sec-Fetch-Site": "same-site",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36",
        "sec-ch-ua": "\"Google Chrome\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\""
    }
    params = {
        "captcha_type": "4",
        "appid": "registernew",
        "random": "396686007781.39954",
        "callback": "PreHandle"
    }
    response = session.get(url="https://captcha.10jqka.com.cn/getPreHandle", params=params).text
    json_data = json.loads(response[10:-1])['data']
    logger.debug(f'data:{json_data}')
    inity = json_data['inity']
    imgs = json_data['imgs']
    sign = json_data['sign']
    urlParams = json_data['urlParams']
    bg_url = 'https://captcha.10jqka.com.cn/getImg?' + urlParams + '&iuk=' + imgs[0]
    bg_bytes = requests.get(url=bg_url).content
    # 背景
    with open("bg.jpg", 'wb') as f:
        f.write(bg_bytes)
    slide_url = 'https://captcha.10jqka.com.cn/getImg?' + urlParams + '&iuk=' + imgs[1]
    slide_bytes = requests.get(url=slide_url).content
    # 滑块
    with open("slide.jpg", 'wb') as f:
        f.write(slide_bytes)
    ocr = ddddocr.DdddOcr(show_ad=False)
    print(slide_bytes,)
    print(bg_bytes)
    time.sleep(2)
    dis = ocr.slide_match(slide_bytes, bg_bytes)
    logger.debug(f'dis:{dis}')
    x = str(int(int(dis['target'][0]) / 340 * 309))
    inity = str(int(inity) / 340 * 309)
    verify_url = "https://captcha.10jqka.com.cn/getTicket" + "?" + urlParams + "&phrase=" + (
        x) + ";" + inity + ";" + '309' + ";" + '177.22058823529412&callback=verify'
    logger.debug(f'verify_url:{verify_url}')
    response = session.get(url=verify_url).text
    logger.debug(response)


if __name__ == '__main__':
    slide()

参考:https://blog.csdn.net/qq_44657571/article/details/134135209

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值