Trabalhando com CAPTCHA
Para trabalhar e resolver captchas no A-Parser, foram implementados métodos especiais que permitem enviar o captcha para resolução em um serviço de resolução de captchas usando os scrapers:
Util::AntiGate - resolve captchas em formato de imagens com letras/números/palavras
Util::ReCaptcha2 - resolve Google ReCaptcha v2
Util::ReCaptcha3 - resolve Google ReCaptcha v3
Util::hCaptcha - resolve captchas hCaptcha
Util::Turnstile - resolve captchas Cloudflare Turnstile
Também é fácil resolver CAPTCHA usando o método await this.parser.request()
Por exemplo, a chamada deste método para o Google ReCaptcha v2 será a seguinte:
await this.parser.request('Util::ReCaptcha2', this.conf.Util_ReCaptcha2_preset, {}, siteKey + ' ' + endPoint);
Você pode encontrar mais detalhes no exemplo do catálogo Verificação da categoria de sites através do serviço cyren.com
Mais detalhes sobre CAPTCHA bypass (Contorno de captcha)
await this.captcha.*
Trabalhando com captcha
.recognize(preset, image, type[, overrides])
await this.captcha.recognize(preset, image, type, overrides) - carrega o captcha para reconhecimento
image- dados binários da imagem para reconhecimentopreset- indica o preset para o
Util::AntiGatetypeespecifica um dos seguintes: 'jpeg', 'gif', 'png'
O resultado será um hash com os campos:
answer- texto da imagemid- id do captcha, para possibilitar o relato de erro posteriormente através de.reportBaderror- erro de texto, se answer não for definido
.recognizeFromUrl(preset, url[, overrides])
await this.captcha.recognizeFromUrl(preset, url, overrides) - semelhante ao método anterior, mas o carregamento do captcha será realizado automaticamente pelo link (url), sem o uso de proxy
.reportBad(preset, id[, overrides])
await this.captcha.reportBad(preset, id, overrides) - informa ao serviço que o captcha foi resolvido incorretamente
Links úteis
🔗 ⏩ Criação de JS scrapers. Trabalhando com CAPTCHA
Vídeo sobre como escrever um JS scraper com suporte a antigate para resolver captchas em páginas
🔗 Criação de JS scrapers. Trabalhando com CAPTCHA
Artigo sobre como escrever um JS scraper com suporte a antigate para resolver captchas em páginas
🔗 Verificação de categoria de sites através do serviço cyren.com
Exemplo com implementação da conexão do Util::ReCaptcha2 em um JS scraper