Przejdź do treści głównej

Util::hCaptcha - rozpoznawanie hCaptcha

Przegląd scrapera

Ten scraper jest używany wyłącznie jako komponent podrzędny w innych scraperach, gdzie może być konieczne rozwiązanie hCaptcha, a także w niestandardowych scraperach JavaScript.

Zasada działania tego scrapera polega na wysyłaniu danych hCaptcha (zazwyczaj jest to sitekey i url strony, na której wystąpiła hCaptcha) do serwisu rozwiązującego i otrzymaniu w odpowiedzi tokena składającego się z cyfr i liter. Poprawność rozwiązania zależy wyłącznie od serwisu rozwiązującego; zazwyczaj serwisy prawie zawsze rozwiązują hCaptcha poprawnie.

TODO: (next) Opisać podłączenie/użycie i/lub podać link do przykładu

Funkcje

  • Obsługiwana jest współpraca z następującymi serwisami: AntiCaptcha, RuCaptcha, 2captcha, CapMonster.cloud, CapSolver, captchas.io, XEvil, NextCaptcha
  • Możliwość konfiguracji czasu oczekiwania na odpowiedź oraz opóźnienia sprawdzenia statusu

Zastosowania

  • Rozpoznawanie hCaptcha w scraperach, w których opcjonalnie lub obowiązkowo należy rozwiązać hCaptcha w celu uzyskania wyników

Zapytania

Scraper przyjmuje zapytania dwóch rodzajów:

  • sitekey url
  • sitekey url proxy user-agent

Parametry są oddzielone spacją i oznaczają:

  • sitekey - to sitekey hCaptcha
  • url - strona, na której znajduje się hCaptcha
  • proxy - proxy, przez które otrzymano hCaptcha. Parametr powinien być w formacie login:pass@ip:port@type dla proxy z autoryzacją lub ip:port@type dla proxy bez autoryzacji
    • type może być http, https, socks4, socks5
  • user-agent - user-agent, z którym otrzymano hCaptcha

Warianty wyświetlania wyników

  • $resp - odpowiedź (token) hCaptcha
  • $error - jeśli wystąpił błąd, jego opis

Wyświetlanie tokena hCaptcha

Format wyniku:

$resp

Przykład wyniku:

P0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXNza2V5IjoiVXJ3bllsN0VIeGxsTTA2Nm5LVTl3VFQzY3dFdmJTTVpreGZnUGM5YlNjaFZCaE1JL0l5MnR2VjN6TjlVQUM4cjEyOWlFaHZrUkg4VnV5Y3JwUW1wRjFFZ0wwZk92VjFuRjlyV1dmUlhSYjRFaHdvekw5RitaNXdlenBHR1FRQkgzdWF5dCtYWnJSM2d2Mjh6WXhmeTdLaGlCUjFDdDRLVG9tQ1RYVm90S3dsdTJHOW8xQm5XZy9jT0E1WGd1OUc1bGNBaFJMNVVRNGt4cm4rZ2hkTTlIdEJ3SU4xcTcyZnNtbGxGenN4UE40OGtwRFVBUXhydnVMcVlaTDA2SmozWWZNWWp0WUo5Qmo0RXZJcTFqWUZyMkRsQzJWOVBVdVN2WUcvSVZURXJHaWFSZ0tBMnNuRlRXekcvV0FoK2YwU0YyUWJlVnQ2RnpoTmhValVZSmxsUVVuc1d5Y2libEZ2Ynp3ZkwzUHFqQ2Z0UnZtUFFKbE1EYjk5VVYzUUN0a2tBbHJ1bFVyNVJoVDhrckQwSkY3SkZzSU1MbUw3aXBmMkF0T1B4ZDQ1eS9UTlBrbG9vZGRQajlOUlYxeGZYWGNoQklobEcwRDR5UVNlZGw5VDBKTzZVREI1T3VCMTEzakRwUzFUMGcrbFJIRDN0RnNtRStjRms3bmZ6TTBRZzZRYWtJQWhZZkpJcEV6MldTTkFLVnpYcjZBRG5xZ3Jmb2FXTWdMR2xuRWJMMGcxRTN2SHNqbzhZNTk3ek9jTWhUdXpqSEk2RElIWmgwYWxYV3paKzduRjZscHl5KzNHTUovTXJYOHlpT2toS3dsSUtrWHpMSnUrT2wzMjQzQW1VMzEzc0hVUk1zRUszSDJHM1dIeUpOWk55OXFyZVk1NVg2cWFja25DSFozNStVWk5rV21UOStjdXZyNG95MDZ0Q1dGZjhLbjdrTVVXM25odHF5L3F6dEN2YjZ6RDdEN05BczI3RlFKU3IrTlJmNkh4aHBJK29QR0QvWnhXV1dVSlZhT3Rvb3NQbFZPdzdKakVQM1NMUHZ4VzhncElUeTlKc3MvWVE3aG43TGVxSDYyQ2RFWE1WdEYxRmZyU3FBT3VobjVwRnV6MmlLM1FLTy9lZGFJNXBpd05OWkg2cTk1WjVMTXBzNkJFZE1qaVBPUENsazl3OUpaeTJZUklxU1hVUUxvWUpyT0tFYlJHaEU0RkpkTTlYTk1FMWJHdVRkbWZ1WkxuZmwwTVF6R0EyU3lwSDQ0NDcwcjRPT3hSY2JGT3ZqcmZ6dzdHcHpxaWcxMVREcWQxQllrOEQ4WDNtaVZlblF2VzNIZUFjWWtyQ2tlRDBGUXJzM3kreVVoWE9mM3BFWUNLcWhtdHpYZ2NZMVBlVHF5Zit5Mms0SEdMaUhGN1V3MkNlc05KY3dDMkU1WVNWUW9QbjZaYWUzZWxyWDVFUWRkSnNiTS9STllPZ3RZOThwbmdaK2ZkdEw0MXRVRThnY3VaQ0tDdXVyU1l2SmVLM3g5YkxOU2E4a0ZGdlZDUzVYbkQ1Q0FENm5GS3M5WWhsSEFZZmE4UjJmK1FkWk9LS3dQRWNDbFNzaVErdjJqczRKcXJjKzlVTjhLbjRHbGpBenRDS2JWbE5SOFEwcjNqT0g5SzdBSS93bEFUNVFIVWgyQ2I1aE93TkpXTEdXQlgzd1VkZFNUOVh0RWsrTzlDclFFRnV1RDZKaDQvUUdXMHBiSE9pSzVwQmRFdnFrRngzUlpDcXZES1dTaUJlZUZuME4xNWlmeDJ5SkUzZFdrTk5GVzVTaUZ1UktRWlVER3NsNzYxSzZiTVJPalQ5Ujc5bnBldC8xUThEN2Y4aEZhenBBekhlT2gxNHVONGExUUhOYlNwWXphT3JVSEhIQ0lCUHRCQVVFZFhuQWZIdmV6OXIrSnZONWtzVXJFVE1jNk41N2FmMFUvR3pOY2F4bVBRNUJJNGRxdTl4YmNDZ3hFYlpmc0VURGhxbjBDdGNGT21MQ1NUdEdLQ2dGTDhLSDRxZmtJd2NReENaZ1RLcHo2dVFqUEN0RmphL0pDU2RYcVZ2dWJlYm5BMzk0bFVZeG05YkFiQVdSZXZDaFB2R0NnUXczZWNNalVUczYwNVYyMS9BR2o2NndDU09IN3hkY09KQmdVVzVWNTZDMEFNUTVCQWZRZTdFOHo0eTBtb0srbXVrVmgrRzk5b0tZcm8vckJLdFdoVGthc1dtbU42d3IwcVhaVHBrWGJ5a29PdnZOMWZpaGFZR0J0OXlTSlpYZWowWHBiTGpOY2plSHpBVzI4dldNb0NIZmVCcmc2bjJqVU5xQnZDSitOSUZ0eUlqQjBCMmZ0MjdDVWI2ZzlRV0IzWVNZeVZzbG9nbm1DbzFwem5pQzZqaTRTMkVxbWpTMldtRVJ0am4ranA3NEZQSVlORkw4b3BpSUp1bnhwY2ZtM0dkL3RWY0lFeFpYVlZkTUVIV3llUHhGdzBTdVNld0RseCtaamJpc2RMQXBsd2RYalZqZ0g3cE5VTGxVbXREalRBakV0bFlYVmI4YUl3NEI0bk1uTGJQb0hXeVY4RUJjMWo4ZGdnOTU5Mk01OUk0NFBoMUFTTjZVZz09TnNTUFo4czYxdEwreTh2YyIsImV4cCI6MTY0MzE4NDg4MSwic2hhcmRfaWQiOjgyMDc4NjA4NiwicGQiOjB9.V7DPQWNQkZBS_g2OX0B64zFnrHqnPMmGKv44vLW5N5g

Możliwe ustawienia

Do wyboru serwisu służy parametr Provider.

ParametrWartość domyślnaOpis
Client keyKlucz klienta dla serwisów rozwiązywania online
Provider urlURL dostawcy, pozwala nadpisać domenę. Można podać kilka oddzielonych przecinkiem, scraper będzie używał każdego z nich losowo. Może być pusty, scraper automatycznie użyje właściwego w zależności od wybranego serwisu rozwiązywania
ProviderAntiCaptchaSerwis rozwiązywania
Wait between get status5Opóźnienie między sprawdzaniem statusu
Max wait time300Maksymalny czas oczekiwania na rozwiązanie