извлечь reCaptcha с веб-страницы для внешнего завершения через cURL, а затем вернуть результаты на страницу просмотра - PullRequest
1 голос
/ 19 июня 2020
• 1000 Текущий сайт, который я очищаю с помощью curl, возвращает это HTML
<html>
   <head>
      <title>You have been blocked</title>
      <style>#cmsg{animation: A 1.5s;}@keyframes A{0%{opacity:0;}99%{opacity:0;}100%{opacity:1;}}</style>
   </head>
   <body style="margin:0">
      <p id="cmsg">Please enable JS and disable any ad blocker</p>
      <script>
            var dd={'cid':'AHrlqAAAAAMA1gZrYHNP4MIAAYhtzg==','hsh':'C0705ACD75EBF650A07FF8291D3528','t':'fe','host':'geo.captcha-delivery.com'}
      </script>
      <script src="https://ct.captcha-delivery.com/c.js"></script>
   </body>
</html>

Я использую это для очистки страницы:

<?php

function web_scrape($url)
{
    $ch = curl_init();
    $imei = "013977000272744";

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_COOKIE, '_ym_uid=1460051101134309035;  _ym_isad=1; cxx=80115415b122e7c81172a0c0ca1bde40; _ym_visorc_20293771=w');
    curl_setopt($ch, CURLOPT_POSTFIELDS, array(
        'imei' => $imei,
    ));

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $server_output = curl_exec($ch);
    return $server_output;

    curl_close($ch);

}
echo web_scrape($url);

?>

И повторить то, что я хочу сделать; Я хочу собрать Recaptcha с этой страницы, поэтому, когда я хочу просмотреть детали страницы на внешнем сайте, я могу заполнить Recaptcha на моем внешнем сайте, а затем очистить страницу, изначально рассчитанную. Любой ответ был бы замечательным!

1 Ответ

1 голос
/ 17 июля 2020

Видя, что сообщество по переполнению стека не удосужилось ответить на мой вопрос, мне пришлось go через несколько часов проб и ошибок и найти решение. Я решил, что, поскольку я действительно хочу принести пользу сообществу, я отвечу на свой вопрос:

Проблема заключалась в том, что на сайте, который я очищал, было обнаружение скребка, а не рекапчи, как я думал раньше. Итак, после некоторой работы с моим парсером мне удалось дать ему возможность обходить обнаружение сайтов. Я не буду беспокоиться о том, чтобы делиться кодом, видя, что ни у кого больше нет этой проблемы, но мне нужно было лучше представить мой парсер как настоящий браузер.

Если кто-то еще столкнется с такой проблемой, не стесняйтесь обращаться я и я поделимся некоторыми из моих кодов.

...