Как я могу очистить сайт, не будучи обнаруженным и обходя reCAPTCHA, используя селеновый веб-драйвер через Python?

Я знаю, что такое webscraping, и я взял данные с разных веб-сайтов, и я использую язык Python и Chrome селенового веб-драйвера. Но я называю веб-сайт открытой страницей, а затем нажимаю или перехожу на любую другую страницу, после чего веб-сайт ограничивает меня, и веб-сайт знает, что я использую автоматический хром.

2 ответа

Это может быть связано с тем, что веб-сайт использует reCAPTCHA v3, который "позволяет вам проверить, является ли взаимодействие законным без какого-либо взаимодействия с пользователем". Это означает, что они могут определить, если вы не человек, не попросив вас отметить знаменитое поле "Я не робот". Это поле используется в предыдущей версии reCAPTCHA, v2.

Подробнее о reCAPTCHA читайте здесь: https://developers.google.com/recaptcha/docs/versions

Я не думаю, что возможно обойти это с Selenium. И, как уже упоминалось, очистка веб-страниц часто является незаконной.

В наши дни веб-сайты довольно легко могут определить вашу программу как BOT. В настоящее время Google имеет 4(четыре) reCAPTCHA для выбора и использования при создании нового сайта.

  • reCAPTCHA v3
  • reCAPTCHA v2 (флажок "Я не робот")
  • reCAPTCHA v2 (невидимый значок reCAPTCHA)
  • reCAPTCHA v2 (Android)

Решение

Однако есть несколько общих подходов, чтобы избежать обнаружения при просмотре веб-страниц:

  • Первый и главный атрибут сайта, который может определить ваш скрипт / программа, - это размер вашего монитора. Поэтому рекомендуется не использовать обычный видовой экран.
  • Если вам нужно отправить несколько запросов на веб-сайт, продолжайте менять агента пользователя при каждом запросе. Здесь вы можете найти подробное обсуждение о том, как изменить пользовательский агент Google Chrome в Selenium?
  • Для имитации поведения, подобного человеческому, вам может потребоваться замедлить выполнение скрипта даже за пределами создания WebDriverWait и Ожидаемые условия. time.sleep(secs), Здесь вы можете найти подробную дискуссию о том, как перевести webdriver в python на миллисекунды.

Outro

Увидеть:

Другие вопросы по тегам