Як знайти sitekey капчі на будь-якій сторінці (4 способи)
Кожне розв'язання капчі починається з sitekey — публічного ідентифікатора, який сайт зареєстрував у провайдера капчі. Браузер його бачить, тож його можете побачити і ви. Для PopularCaptcha sitekey — це UUID, наприклад a5f74b19-9e45-40e0-b45d-47ff91b7a6c2. Інші провайдери використовують інші формати. Ключі Google reCAPTCHA, наприклад, починаються з 6L. Ось чотири місця, де його можна знайти, від найпростішого до найнадійнішого.
Scarnox розв'язує PopularCaptcha вже зараз. Пошук sitekey працює однаково для будь-якої капчі, тож ці методи допоможуть і тоді, коли ви плануєте інший тип. Інші типи, наприклад reCAPTCHA та Cloudflare Turnstile, скоро з'являться.
1. Атрибут data-sitekey
Відкрийте DevTools (F12), перейдіть на вкладку Elements, натисніть Ctrl+F і знайдіть data-sitekey. Більшість віджетів зберігають ключ у такому атрибуті:
<div class="h-captcha" data-sitekey="a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"></div>
Якщо ви його тут знайшли, готово. Скопіюйте значення і переходьте до розв'язання.
2. Вкладка Network
Якщо віджет відображає JavaScript, атрибут може ніколи не з'явитися в HTML. Відкрийте Network, перезавантажте сторінку і відфільтруйте запит конфігурації віджета. Для PopularCaptcha цей запит зазвичай називається checksiteconfig. Sitekey є одним з його параметрів запиту:
.../checksiteconfig?v=...&host=example.com&sitekey=a5f74b19-...
Фільтрація за словом sitekey в URL запиту теж працює, якщо на сайті, який ви тестуєте, назва інша.
3. URL iframe
Сам виклик — це iframe, який віддає провайдер капчі. Його src містить sitekey як параметр. Клацніть правою кнопкою на віджеті, оберіть Inspect і зчитайте значення з адреси iframe. Це найнадійніший метод, коли сторінка приховує атрибут від головного документа.
4. Невидимі віджети
Невидимий віджет не має прапорця. Сайт викликає функцію render() або execute() віджета зі свого коду, і sitekey передається як аргумент. Шукайте його в JavaScript сторінки: відкрийте панель Sources і натисніть Ctrl+Shift+F, потім шукайте sitekey. Невидимі sitekey потребують прапорця невидимості під час розв'язання. Дивіться розв'язання невидимих капч.
Читання sitekey зі скрипта
Якщо атрибут є в сирому HTML, скрипт може прочитати його без браузера:
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")
Якщо це нічого не виводить, віджет відображається через JavaScript. Використовуйте справжній браузер, як у методі з вкладкою Network вище. Завантажуйте лише ті сторінки, які вам дозволено автоматизувати, і тримайте низьку частоту запитів.
Який URL до нього пасує?
Надсилайте URL сторінки, на якій знаходиться віджет, як site_url. Найважливіший є хост, тож для віджета реєстрації правильне значення — https://example.com/signup. Повний запит для PopularCaptcha виглядає так:
{
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
"site_url": "https://example.com/signup"
}
Надішліть його на https://api.scarnox.com/api/tasks/create з вашим ключем у заголовку Authorization: Bearer. Виклик блокується, доки токен не буде готовий, тож другого запиту для перевірки результату немає.
Типові проблеми
- Два sitekey на одній сторінці. Сайти іноді вставляють віджет для форми входу і ще один для реєстрації. Зіставте ключ із формою, яка справді вас відхиляє, і перевірте, який з них розташований найближче до кнопки відправки.
- Ключ змінюється між візитами. Зчитуйте його заново при кожному запуску. Ключі зазвичай стабільні, але закешований ключ зі старого деплою може перестати працювати.
- Ключ знайдено, але токен відхиляють. Sitekey, імовірно, правильний. Далі перевірте розмір віджета і налаштування проксі, починаючи з посібника про невидиму капчу і порівняння проксі.
Перевірка, що у вас правильний sitekey
Сторінка може містити більше одного sitekey. Аналітичні віджети, форми коментарів і поля підписки іноді додають власні. Перш ніж розв'язувати, переконайтеся, що sitekey належить формі, яку автоматизуєте. Ось три швидкі перевірки:
- Знайдіть кнопку відправки форми в DevTools і піднімайтеся DOM до найближчого елемента, який містить
data-sitekey. Це віджет, який захищає форму. - Порівняйте ключ з тим, що в URL iframe. Якщо вони збігаються, це ключ, який справді використовує віджет.
- Відправте форму вручну один раз із розв'язаним токеном, якщо вам це дозволено, і перевірте, що сайт його приймає.
Ключі можуть змінюватися, коли сайт перевипускають. Якщо ключ, який учора працював, перестав давати прийняті токени, перечитайте сторінку перед будь-якими іншими змінами. Свіже читання нічого не коштує, а воно виключає найпоширенішу причину раптової поломки.
Сторінки, які завантажують віджет лише після кліку, потребують ще одного кроку. Відкрийте сторінку, виконайте клік, який показує віджет, і лише тоді зчитуйте sitekey. Читання до кліку повертає порожній результат, що виглядає як відсутній віджет, але насправді це проблема з часом. Чекайте появи елемента, що відповідає [data-sitekey], а не спіть фіксований час.
Наступні кроки
- Як розв'язати PopularCaptcha на Python
- Розв'язання PopularCaptcha в Playwright і Puppeteer
- Типи капчі пояснено
- Безкоштовна пробна версія солвера капчі
Почніть з безкоштовного пробного кредиту, картка не потрібна: створіть обліковий запис і перевірте свій перший sitekey.