logo
languageESdown
menu

¿Cómo resolver CAPTCHA mientras se raspa la web?

8 min

Los CAPTCHAs son una de las técnicas anti-scraping más populares implementadas en los sitios web. reCAPTCHA v3 es un sistem integrado gratuito de CAPTCHA de Google para detectar tráfico de bots en sitios web. NuCAPTCHA, hCaptcha son algunos otros CAPTCHAs avanzados. Estos CAPTCHAs ayudan a los administradores a mantener la seguiridad de sus sitios web y obtener datos sobre los visitantes. Pero los CAPTCHAs a veces son rompecabezas, no solo para los usuarios sino para los web scrapers. Resolver CAPTCHA es uno de los principales desafíos que enfrentan los web scrapers en la extracción de contenido de sitios web. Encontrarás en este blog la resolución.

¿Qué es CAPTCHA? ¿Y qué es reCAPTCHA?

La Prueba de Turing pública y automática para diferenciar a las computadoras y los humanos (CAPTCHA) es una prueba basada en audio, visual o textual generada por algoritmos automatizados. Resolver CAPTCHA requiere tres habilidades en las que los humanos son superiores que las computadoras:

  • Reconocimiento invariante (identificación de diferentes formas, imágenes del mismo alfabeto, objeto)
  • Segmentación (identificación de alfabetos superpuestos) 
  • Análisis del contexto (comprensión integral de la imagen, el texto o el audio)

 

ReCAPTCHA es la herramienta de CAPTCHA más popular. Es de Google y se puede integrar fácilmente en un sitio web.

 

¿Cuáles son los ejemplos populares de CAPTCHA?

1. CAPTCHA Normal 

Este es el CAPTCHA más utilizado en el que una imagen distorsionada contiene texto pero es legible por humanos. Para resolver CAPTCHA normal, deberás ingresar el texto distorsionado en el cuadro de texto.

 

2. CAPTCHA de Texto

TextCaptcha no es tan popular, pero es ideal para usuarios con discapacidad visual. Esto no está basado en imágenes, es puramente texto. Un ejemplo de CURL (Client URL) de TextCaptcha:

TextCaptcha:

 

$ curl http://api.textcaptcha.com/myemail@example.com.json

{ “q”:”If tomorrow is Saturday, what day is today?”

  “a”:[“f6f7fec07f372b7bd5eb196bbca0f3f4”,

                       “dfc47c8ef18b4689b982979d05cf4cc6”] }

 

CAPTCHA: Si mañana es sábado, ¿qué día es hoy?

SOLUCIÓN: viernes.

 

3. Key CAPTCHA

KeyCAPTCHA es otro servicio de integración de CAPTCHA en el que se supone que deberás resolver un acertijo.

 

4. Click CAPTCHA

Los CAPTCHAs de imagen que se incluyen en los rompecabezas basados en clasificación son los Click CAPTCHAs. reCaptcha, ASIRRA, Snapchat’s Ghost Captcha son ejemplos populares de Click CAPTCHAs basados en clasificación.

 

5. Rotate CAPTCHA

Estos son rompecabezas CAPTCHA basados en la orientación de la imagen. En Rotate CAPTCHA, debes hacer clic una o varias veces para rotar una imagen de modo que cumpla con los términos de verificación. La condición de verificación más popular es colocar un objeto en la “posición correcta”. FunCaptcha es uno de los proveedores de integración “Rotate CAPTCHA”, pero a veces no funciona bien. RVerify.js es una biblioteca de JavaScript de código abierto para verificar la orientación de la imagen.

 

6. GeeTest CAPTCHA

Los GeeTest CAPTCHAs son interesantes, aquí tienes que mover una pieza del rompecabezas, a menudo arrastrando un control deslizante, o tienes que seleccionar ciertas imágenes en un orden particular.

 

7. hCaptcha

hCaptcha es muy similar a reCaptcha. La única diferencia es que cuando usamos hCaptcha, varias empresas pueden aprovechar el beneficio del etiquetado de datos que los USUARIOS hacen en los sitios web cuando hacen clic en cualquier sitio web. El uso de reCaptcha solo Google se beneficia del etiquetado de datos de colaboración colectiva.

 

8. Capy puzzle

 

Similar a keyCaptcha, Capy Puzzle es un servicio CAPTCHA basado en rompecabezas. CAPY.ME es un servicio para integrar rompecabezas de Capy en sitios web.

 

¿Cómo se integra reCAPTCHA en los sitios web?

Para resolver un CAPTCHA, es importante comprender la implementación de reCAPTCHA. La integración de reCAPTCHA implica los siguientes pasos:

1. Cargar de la API de JavaScript

<script src=”https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key“>

</script>

 

2. Llamar a una función para manejar la devolución de llamada y vincularla a un botón o una acción.

<button class=”g-recaptcha”

data-sitekey=”reCAPTCHA_site_key”

data-callback=’onSubmit’

data-action=’submit’>>Submit

</button>

 

Function:

<script>

function onSubmit(token) {

    document.getElementById(“demo-form”).submit();

  }

</script>

 

Ahora, si deseas detectar CAPTCHA, usa XPaths y detecta un reCAPTCHA buscando un elemento con texto de clase que contenga reCaptcha:

Xpath: //*[contains(“@class”,”recaptcha”)]

 

Si un elemento está presente, significa que hay un CAPTCHA en la página que debe resolverse. Puedes pausar tu raspador, resolver el captcha y reanudar el raspado nuevamente una vez resuelto.

 

Ahora veremos las maneras para resolver un CAPTCHA.

 

¿Cómo resolver un CAPTCHA mientras se raspa?

Ya sea que estés raspando usando una herramienta avanzada de raspado de pantalla sin código de “hacer clic y raspar”, o tu raspador escrito en Python, Java o Javascript, es posible resolver y omitir todo tipo de CAPTCHA. Aunque ningún servicio / solución garantiza una tasa de resolución de CAPTCHA del 100%, podemos obtener una eficiencia de hasta el 90% utilizando herramientas. Generalmente, hay dos enfoques populares para resolver CAPTCHAs y a continuación referenciaré las herramientas más populares para resolver CAPTCHAs.

 

  • Resolver CAPTCHA automáticamente con herramientas

Los CAPTCHAs están diseñados para ser resueltos por humanos. Hay empresas que emplean a miles de humanos para resolver estos CAPTCHA en tiempo real, a un precio muy económico. La eficiencia es bastante alta, pero la latencia de red es un problema con este enfoque.

 

Entonces, ¿cómo deberías usar un servicio de resolución de CAPTCHA mientras se raspa?

Hay varios proveedores de servicios de resolución de CAPTCHA en el mercado, algunos de los cuales son tradicionales pero notables:

  • DeathByCaptcha
  • AZCaptcha
  • ImageTyperZ
  • EndCaptcha
  • BypassCaptcha
  • CaptchaTronix
  • AntiCaptcha
  • 2captcha
  • CaptchaSniper

 

Todos estos proveedores de servicios tendrían un proceso similar:

  1. Registrarse en su sitio web, obtener un token y las credenciales publicadas pagando el monto, o tal vez de forma gratuita si hay una versión de prueba disponible.
  2. Implementar su API / complemento usando un lenguaje de codificación, es decir, Python, PHP, Java, JS, etc.
  3. Envíar tus CAPTCHAs a sus API
  4. Recibir los CAPTCHAs resueltos en la respuesta de la API

Además de las herramientas tradicionales para resolver CAPTCHA, web scrapers como Octoparse añaden funciones relacionadas con CAPTCHA. En Octoparse puedes configurar una tarea para raspar los datos y resolver automáticamente CAPTCHAs en el proceso. Lo único que tienes que hacer es hacer clic para ayudar a la herramienta de resolución de CAPTCHA a reconocer el tipo de la CAPTCHA de tu sitio web de destino. Todo el proceso no requiere habilidades de codificación.

¿Cómo Omite reCAPTCHA en Octoparse?

Como mencionamos anteriormente, puedes raspar la web usando las soluciones sin código y con solo clics. Octoparse es una solución de raspado web sin código líder en la industria disponible en el mercado. Es gratis descargar y raspar la web. Para un scraping escalable a gran velocidad, también ofrece planes  asequible. Si eres nuevo en Octoparse, puedes encontrar excelentes recursos aquí. Si estás familiarizado con Octoparse, así es como puedes resolver CAPTCHA en Octoparse:

 

1. Raspado en el local

Para ayudar a mejorar la eficiencia del scraping, Octoprase puede manejar los tres tipos de CAPTCHAs automáticamente: hCaptcha, ReCaptcha V2, e ImageCaptcha. HCaptcha y ReCaptcha V2 pueden ser resueltos de manera similar, mientras que es más complicado configurar una resolución para tratar con ImageCaptcha. Los pasos detallados puedes seguir según el tutorial de Octoparse Cómo resolver CAPTCHA.

 

2. Raspado en las nubes

Para proyectos grandes, el equipo de Octoparse ofrece servicios de personalización de plantillas de JavaScript para solucionar el problema de CAPTCHA / reCAPTCHA​.

 

  • Resolver CAPTCHA mediante OCRs (reconocimiento óptico de caracteres)

Este es un enfoque programático para resolver CAPTCHAs. OCR significa reconocimiento óptico de caracteres o lector óptico de caracteres. OCR es un enfoque electrónico o mecánico para convertir texto mecanografiado, escrito a mano o impreso en texto codificado por máquina. Puedes alimentar un documento escaneado, una imagen o una escena (ejemplo: Billboards) a los OCRs. Existen herramientas de código abierto como TESSERACTGOCROCRAD, etc., para que puedas comenzar, por lo que no es necesario que comiences desde cero. Los OCRs tienen la capacidad de resolver con éxito diferentes tipos de CAPTCHAs basados en imágenes.

 

  • Resolver CAPTCHA con humanos

Si estás raspando un sitio que solo verifica a los usuarios reales que usan reCAPTCHA de vez en cuando, es posible que desees omitir reCAPTCHA por tu cuenta manualmente. En tales casos, puedes configurar tu flujo de trabajo de raspado para:

  • Detectar un reCAPTCHA, y mientras resuelves el CAPTCHA
    • pausar el raspado durante un tiempo específico, permanecer 7-8 segundos
    • esperar a que un elemento de la página sea visible
    • esperar tu entrada hasta que comience a raspar de nuevo
  • Resolver CAPTCHA y comenzar a raspar como de costumbre.

 

  

Tips para evitar que los CAPTCHA salgan e interrumpan tu scraping

1. Utilizar proxies de IP rotativos, rotar los agentes de usuario y borrar sus cookies. Octoparse te proporciona opciones para configurarlos. Normalmente, el sitio web activa un servicio de detección anti-raspado integrado cuando la misma IP comienza a llegar a los servidores de forma agresiva. Si usas miles de proxies y los rotas, puedes escapar enfrentando CAPTCHAs.

2. Obedecer el archivo Robots.txt. Este archivo contiene las reglas sobre las preferencias del sitio web. Por ejemplo, las reglas establecen si el sitio web te permite eliminarlo o no. Si es así, qué URL no quieres que raspe, etcétera.

3. Usar navegadores sin cabeza si estás escribiendo tu raspador web, herramientas como Octoparse se encargan automáticamente de esto, ya que son navegadores inteligentes.

4. Intentar usar encabezados y referencias en tus solicitudes al servidor si no estás usando un navegador a gran escala.

5. Para raspar los inicios de sesión detrás de los datos, guarda las cookies. Así es como se hace en Octoparse.

6. Tener cuidado con las trampas de honeypot invisibles en los sitios web. Estos son los elementos o enlaces que no son visibles, por lo que si has escrito un rastreador que raspa estos enlaces, el sitio web llega a saber que es un bot, ya que los humanos no pueden hacer clic en ese enlace con un navegador normal como Chrome o Firefox.

7. Mantener retrasos aleatorios entre solicitudes consecutivas. Especialmente, cuando visitas el sitio web con las mismas direcciones IP repetidamente.

8. Utilizar los servicios de resolución de CAPTCHA.

 

Conclusión

Explorar la web para extraer datos es muy importante para que las empresas obtengan conocimientos y tomen decisiones comerciales críticas basadas en datos. Los datos web también son importantes para entrenar algoritmos de aprendizaje automático. En este artículo, descubrimos diferentes tipos de CAPTCHA, diferentes enfoques para resolver reCAPTCHA, prevenir CAPTCHA y también hablamos sobre cómo resolver CAPTCHA en Octoparse. Para recordarte nuevamente, para proyectos grandes proporcionamos personalización de plantillas de Javascript para integrar los mejores servicios de resolución de CAPTCHA en Octoparse. Puedes ponerte en contacto con nuestro equipo para cualquier requisito de raspado. ¡Feliz raspado sin CAPTCHA!

 

  

Posts populares

Explorar temas

Empiece a utilizar Octoparse enseguida

Descargar

Artículos relacionados