Это reCAPTCHA (версия 2, ознакомьтесь с демонстрациями здесь ), который показан вам как владелец страницы, который не хочет, чтобы вы автоматически сканировали страницу.
Ваши варианты следующие:
Вариант 1: прекратить сканирование или попытаться использовать официальный API
Поскольку владелец страницы не хочет, чтобы вы сканировали эту страницу, вы можете просто уважать это решение и прекратить сканирование. Возможно, есть документированный API, который вы можете использовать.
Вариант 2: Автоматизация / Аутсорсинг решения по проверке капчи
Существует целая индустрия, в которой люди (часто в развивающихся странах) заполняют капчи для ботов других людей. Я не буду ссылаться на какой-либо конкретный сайт, но вы можете проверить другой ответ от Md. Абу Тахер для получения дополнительной информации по теме или поиска Captcha Solver .
Вариант 3: Решите капчу самостоятельно
Для этого позвольте мне объяснить, как работает reCAPTCHA и что происходит, когда вы посещаете страницу, используя ее.
Как работает reCAPTCHA (v2)
У каждой страницы есть идентификатор, который вы можете проверить, посмотрев на исходный код, например:
<div class="g-recaptcha form-field" data-sitekey="ID_OF_THE_WEBSITE_LONG_RANDOM_STRING"></div>
Когда код reCAPTCHA загружен, он добавляет ответ textarea в форму без значения. Это будет выглядеть так:
<textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="... display: none;"></textarea>
После того как вы решили проблему, reCAPTCHA добавит очень длинную строку в это текстовое поле (которое затем может быть проверено службой server / reCAPTCHA в бэкэнде) при отправке формы.
Как самостоятельно решить капчу
Скопировав значение поля textarea
, вы можете перенести «решенную задачу» из одного браузера в другой (это также то, для чего вам нужны услуги решения). Полный процесс выглядит так:
- Определите, использует ли страница reCAPTCHA (например, проверьте для
.g-recaptcha
) в "сканирующем" браузере
- Откройте второй браузер в режиме без заголовка с тем же URL-адресом
- Решите капчу самостоятельно
- Считать значение из:
document.querySelector('#g-recaptcha-response').value
- Поместите это значение в первый браузер:
document.querySelector('#g-recaptcha-response').value = '...'
- Отправить форму
Дополнительная информация / чтение
От Google мало публичной информации о том, как именно работает reCAPTCHA, так как это игра в кошки-мышки между создателями ботов и алгоритмами обнаружения Google, но в Интернете есть некоторые ресурсы с дополнительной информацией:
- Официальные документы от Google : Очевидно, они просто объясняют основы, а не то, как это работает "в спину"
- InsideReCaptcha : Это проект 2014 года, который пытается "реинжинировать" reCAPTCHA. Хотя он довольно старый, на странице все еще много полезной информации.
- Еще один вопрос о стековом потоке : Этот вопрос содержит некоторую полезную информацию о reCAPTCHA, а также о многих спекулятивных (и весьма вероятных) устаревших подходах к тому, как обмануть reCAPTCHA.