Menu

Cómo evitar cualquier captcha con tareas AntiGate

Hay disponible una nueva versión del video tutorial con las tareas AntiGate aquí.

Tras años de investigación y desarrollo, presentamos una solución universal para ayudar a sus 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, su 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 entran nuestras tareas de AntiGate. Usted asigna a uno de nuestros trabajadores para que cree una sesión de navegador realmente humana.
  • Primero, elija una plantilla. Puede usar una existente o crear una propia. Una plantilla es un conjunto de instrucciones paso a paso que ejecutan los trabajadores.
  • Segundo, suministre cualquier dato adicional que requiera la plantilla, como el valor de una entrada a llenar, el selector CSS de una entrada, o la dirección web a la que debemos entrar. Hablaremos un poco más sobre plantillas en un momento.
  • Tercero, y opcional, los proxies. Los necesita en caso de que un sitio web asocie cada cookie de sesión con una dirección IP exacta.
Con estos tres elementos, crea una tarea con nuestra API. Un trabajador navega a su sitio web con nuestro plugin especial de navegador y ejecuta de manera manual o automática todos los pasos del escenario. Y al final del script, agarramos toda la información de la sesión en el navegador como cookies, valores de localStorage, huella digital del navegador y la transmitimos de vuelta a su app. Solo resta que use estos datos para restablecer la sesión de nuestro trabajador y continúe las operaciones como si fuera un usuario humano. Asombroso, ¿no? :)

¿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 son completados, la tarea queda finalizada, y se toma una captura de pantalla de la sesión del trabajador para enviar de vuelta a su aplicación.

¿Cuáles son los pasos?
  • Llene un campo de texto manual o automáticamente.
  • Espere a que aparezca (o desaparezca) una muestra de texto en la página.
  • Espere a que un elemento DOM definido por el CSS aparezca (o desaparezca) en la página.
  • Espere 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 espere del trabajador. Por Ejemplo: "Resuelva un captcha y presione el botón de enviar".
Veamos un ejemplo. Navegue al Centro de desarrolladores y cree una plantilla gratis de prueba. No se preocupe, ¡no va a romper nada!
Haga clic para añadir la plantilla
Haga clic para cargar un ejemplo
Fíjese en la sección de pasos
Ha cargado un ejemplo de demostración. Puede guardarlo en su cuenta y probarlo en otro momento. Familiaricémonos con la lista completa de las propiedades de plantilla:
  • Nombre de la plantilla. Una vez guardada, no se puede modificar. Una vez que la publique, su plantilla estará disponible en la API por su 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 ven nuestros trabajadores en la parte superior de la página.
    Ejemplo de interfaz de un trabajador
  • Variables. Esta es la lista de los nombres de variable que puede añadir para usar en los pasos en lugar de los valores permanentes. En este ejemplo, tenemos dos variables, "login" y "password". Estas dos se usan en los pasos 1 y 2 para llenar el formulario de inicio de sesión de muestra. De esta manera, puede proporcionar estos valores a través de la API en vez de codificar un usuario y contraseña en el formulario.
    Variables usadas en los pasos 1 y 2
  • 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. Este está permanentemente configurado con el valor "Prueba aprobada con inicio de sesión".

Ahora puede guardar la plantilla, y aparecerá en su Centro de desarrollo. Fíjese que tiene el estado "Sandbox", lo que significa que sólo está disponible para usted y no para la API. Desde aquí, puede intentar probar la plantilla recién creada como si fuera uno de sus trabajadores.

Probar plantillas

En este punto, necesitará usar el navegador de Chrome, y le 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 su tarjeta de plantilla, presione el botón de "prueba".
Siga las instrucciones y descargue el plugin para su plataforma. A continuación, recargue la página para que surta efecto, llene las variables "login" y "password" con algunos valores aleatorios y pulse 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 de destino. Así es como los trabajadores reconocen sus asignaciones y controlan la ejecución de la tarea.

Además, tenga en cuenta que los campos de inicio de sesión y contraseña estarán ocultos cuando los llene 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 interesa revisar qué hay tras bastidores.
Al resolver el Recaptcha, presione 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 su 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 se puede recibir desde la API. Pero para que su plantilla quede disponible en la API, primero hay que publicarla.

Publicar plantillas

Tiene dos opciones al momento de publicar una plantilla: Hacerla privada o pública.
  • Las plantillas privadas sólo están disponibles con su 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 todos. Recibirá el 5% de los beneficios obtenidos por cada cliente con esta plantilla. Necesitará dejar alguna información de contacto para que nuestros clientes puedan consultar su ayuda si algo ocurre con su plantilla. Costo por revisión y publicación: $1.
Nosotros revisamos todas las plantillas con cuidado. Debe 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íe plantillas falsas o de prueba.
  • Envíenos una dirección web y valores de variables para la revisión. Lanzaremos una prueba, y todos los pasos se deberán completar con éxito.

Solicitudes de API

Una solicitud de creación de tarea de la API para las plantillas AntiGate anteriores sería tan simple 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

Es decir, usted pasa los parámetros de "templateName" y "variables" para llenar la plantilla.

Usar los resultados de tarea

Las tareas AntiGate completadas de manera correcta retornan una solución que incluye "cookies", "localStorage", "fingerprint" y "url". Lo que su software necesita hacer es navegar a la "url" usando las "cookies" de esta solicitud, y al menos usar el valor "fingerprint.self.navigator.userAgent" para el agente de usuario 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á inyectar estos datos en la página antes de ejecutar cualesquiera Javascripts. Esto se puede hacer en un entorno de desarrollo como Puppeteer. Este tema probablemente necesita otro articulo.

Crear sus plantillas

Simplemente siga los pasos mencionados sin cargar la plantilla de ejemplo. Llene toda la información adecuadamente y añada los pasos con cuidado. Tenga 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, puede guardar su plantilla y probarla con el plugin de navegador del trabajador.

Precios

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