Jak znaleźć sitekey captcha na dowolnej stronie (4 sposoby)
Każde rozwiązanie captcha zaczyna się od sitekey: publicznego identyfikatora, pod którym serwis zarejestrował się u dostawcy captcha. Przeglądarka go widzi, więc Ty też możesz go odczytać. Dla PopularCaptcha sitekey to UUID, na przykład a5f74b19-9e45-40e0-b45d-47ff91b7a6c2. Inni dostawcy używają innych formatów. Klucze Google reCAPTCHA zaczynają się na przykład od 6L. Oto cztery miejsca, w których go znajdziesz, od najprostszego do najbardziej niezawodnego.
Scarnox rozwiązuje dziś PopularCaptcha. Wyszukiwanie sitekey działa tak samo dla każdej captcha, więc te metody pomogą też przy planowaniu innego typu. Inne typy, takie jak reCAPTCHA i Cloudflare Turnstile, są wkrótce.
1. Atrybut data-sitekey
Otwórz DevTools (F12), przejdź do Elements, naciśnij Ctrl+F i wyszukaj data-sitekey. Większość widżetów umieszcza klucz w takim atrybucie:
<div class="h-captcha" data-sitekey="a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"></div>
Jeśli go tu znajdziesz, to koniec. Skopiuj wartość i przejdź do rozwiązania.
2. Karta sieciowa
Jeśli widżet renderuje JavaScript, atrybut może nigdy nie pojawić się w HTML. Otwórz Network, przeładuj stronę i filtruj po żądaniu konfiguracji widżetu. Dla PopularCaptcha to żądanie zwykle nazywa się checksiteconfig. Sitekey jest jednym z jego parametrów zapytania:
.../checksiteconfig?v=...&host=example.com&sitekey=a5f74b19-...
Filtrowanie po słowie sitekey w adresie żądania też działa, jeśli na testowanej stronie nazwa jest inna.
3. Adres iframe
Samo wyzwanie to iframe serwowany przez dostawcę captcha. Jego src zawiera sitekey jako parametr. Kliknij prawym przyciskiem widżet, wybierz Inspect i odczytaj wartość z adresu iframe. To najbardziej niezawodna metoda, gdy strona ukrywa atrybut w głównym dokumencie.
4. Niewidoczne widżety
Niewidoczny widżet nie ma checkboxa. Serwis wywołuje funkcję render() lub execute() widżetu ze swojego kodu, a sitekey przekazywany jest jako argument. Przeszukaj JavaScript strony: otwórz panel Sources i naciśnij Ctrl+Shift+F, a następnie szukaj sitekey. Sitekey niewidocznych widżetów wymagają ustawienia flagi niewidoczności przy rozwiązywaniu. Zobacz rozwiązywanie niewidocznych captcha.
Odczyt sitekey ze skryptu
Jeśli atrybut znajduje się w surowym HTML, skrypt może go odczytać bez przeglądarki:
import re
import requests
html = requests.get("https://example.com/signup", timeout=30).text
m = re.search(r'data-sitekey="([^"]+)"', html)
print(m.group(1) if m else "no data-sitekey in the raw HTML")
Jeśli to nic nie wypisze, widżet jest renderowany przez JavaScript. Użyj prawdziwej przeglądarki, jak w metodzie z zakładki Network powyżej. Pobieraj tylko strony, które wolno Ci automatyzować, i utrzymuj niskie tempo żądań.
Jaki adres URL do tego pasuje?
Jako site_url wyślij adres strony, na której znajduje się widżet. Najważniejszy jest host, więc dla widżetu rejestracji właściwą wartością jest https://example.com/signup. Kompletne żądanie dla PopularCaptcha wygląda tak:
{
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
"site_url": "https://example.com/signup"
}
Wyślij je na https://api.scarnox.com/api/tasks/create z kluczem w nagłówku Authorization: Bearer. Wywołanie blokuje się, aż token będzie gotowy, więc nie potrzebujesz drugiego żądania, by sprawdzić wynik.
Częste problemy
- Dwa sitekey na jednej stronie. Serwisy czasem umieszczają widżet dla formularza logowania i kolejny dla rejestracji. Dopasuj klucz do formularza, który faktycznie Cię odrzuca, i sprawdź, który znajduje się najbliżej przycisku wysyłki.
- Klucz zmienia się między wizytami. Odczytuj go od nowa przy każdym uruchomieniu. Klucze są zwykle stabilne, ale zbuforowany klucz z dawnego wdrożenia może przestać działać.
- Klucz znaleziony, ale token odrzucony. Sitekey jest prawdopodobnie poprawny. Najpierw sprawdź rozmiar widżetu i ustawienie proxy, zaczynając od przewodnika o niewidocznej captcha i porównania proxy.
Sprawdzanie, czy masz właściwy sitekey
Strona może zawierać więcej niż jeden sitekey. Widżety analityczne, formularze komentarzy i pola newslettera czasem dodają własne. Zanim rozwiążesz, potwierdź, że sitekey należy do formularza, który automatyzujesz. Pomogą trzy szybkie sprawdzenia:
- Znajdź w DevTools przycisk wysyłki formularza i przejdź w górę drzewa DOM do najbliższego elementu, który zawiera
data-sitekey. To widżet, który chroni formularz. - Porównaj klucz z tym w adresie iframe. Jeśli się zgadzają, masz klucz, którego faktycznie używa widżet.
- Jeśli wolno Ci, wyślij formularz ręcznie z jednym rozwiązanym tokenem i sprawdź, czy serwis go akceptuje.
Klucze mogą się też zmienić, gdy serwis zostanie ponownie wdrożony. Jeśli klucz, który działał wczoraj, przestaje dawać zaakceptowane tokeny, odczytaj stronę ponownie, zanim zmienisz cokolwiek innego. Świeży odczyt nic nie kosztuje, a wyklucza najczęstszą przyczynę nagłej awarii.
Strony, które ładują widżet dopiero po kliknięciu, wymagają jeszcze jednego kroku. Otwórz stronę, wykonaj kliknięcie, które pokazuje widżet, a dopiero potem odczytaj sitekey. Odczyt przed kliknięciem nic nie zwraca, co wygląda na brak widżetu, ale w rzeczywistości jest problemem czasowym. Czekaj, aż pojawi się element pasujący do [data-sitekey], zamiast czekać przez stały czas.
Następne kroki
- Jak rozwiązać PopularCaptcha w Pythonie
- Rozwiązywanie PopularCaptcha w Playwright i Puppeteer
- Rodzaje captcha wyjaśnione
- Darmowy okres próbny solvera captcha
Zacznij od darmowego kredytu próbnego, bez karty: załóż konto i przetestuj swój pierwszy sitekey.