selenium web-scraping selenium-chromedriver recaptcha recaptcha-v3

selenium recaptcha



¿Cómo sabe recaptcha 3 que estoy usando selenio/chromedriver? (2)

recaptar

Los sitios web pueden detectar fácilmente el tráfico de la red e identificar su programa como un BOT . Google ya ha lanzado 5 (cinco) reCAPTCHA para elegir al crear un nuevo sitio. Mientras que cuatro de ellos están activos y reCAPTCHA v1 está apagado.

Versiones y tipos reCAPTCHA

  • reCAPTCHA v3 (verifique las solicitudes con una puntuación): reCAPTCHA v3 le permite verificar si una interacción es legítima sin la interacción del usuario. Es una API de JavaScript pura que devuelve una puntuación, lo que le brinda la capacidad de actuar en el contexto de su sitio: por ejemplo, requiere factores adicionales de autenticación, envío de publicaciones a moderación o robots de regulación que pueden estar eliminando contenido.
  • reCAPTCHA v2 : casilla de verificación "No soy un robot" : la casilla de verificación "No soy un robot" requiere que el usuario haga clic en una casilla de verificación que indique que el usuario no es un robot. Esto pasará al usuario inmediatamente (sin CAPTCHA) o lo desafiará a validar si son humanos o no. Esta es la opción más sencilla de integrar y solo requiere dos líneas de HTML para representar la casilla de verificación.

  • reCAPTCHA v2 - Insignia invisible reCAPTCHA : La insignia invisible reCAPTCHA no requiere que el usuario haga clic en una casilla de verificación, sino que se invoca directamente cuando el usuario hace clic en un botón existente en su sitio o puede invocarse a través de una llamada de API de JavaScript. La integración requiere una devolución de llamada de JavaScript cuando se completa la verificación de reCAPTCHA. Por defecto, solo se le pedirá al tráfico más sospechoso que resuelva un captcha. Para modificar este comportamiento, edite la preferencia de seguridad de su sitio en la configuración avanzada.

  • reCAPTCHA v2 - Android : la biblioteca reCAPTCHA de Android es parte de las API de SafetyNet de los servicios de Google Play. Esta biblioteca proporciona API nativas de Android que puede integrar directamente en una aplicación. Debe configurar los servicios de Google Play en su aplicación y conectarse al GoogleApiClient antes de invocar la API reCAPTCHA. Esto pasará al usuario de inmediato (sin un mensaje de CAPTCHA) o lo desafiará a validar si son humanos.
  • reCAPTCHA v1 : reCAPTCHA v1 se ha cerrado desde marzo de 2018.

Solución

Sin embargo, hay algunos enfoques genéricos para evitar que se detecten mientras se realiza un rastreo web:

Outro

Un poco de alimento para el pensamiento:

Tengo curiosidad por cómo funciona Recaptcha v3. Específicamente la huella digital del navegador.

Cuando lanzo una instancia de chrome a través de selenium / chromedriver y pruebo contra ReCaptcha 3 ( https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php ) Siempre obtengo una puntuación de 0.1 cuando uso selenio / Chromedriver

Cuando uso incógnito con una instancia normal obtengo 0.3.

He superado a otros sistemas de detección inyectando JS y modificando el objeto del controlador web y recompilando el controlador de web desde la fuente y modificando las variables $ cdc_.

Puedo ver lo que parece un POST ofuscado de nuevo en el servidor, así que voy a empezar a cavar allí.

Solo quería comprobar si alguien estaba dispuesto a compartir algún consejo o experiencia con esto primero sobre lo que podría estar buscando para determinar si estoy ejecutando selenio / chromedriver.


Selenium y Puppeteer tienen algunas configuraciones de navegador que son diferentes de un navegador no automatizado. Además, dado que algunas funciones de JS se inyectan en el navegador para manipular los elementos, debe crear una anulación para evitar las detecciones.

Hay algunos buenos artículos que explican algunos puntos sobre la detección de Selenium y Puppeteer mientras se ejecuta en un sitio con mecanismos de detección:

Detectando Chrome sin cabeza, nuevas técnicas : puedes usarlo para escribir un código defensivo en tu bot

No es posible detectar y bloquear el cromo sin cabeza . Explica de forma clara y sólida las diferencias entre un código JS que puede detectar un navegador introducido por un software automatizado y uno real, y también cómo falsificarlo.

Github - headless-cat-n-mouse - Ejemplo usando puppeteer + python para evitar la detección