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:
sitekeyurlsitekeyurlproxyuser-agent
Parametry są oddzielone spacją i oznaczają:
sitekey- to sitekey hCaptchaurl- strona, na której znajduje się hCaptchaproxy- proxy, przez które otrzymano hCaptcha. Parametr powinien być w formacielogin:pass@ip:port@typedla proxy z autoryzacją lubip:port@typedla proxy bez autoryzacji- type może być
http,https,socks4,socks5
- type może być
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.
| Parametr | Wartość domyślna | Opis |
|---|---|---|
| Client key | Klucz klienta dla serwisów rozwiązywania online | |
| Provider url | URL 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 | |
| Provider | AntiCaptcha | Serwis rozwiązywania |
| Wait between get status | 5 | Opóźnienie między sprawdzaniem statusu |
| Max wait time | 300 | Maksymalny czas oczekiwania na rozwiązanie |