Как я могу очистить сайт, не будучи обнаруженным и обходя 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
Увидеть: