Zum Hauptinhalt springen

Arbeit mit CAPTCHA

Für die Arbeit und das Lösen von Captchas in A-Parser sind spezielle Methoden implementiert, die es ermöglichen, Captchas zur Lösung an einen Captcha-Lösungsdienst unter Verwendung von Scrapern zu senden:

Ebenso einfach lassen sich CAPTCHAs mit der Methode await this.parser.request() lösen.

Beispielsweise sieht der Aufruf dieser Methode für Google ReCaptcha v2 wie folgt aus:

await this.parser.request('Util::ReCaptcha2', this.conf.Util_ReCaptcha2_preset, {}, siteKey + ' ' + endPoint);

Weitere Details finden Sie im Beispiel aus dem Katalog Überprüfung der Website-Kategorie über den Dienst cyren.com

Weitere Informationen zur CAPTCHA bypass (Captcha-Umgehung)

await this.captcha.*

Arbeit mit Captchas

.recognize(preset, image, type[, overrides])

await this.captcha.recognize(preset, image, type, overrides) - Hochladen eines Captchas zur Erkennung

  • image - Binärdaten des Bildes zur Erkennung
  • preset - gibt das Preset für Util::AntiGateUtil::AntiGate an
  • type gibt einen der folgenden Werte an: 'jpeg', 'gif', 'png'

Das Ergebnis ist ein Hash mit den Feldern:

  • answer - Text aus dem Bild
  • id - ID des Captchas, um später einen Fehler über .reportBad melden zu können
  • error - Textfehlermeldung, falls answer nicht definiert ist

.recognizeFromUrl(preset, url[, overrides])

await this.captcha.recognizeFromUrl(preset, url, overrides) - analog zur vorherigen Methode, jedoch wird das Laden des Captchas automatisch über den Link (url) ohne Verwendung eines Proxys durchgeführt

.reportBad(preset, id[, overrides])

await this.captcha.reportBad(preset, id, overrides) - dem Dienst melden, dass das Captcha falsch gelöst wurde