Trabajo con CAPTCHA
Para trabajar y resolver captchas en A-Parser, se han implementado métodos especiales que permiten enviar el captcha para su resolución a un servicio de resolución de captchas utilizando extractores:
Util::AntiGate - resuelve captchas en forma de imágenes con letras/números/palabras
Util::ReCaptcha2 - resuelve Google ReCaptcha v2
Util::ReCaptcha3 - resuelve Google ReCaptcha v3
Util::hCaptcha - resuelve captchas hCaptcha
Util::Turnstile - resuelve captchas Cloudflare Turnstile
También es fácil resolver CAPTCHA utilizando el método await this.parser.request()
Por ejemplo, la llamada a este método para Google ReCaptcha v2 se vería de la siguiente manera:
await this.parser.request('Util::ReCaptcha2', this.conf.Util_ReCaptcha2_preset, {}, siteKey + ' ' + endPoint);
Puede encontrar más detalles en el ejemplo del catálogo Comprobación de la categoría de sitios a través del servicio cyren.com
Detalles sobre CAPTCHA bypass (Evasión de captcha)
await this.captcha.*
Trabajo con captcha
.recognize(preset, image, type[, overrides])
await this.captcha.recognize(preset, image, type, overrides) - carga del captcha para el reconocimiento
image- datos binarios de la imagen para el reconocimientopreset- indica el ajuste preestablecido para
Util::AntiGatetypese especifica uno de: 'jpeg', 'gif', 'png'
El resultado será un hash con los campos:
answer- texto de la imagenid- id del captcha, para poder informar posteriormente de un error a través de.reportBaderror- error de texto, si answer no está definido
.recognizeFromUrl(preset, url[, overrides])
await this.captcha.recognizeFromUrl(preset, url, overrides) - similar al método anterior, pero la carga del captcha se realizará automáticamente mediante el enlace (url), sin utilizar proxy
.reportBad(preset, id[, overrides])
await this.captcha.reportBad(preset, id, overrides) - informar al servicio que el captcha se ha resuelto incorrectamente
Enlaces útiles
🔗 ⏩ Creación de extractores JS. Trabajo con CAPTCHA
Video sobre cómo escribir un extractor JS que incluya soporte de antigate para resolver captchas en las páginas
🔗 Creación de extractores JS. Trabajo con CAPTCHA
Artículo sobre cómo escribir un extractor JS que incluya soporte de antigate para resolver captchas en las páginas
🔗 Comprobación de la categoría de sitios a través del servicio cyren.com
Ejemplo con la implementación de la conexión de Util::ReCaptcha2 en un extractor JS