Inicio Documentación Tutoriales Registrarse
Menú de Documentación

Cómo evitar cualquier captcha con tareas AntiGate

Tras años de investigación y desarrollo, presentamos una solución universal para ayudar a tus robots a pasar portales de captcha hechos por humanos. Lo llamamos "AntiGate", y estas son las plantillas de escenario que nuestra mano de obra humana usa para realizar tareas específicas.

En cierto punto, tu aplicación encuentra una protección automatizada "gateway" con un nuevo tipo de captcha, scripts de navegador confusos, o lo que sea. Aquí es donde nuestras tareas de AntiGate entran. Tú asignas a uno de nuestros trabajadores a construir una sesión de navegador realmente humana.

  • Primero, elige una plantilla. Puedes usar una existente o crear la tuya propia. Una plantilla es un conjunto de instrucciones paso-a-paso que ejecutan los trabajadores.
  • Segundo, ofrece cualquier dato adicional que requiera la plantilla, como el valor de una entrada por rellenar, el selector CSS de una entrada, o la dirección web a la que debamos entrar. Hablaremos un poco más sobre plantillas en un momento.
  • Tercero, y opcional - proxies. Los necesitas en caso de que un sitio web asocie cada cookie de sesión con una dirección IP exacta.
Tomando estos 3, creas una tarea con nuestra API. Un trabajador navega en tu sitio web con nuestro plugin especial de navegador y ejecuta todos los pasos de escenario manual o automáticamente. Y al final del script, tomamos toda la información de la sesión del navegador como cookies, valores del localStorage y respuesta del navegador, y las transmitimos de vuelta a tu aplicación. Todo lo que quedaría por hacer es que uses estos datos para restaurar nuestra sesión de trabajador y continuar las operaciones como si fuera un usuario humano. ¿No es fantástico? :)

¿Qué son las plantillas AntiGate?

Una plantilla AntiGate define un escenario exacto por el que deben pasar nuestros trabajadores. Las plantillas consisten en pasos, los cuales son ejecutados secuencialmente. Cuando se completa un paso, el trabajador pasa al siguiente. Cuando todos están completados, la tarea queda finalizada, y se toma una captura de pantalla de la sesión del trabajador para enviar de vuelta a tu aplicación.

¿Cuáles son los pasos?

  • Rellena un campo de texto manual o automáticamente.
  • Espera a que aparezca (o desaparezca) una muestra de texto en la página.
  • Espera a que un elemento DOM definido por el CSS aparezca (o desaparezca) en la página.
  • Espera a que una palabra clave aparezca (o desaparezca) en la dirección URL actual del navegador del trabajador.
El campo de texto "descripción para trabajadores" de la plantilla puede describir cualquier otro paso que esperas del trabajador. Por Ejemplo: "Resuelve un captcha y presiona el botón de enviar".

Veamos un ejemplo. Entra al Centro de Desarrolladores y crea una plantilla para probar gratis. No te preocupes, ¡no romperás nada!

Haz click para añadir la plantilla
Haz click para cargar un ejemplo
Fíjate en la sección de pasos

Haz cargado un ejemplo de demostración. Puedes guardarlo en tu cuenta y probarlo tú mismo en otro momento. Tomemos en cuenta la lista completa de propiedades de plantillas:

  • Nombre de Plantilla. Una vez guardada la plantilla, esto no podrá ser modificado. Una vez que lo publicas, tu plantilla quedará disponible en la API con ese nombre.
  • Descripción para clientes. Las plantillas públicas están disponibles en nuestro catálogo de plantillas.
  • Descripción para trabajadores. Esta es la guía que nuestros trabajadores ven al inicio de la página.
    Ejemplo de interfaz de un trabajador
  • Variables. esta es la lista de nombres de variables que puedes añadir para usar en los pasos en lugar de valores permanentes. En este ejemplo, tenemos dos variables, "usuario" y "contraseña". Estos 2 son usados en los pasos 1 y 2 para llenar el formulario demostrativo de inicio de sesión. De esta forma, puedes presentar estos valores a través de la API en lugar de modificar un usuario y una contraseña permanente en la plantilla.
    Variables usadas en pasos 1 y 2
  • Pasos de los trabajadores. Aquí puedes editar y cambiar el orden de los pasos del escenario. En nuestro ejemplo, hacemos lo siguiente:
    1. Llenamos automáticamente el campo de texto con el selector CSS "#login" . El valor del campo está definido por la variable "usuario".
    2. Llenamos automáticamente el campo de texto con el selector CSS "#password". El valor del campo está definido por la variable "contraseña".
    3. Esperamos a que aparezca un texto de control en la página. Éste está permanentemente configurado con el valor "Prueba pasada con inicio de sesión".

Ahora puedes guardar la plantilla, y aparecerá en tu Centro de Desarrollo. Fíjate que tiene el estado "Sandbox", lo que significa que sólo está disponible para ti y no para la API. Desde aquí, puedes intentar probar tu plantilla recién creada como si fueras tu propio trabajador.

Probando plantillas

En este punto, necesitarás usar el navegador de Chrome, y te recomendamos crear un nuevo perfil de usuario ya que necesitaremos instalar nuestro plugin, el cual tiene acceso a los cookies del perfil.

Luego, en tu tarjeta de plantilla, presiona el botón de "prueba".

Sigue las instrucciones y descarga el plugin para tu plataforma. Luego, actualiza la página para que surta efecto, rellena las variables de "usuario" y "contraseña" con algunos valores aleatorios y presiona el botón "Iniciar Prueba". Debería abrirse una nueva página y tiene que verse así:

En la barra de direcciones, hay una barra azul que el plugin agrega en la parte superior de la página objetivo. Así es como los trabajadores reconocen sus encargos y controlan la ejecución de la tarea.

Además, ten en cuenta de que los campos de inicio de sesión y contraseña estarán ocultos cuando los rellenas con variables. Esto es intencional. Aunque los trabajadores tienen acceso total a los datos de la tarea mediante la consola del desarrollador, al 99.99% no les importa revisar qué hay detrás de escena.

Al resolver el Recaptcha, presiona el botón de "Iniciar Sesión". El último paso de la plantilla, "WAIT_CONTROL_TEXT_PRESENT", será enviado. El plugin busca la frase de control "Prueba pasada con inicio de sesión", la cual queda definida permanentemente en tu plantilla. La barra se cierra automáticamente y se mostrará la captura de imagen de la sesión en el campo de resultados.

Ejemplo de resultados

La misma imagen puede recibirse desde la API. Pero para que tu plantilla quede disponible en la API, primero hay que publicarla.

Publicando plantillas

Tienes 2 opciones al momento de publicar una plantilla: Hacerla privada o pública.

  • Las plantillas privadas sólo están disponibles con tu clave API. No pueden ser usadas por otros clientes. Costo por revisión y publicación: $1.
  • Las plantillas públicas están disponibles para todo el mundo. Recibirás el 5% de los beneficios obtenidos por cada cliente con esta plantilla. Necesitarás dejar alguna información de contacto para que nuestros clientes puedan consultar tu ayuda si algo ocurre con tu plantilla. Costo por revisión y publicación: $1.

Nosotros revisamos todas las plantillas con cuidado. Necesitas seguir algunos requerimientos básicos para cambiar a modo de producción sin problemas:

  • Se prohíben las actividades ilegales.
  • Las plantillas no deben duplicar plantillas existentes.
  • No envíes plantillas falsas o de prueba.
  • Envíanos una dirección web y valores de variables para la revisión. Nosotros lanzaremos una prueba, y todos los pasos deberán completarse con éxito.

Solicitudes de API

Una solicitud de creación de tarea de la API para las plantillas AntiGate se podrían ver tan simples como esto:

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"AntiGateTask",
            "websiteURL":"https://anti-captcha.com/demo/?page=recaptcha_v2_textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask
        

Eso es, si pasas los parámetros de "templateName" y "variables" para llenar en la plantilla.

Usando resultados de tarea

Las tareas de AntiGate resueltas con éxito retornan una solución que incluye "cookies", "localStorage", "fingerprint" y "url". Lo que tu software necesita es navegar a la "url" usando "cookies" en esta solicitud, y al menos usar el valor "fingerprint.self.navigator.userAgent" para el Usuario-Agente del navegador. Sitios más complejos guardan datos importantes en el localStorage, el cual es una versión moderna de cookies. En dicho caso, necesitarás ingresar estos datos en la página antes de iniciar cualquier Javascripts. Esto se puede hacer en un ambiente de desarrollo como Puppeteer. Tal vez este tema necesite otro artículo.

Creando tus propias plantillas

Sólo sigue los pasos mencionados sin cargar la plantilla de ejemplo. Llena toda la información adecuadamente y añade los pasos con cuidado. Ten en cuenta que todos los pasos se ejecutan de forma secuencial. El plugin no permitirá la ejecución del siguiente paso hasta que se haya cumplido el actual. En cualquier momento, puedes guardar tu plantilla y probarla con el plugin de navegador de trabajador.

Colocando precio

En este momento, fijamos el precio a $2 por cada 1000 tareas. También, cada segundo de la ejecución de la tarea cuesta 1/60 parte del precio de la tarea. Por ejemplo, la tarea cuesta 0.002, y el trabajador pasa 20 segundos resolviéndola.
El costo final sería $0.00266 = 0.002 + (0.002 / 60 * 20) .

Para terminar

Al momento de escribir este artículo, en Diciembre del 2021, esta función seguirá en fase "beta". Siéntete libre de publicar comentarios y sugerencias respecto a las tareas de AntiGate con cupones de soporte técnico.