Pular para o conteúdo principal

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:

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 reconhecimento
  • preset - indica o preset para o Util::AntiGateUtil::AntiGate
  • type especifica um dos seguintes: 'jpeg', 'gif', 'png'

O resultado será um hash com os campos:

  • answer - texto da imagem
  • id - id do captcha, para possibilitar o relato de erro posteriormente através de .reportBad
  • error - 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