Praca z CAPTCHA
Do pracy i rozwiązywania captcha w A-Parser zaimplementowano specjalne metody, które pozwalają wysyłać captcha do rozwiązania w serwisie rozwiązywania captcha przy użyciu scraperów:
Util::AntiGate - rozwiązuje captcha w formie obrazków z literami/cyframi/słowami
Util::ReCaptcha2 - rozwiązuje Google ReCaptcha v2
Util::ReCaptcha3 - rozwiązuje Google ReCaptcha v3
Util::hCaptcha - rozwiązuje captcha hCaptcha
Util::Turnstile - rozwiązuje captcha Cloudflare Turnstile
Również łatwo rozwiązywać CAPTCHA używając metody await this.parser.request()
Na przykład wywołanie tej metody dla Google ReCaptcha v2 będzie wyglądać następująco:
await this.parser.request('Util::ReCaptcha2', this.conf.Util_ReCaptcha2_preset, {}, siteKey + ' ' + endPoint);
Szczegóły można znaleźć w przykładzie z katalogu Sprawdzanie kategorii witryn za pomocą serwisu cyren.com
Więcej o CAPTCHA bypass (Omijaniu captcha)
await this.captcha.*
Praca z captcha
.recognize(preset, image, type[, overrides])
await this.captcha.recognize(preset, image, type, overrides) - przesyłanie captcha do rozpoznania
image- dane binarne obrazka do rozpoznaniapreset- wskazuje na preset dla
Util::AntiGatetypewskazuje się jeden z: 'jpeg', 'gif', 'png'
Wynikiem będzie hash z polami:
answer- tekst z obrazkaid- id captcha, aby w przyszłości móc zgłosić błąd przez.reportBaderror- błąd tekstowy, jeśli answer nie jest podany
.recognizeFromUrl(preset, url[, overrides])
await this.captcha.recognizeFromUrl(preset, url, overrides) - analogicznie do poprzedniej metody, ale pobieranie captcha zostanie wykonane automatycznie z linku (url), bez użycia proxy
.reportBad(preset, id[, overrides])
await this.captcha.reportBad(preset, id, overrides) - zgłoszenie do serwisu, że captcha została rozwiązana błędnie
Przydatne linki
🔗 ⏩ Tworzenie scraperów JS. Praca z CAPTCHA
Wideo o tym, jak napisać scraper JS z obsługą AntiGate do rozwiązywania captcha na stronach
🔗 Tworzenie scraperów JS. Praca z CAPTCHA
Artykuł o tym, jak napisać scraper JS z obsługą AntiGate do rozwiązywania captcha na stronach
🔗 Sprawdzanie kategorii witryn za pomocą serwisu cyren.com
Przykład implementacji połączenia Util::ReCaptcha2 w scraperze JS