querylist采集数据 模拟滑动验证码 jcapche

 private function get_slide_distance($distance,$token){
                $cookieArr = $this->get_jar();
                $url_capt = "https://*****.cn/gsxt/PlatformSHZZFRKGSXT/slideCaptcha";
                $url_check = "https://******.cn/gsxt/PlatformSHZZFRKGSXT/slide_captcha_check";
                $url_check .= "?slideCaptchaToken=".$token."&slidecaptcha=".$distance;
 
;            $params1 = [
            'headers' => [
                'Accept' => 'application/json, text/plain, */*',
                'Accept-Encoding' => 'gzip, deflate, br',
                'Cookie' => $cookieArr[0]['Name'] . "=" . $cookieArr[0]['Value'] . "; " . $cookieArr[1]['Name'] . "=" . $cookieArr[1]['Value'],
                'Accept-Language' => 'zh-CN,zh;q=0.9,en;q=0.8',
                'Connection' => 'keep-alive',
                'Content-Length' => 0,
                'Host' => '******.gov.cn',
                'Origin' => 'https://******.cn',
                'Referer' => 'https://*******.cn/gsxt/newList', //不能去掉
                'Sec-Fetch-Dest' => 'empty',
                'Sec-Fetch-Mode' => 'cors',
                'Sec-Fetch-Site' => 'same-origin',
                'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
            ]
        ];
 
 
        try {
            $ql = QueryList::get($url_capt,['slideCaptchaToken'=>$token], $params1);
        } catch (ClientException  $e) {
            echo "<pre>";
            echo $e->getRequest();
            echo $e->getResponse();
            exit();
        }
    /*    echo "<pre>";
        print_r(json_decode($ql->getHtml()));
        exit();*/
 
        try {
            $ql = QueryList::get($url_check,['slideCaptchaToken'=>$token,'slidecaptcha'=>$distance], $params1);
        } catch (ClientException  $e) {
            echo "<pre>";
            echo $e->getRequest();
            echo $e->getResponse();
            exit();
        }
        $re = json_decode($ql->getHtml());
        if($re->code == 200 && $re->result == "success"){
            Cache::set('slidecaptcha'.$token,$distance);
            return $distance;
        }else{
 
        return
            $this->get_slide_distance($distance+2,$token);
        }
 
    }

querylist采集数据 模拟滑动验证码 jcapche
1.获取验证码token 
2.模拟传入验证码滑动距离 ,经过检测不低于140

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QueryList 是一个基于Python的Web数据采集框架,它提供了简单易用的API,可以方便地从网页中提取数据。该框架基于XPath和CSS选择器进行数据提取,并且支持多线程和分布式采集。 使用QueryList,你可以通过发送HTTP请求获取网页内容,并通过提供的选择器来提取所需的数据。它还内置了一些常用的数据处理方法,如去除HTML标签、字符串处理、日期格式化等。 QueryList的安装非常简单,你只需使用pip命令即可安装: ``` pip install querylist ``` 安装完成后,你可以在Python代码中导入QueryList并开始使用它来进行网页数据采集和处理。 以下是一个简单的示例代码,展示了如何使用QueryList框架进行数据采集: ```python from querylist import QueryList # 创建一个QueryList对象 ql = QueryList() # 发送HTTP请求并获取网页内容 ql.get('http://example.com') # 使用XPath选择器提取标题和链接 data = ql.xpath('//h3/a') # 遍历提取到的数据并打印 for item in data: print(item.text(), item.attr.href) ``` 以上代码中,我们首先创建了一个QueryList对象,然后使用get方法发送HTTP请求获取网页内容。接着使用xpath方法提取标题和链接的数据,并通过遍历打印出来。 QueryList还有很多其他功能和方法,比如支持POST请求、模拟登录、代理设置等。你可以查看官方文档以获得更详细的信息和示例代码。 注意:本AI助手回答的问题仅供参考,对于具体的代码实现和功能细节,请以官方文档或代码示例为准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值