Как найти 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 — один из его query-параметров:
.../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 указать
Отправляйте в site_url 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.