DataDome

Решение DataDome: обход DataDome и получение cookie datadome

DataDome останавливает парсер на слайдере или проверке устройства, пока у него нет действующего cookie datadome. CapSkip проходит проверку на вашем собственном ПК с Windows или VPS и возвращает cookie, привязанный к нему User-Agent и, где это применимо, прокси, и всё это по одному фиксированному ежемесячному тарифу.

Windows x64·Работает локально, поэтому капча не покидает ваш компьютер
  • Слайдер и проверка устройства
  • cookie datadome получен
  • Фиксированный тариф в месяц
cookie DataDome в месяц30,000
30.0k250.0k
У сервисов с поштучной оплатой около $1.98 за 1,000$59.40
CapSkip Bronze, фиксированно$35.00
$24.40остаётся у вас в карманекаждый месяц при таком объёме

Многие крупные магазины, маркетплейсы и новостные сайты работают за DataDome, и если запрос кажется ему подозрительным, он подменяет страницу экраном блокировки со слайдером или короткой проверкой устройства. CapSkip решает DataDome: он проходит этот экран за ваши скрипты и возвращает cookie datadome, чтобы ваш HTTP-клиент продолжал загружать сайт без участия человека. Он работает на компьютере с Windows, VPS или сервере, которым управляете вы.

Вы отправляете адрес проверки со страницы блокировки, URL запрошенной страницы и прокси, через который пойдут ваши следующие запросы. В ответе приходит cookie вместе с User-Agent, с которым он был получен, а также прокси, если CapSkip взял его из своего собственного списка. Используйте все три вместе, потому что DataDome принимает cookie только с того IP и того User-Agent, которые его получили.

Сервисы с поштучной оплатой берут от $1.45 до $2.50 за каждую тысячу решений DataDome, и каждая новая проверка оплачивается снова. CapSkip работает по фиксированному тарифу от $35 в месяц, а цена зависит от числа компьютеров, а не от количества cookie. Код, написанный под устаревший API in.php / res.php, под createTask с DataDomeSliderTask или под CapMonster CustomTask с классом DataDome, может передавать задачи в CapSkip без изменений.

Для больших объёмов нужны sticky-прокси. Cookie DataDome работает только с того IP, который его получил, поэтому после этапа тестов планируйте один sticky резидентный прокси на задачу и используйте каждый cookie через тот же самый прокси. Читать справочник по API DataDome

Что умеет решение DataDome

Слайдер и проверка устройства

Заблокированный посетитель видит либо слайдер, который нужно перетащить, либо проверку устройства, которая сама проходит за несколько секунд. Оба варианта отправляются одним и тем же запросом, а если после проверки устройства появляется слайдер, CapSkip проходит и его.

Cookie, готовый к отправке

Вы получаете cookie datadome ровно в том виде, в котором его установил сайт: с доменом, путём и сроком действия. Вставьте часть до первой точки с запятой в заголовок Cookie и повторите заблокированный запрос.

User-Agent и прокси в ответе

В каждом ответе указан User-Agent, к которому привязан cookie, и назван прокси, если он взят из собственного списка прокси DataDome в приложении, так что ваш клиент всегда знает, с какими данными выходить дальше.

Sticky-прокси для реальных объёмов

Для нескольких тестов хватит одного адреса. Дальше выделяйте каждой задаче и её последующим запросам собственный sticky резидентный прокси, чтобы ни один IP не набрал столько страниц блокировки, что его забанят.

Поддерживаются три формата запросов

Принимаются method=datadome через in.php, createTask с DataDomeSliderTask и CapMonster CustomTask с классом DataDome, и каждый получает ответ в том формате, который этот клиент уже умеет читать.

Повторные проверки включены

DataDome может снова проверить ту же сессию позже в тот же день. Каждый новый cookie входит в ежемесячный тариф, поэтому сайт, который проверяет часто, никак не увеличивает ваши расходы.

Три способа отправлять задачи DataDome в CapSkip

Python
import requests
from capskip import CapSkip

solver = CapSkip(host="127.0.0.1", port=8080)
PROXY = "login:[email protected]:8080"  # one sticky residential proxy per task

# captcha_url is the challenge address built from the block page's dd object.
result = solver.datadome(
    captcha_url=captcha_url,
    pageurl="https://www.example.com/",
    proxy={"type": "HTTP", "uri": PROXY},
)

# Same IP, same User-Agent: the cookie only works from the address that earned it.
# Sent without a proxy, CapSkip may use its own DataDome list and names it in result["proxy"].
page = requests.get(
    "https://www.example.com/",
    headers={"User-Agent": result["userAgent"], "Cookie": result["cookie"]},
    proxies={"http": "http://" + PROXY, "https": "http://" + PROXY},
)

С Python SDK от CapSkip это один вызов: отправьте адрес проверки вместе с прокси, который использует ваш парсер, а затем отправляйте cookie через тот же прокси с User-Agent из результата.

Устаревший in.php и res.php

Отправьте method=datadome с captcha_url и URL страницы, опрашивайте res.php и прочитайте cookie после OK|. В режиме JSON User-Agent и прокси из списка, если он использовался, возвращаются отдельными полями.

createTask с DataDomeSliderTask

JSON-клиенты отправляют DataDomeSliderTask или вариант написания DatadomeSliderTask, который использует CapSolver, и забирают cookie из объекта solution, который возвращает getTaskResult.

CapMonster CustomTask

Инструменты, созданные для CapMonster, продолжают отправлять CustomTask с классом DataDome. В ответе cookie datadome указан под доменом сайта, ровно там, где этот клиент его ищет.

Ваш первый cookie datadome за три шага

  1. Установите CapSkip на свой компьютер

    Установите приложение на компьютер, VPS или сервер, где будут выполняться ваши задачи DataDome, и выделите ему побольше памяти, если много задач будет работать одновременно. Скачать CapSkip

  2. Выберите тариф или сначала протестируйте

    Цена тарифов зависит от числа компьютеров и никогда от количества cookie. Пока не готовы платить? Запустите бесплатный пробный период, а затем войдите с логином, который мы пришлём на email. Посмотреть тарифы

  3. Отправьте задачу с прокси

    Отправьте captcha_url, URL страницы и sticky-прокси, который использует ваш парсер, а затем отправляйте полученный cookie через этот прокси с тем же User-Agent. Открыть документацию DataDome

Решение DataDome по фиксированной цене или оплата за каждый cookie

Сама проверка в обоих случаях одинакова. Различается то, где выполняется работа, кто узнаёт ваши целевые сайты и как растёт счёт.

ФункцияCapSkipСервисы с оплатой за решение
СтоимостьФиксированный ежемесячный тариф от $35, cookie не считаютсяПримерно от $1.45 до $2.50 за 1,000 решений DataDome
Типы проверокСлайдер и проверка устройства в одном формате запросаЗависит от сервиса
Где выполняется решениеНа вашем компьютере с Windows, VPS или сервереНа удалённых серверах, которые получают каждую проверку
Сайт проверяет сноваЕщё один cookie без доплатыКаждый новый cookie оплачивается отдельно
Ваш текущий клиентin.php, createTask или CapMonster CustomTask, без изменений в кодеПереписывается под собственный формат задач провайдера
МасштабированиеОпределяется вашим железом и вашими sticky-проксиОчереди и лимиты аккаунта, которые задаёт провайдер
С какими сайтами вы работаетеОстаётся на вашем компьютереПередаётся стороннему провайдеру с каждой задачей

Цены

Хватит платить за каждое решение

Выберите лицензию

Лицензия Bronze

$35/ месяц

Подписаться на Bronze

Мгновенная активация лицензии

Оплата помесячно. Отменить подписку можно в любой момент в личном кабинете.

Функции те же. Больше машин, больше производительность.

Каждая машина решает настолько быстро, насколько позволяют её процессор и память. Больше машин означает больше одновременных потоков, поэтому Silver решает вдвое больше капч одновременно, а Gold втрое больше.

  • Безлимитное решение, без дневных ограничений
  • Безлимитные потоки, скорость растёт вместе с оборудованием
  • Точность распознавания от 90% до 100%
  • Прямая замена API основных сервисов распознавания
  • Работает почти с любым инструментом, без программирования
  • REST API, SDK и расширение для браузера
  • Бесплатное обучение, когда появляется новый тип капчи
  • Работает на вашей машине, ничего с неё не уходит

Каждый тип капчи, показанный выше, входит в любую лицензию. Посмотреть список типов

Просто хотите сначала попробовать?

Начните с бесплатного 3-дневного пробного периода и решите 500 капч любого типа на своих целевых сайтах.

Оформите бесплатный пробный период

Как DataDome блокирует парсеры и как получить cookie через API

DataDome представляет собой сервис защиты от ботов, который стоит перед сайтом и оценивает каждый входящий запрос. Запрос, которому он доверяет, проходит сразу. Подозрительный запрос получает HTTP-статус 403, иногда 401, и небольшую HTML-страницу вместо содержимого. Эта страница определяет объект скрипта dd и загружает проверку в iframe с geo.captcha-delivery.com. Только пройденная проверка даёт cookie datadome, который пропускает следующие запросы.

Проверка бывает двух видов. Слайдер, с путём /captcha/ в адресе iframe, просит посетителя перетащить ползунок по полосе. Проверка устройства, с путём /interstitial/, показывает короткий экран проверки и не требует действий, хотя после неё DataDome может показать слайдер. Обход DataDome для автоматизации должен справляться с обоими вариантами, и CapSkip принимает оба через одно и то же поле captcha_url, которое вы собираете из полей объекта dd.

Cookie привязан к IP-адресу и User-Agent, с которыми он был получен. Если отправить его с другого адреса или с другим User-Agent, страница блокировки сразу вернётся. Поэтому передавайте с каждой задачей прокси, который будет использовать ваш парсер, повторно используйте User-Agent, указанный в ответе, и сохраняйте самый свежий cookie datadome каждый раз, когда сайт выдаёт замену. Когда сайт проверяет снова, соберите новый captcha_url из новой страницы блокировки и отправьте ещё одну задачу.

Разберитесь с прокси до масштабирования. DataDome оценивает адрес так же строго, как и посетителя, поэтому постоянный поток страниц блокировки с одного IP заканчивается баном на этом сайте, а страницу блокировки с отметкой о бане с этого адреса пройти уже невозможно. Используйте резидентные прокси, которые держат один и тот же выходной IP хотя бы несколько минут, по одному на задачу, и используйте каждый cookie через тот прокси, на котором он был получен. Прокси, меняющий IP при каждом подключении, не может дать рабочий cookie.

Руководства по теме: Справочник по API DataDome · решение капчи для парсинга · Решение AWS WAF CAPTCHA

Что возвращает CapSkip, когда решает DataDome?
Cookie datadome в том формате, которого ждёт ваш клиент. Устаревший вызов res.php отдаёт полную строку cookie после OK|, а с json=1 добавляет поле userAgent и, если прокси взят из списка приложения, поле proxy. DataDomeSliderTask возвращает cookie в solution, а CapMonster CustomTask указывает его под доменом сайта.
Что входит в задачу DataDome?
Важны три вещи: captcha_url, то есть адрес iframe с проверкой, который вы собираете со страницы блокировки, pageurl заблокированной страницы и прокси, который будут использовать ваши следующие запросы. userAgent указывать необязательно. В документации API по полям показано, как собрать captcha_url из объекта dd.
Нужны ли прокси для DataDome при больших объёмах?
Для нескольких тестов достаточно вашего собственного подключения. Для больших объёмов да: планируйте один sticky резидентный прокси на задачу, который держит один и тот же выходной IP хотя бы несколько минут. Прокси, которые меняют IP при каждом подключении, не подойдут, потому что cookie проходит только с того адреса, который его получил. Можно передавать прокси для каждой задачи или загрузить список в приложение.
Почему сайт отклоняет cookie, который вернул CapSkip?
Почти всегда потому, что его отправили с другого IP или с другим User-Agent, чем при решении. Отправляйте его через тот же прокси и с User-Agent, указанным в ответе. Если страница блокировки всё равно возвращается, значит, сайт решил проверить снова: соберите из неё новый captcha_url и отправьте новую задачу.
Можно ли выбрать свой User-Agent?
В определённых пределах. Если вы его передаёте, это должен быть User-Agent, с которым CapSkip может получить действующий cookie, а остальные сразу отклоняются с ERROR_WRONG_USERAGENT, вместо того чтобы выдать cookie, который сайт не примет. Если не указывать его, CapSkip выберет User-Agent сам и укажет его в ответе, готовым для копирования. В документации API перечислено, какие именно принимаются.
Что будет, если DataDome забанил мой IP?
Бан с этого адреса пройти невозможно, поэтому CapSkip сразу отклоняет задачу с ERROR_PROXY_BANNED, не тратя на неё время. Это можно заметить ещё до отправки: в объекте dd на странице блокировки параметр t равен bv, а не fe. Смените прокси и запросите страницу снова.
Как быстро решается проверка DataDome?
Обычно от 3 до 20 секунд. Проверки устройства ближе к нижней границе этого диапазона, слайдеры ближе к верхней. Ваши задачи никогда не ждут в очереди за задачами других клиентов, поэтому скорость определяют ваш компьютер и ваш прокси, а число задач DataDome, выполняемых параллельно, задаётся в настройках приложения.
Увеличат ли дополнительные cookie DataDome мой счёт?
Нет. Сумма зависит от числа компьютеров, на которых работает CapSkip, начиная с Bronze за $35 в месяц для одного, а решения никогда не считаются. Сайт, который проверяет каждую сессию, обходится так же, как сайт, который делает это редко, а повторы после бана или истечения cookie тоже включены.
Сможет ли мой текущий код для DataDome работать с CapSkip?
Обычно без правок. CapSkip принимает in.php с method=datadome, createTask с DataDomeSliderTask (а также вариант написания DatadomeSliderTask от CapSolver) и CapMonster CustomTask с классом DataDome. Выберите этот сервис в приложении, и на запросы, которые уже отправляет ваш код, будет отвечать ваш собственный компьютер.

Обход DataDome без оплаты за каждый cookie

Установите CapSkip один раз, войдите в аккаунт и направляйте страницы блокировки DataDome на компьютер, которым управляете вы. Слайдеры, проверки устройства и повторные проверки входят в один ежемесячный тариф.