Menu

Cómo evitar cualquier captcha con tareas AntiGate

Hay disponible una nueva versión en vídeo del tutorial de tareas AntiGate aquí.

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.
Teniendo estos tres, usted crea una tarea con nuestra API. Un trabajador navega a su sitio web con nuestro plugin de navegador especial y ejecuta todos los pasos del escenario de forma manual o automática. Y al final del script, cogemos toda la información de su sesión de navegador como cookies, valores de localStorage, huella digital del navegador y la transmitimos de vuelta a tu aplicación. Todo lo que queda es para que usted utilice estos datos para restaurar nuestra sesión de trabajador y continuar las operaciones como si se tratara de un usuario humano. ¿No es increíble? :)

¿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 la plantilla. Una vez guardada, no se puede modificar. Una vez publicada, la plantilla estará disponible en la API con este nombre.
  • Descripción para clientes. Las plantillas públicas están disponibles en nuestro catálogo de plantillas.
  • Descripción para los trabajadores. Este es el texto que nuestros trabajadores ven en la parte superior de la página.
    Ejemplo de interfaz de un trabajador
  • Variables. Esta es una lista de nombres de variables que puedes añadir para usar en los pasos en lugar de valores permanentes. En este ejemplo, tenemos 2 variables, "login" y "password". Estas 2 se utilizan en los pasos 1 y 2 para rellenar el formulario de registro de la demostración. De esta manera, puede proporcionar estos valores a través de la API en lugar de hardcoding un inicio de sesión permanente y la contraseña en la plantilla.
    Variables usadas en pasos 1 y 2
  • Pasos del trabajador. Aquí puede 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.
Ejemplo de interfaz de un trabajador
Luego, en tu tarjeta de plantilla, presiona el botón de "prueba".
Sigue las instrucciones y descarga el plugin para tu plataforma. A continuación, recarga la página para que surta efecto, rellena las variables "login" y "password" con algunos valores aleatorios y pulsa el botón "Launch Test". Se abrirá una nueva página con el siguiente aspecto:

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 -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 su software necesita hacer es navegar a "url" usando "cookies" en esta petición, y al menos usar el valor "fingerprint.self.navigator.userAgent" para el User-Agent del navegador. Los sitios web más complejos almacenan datos importantes en localStorage, que es una especie de versión moderna de las cookies. En este caso necesitarás inyectar estos datos en la página antes de ejecutar cualquier Javascripts. Esto puede hacerse en un entorno de desarrollo como Puppeteer. Este tema probablemente merezca otro articulo.

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) .