Decodo Веб-Скрейпинг · Учебник 05
Сканируйте динамические страницы с JavaScript и действиями браузера
Переходите от MCP к прямому API Decodo, когда публичной странице требуется контролируемый клик, ввод, прокрутка, ожидание или захват XHR перед извлечением.

0 из 13 завершено
Последнее тестирование и обновление: Август 2026
MCP выполняет множество задач. Переходите к Web Scraping API, когда нужно отобразить публичную страницу и взаимодействовать с ней перед сбором данных.
Decodo в данный момент поддерживает действия браузера, включая click, input, scroll, scroll_to_bottom, wait, wait_for_element, и fetch_resource.

Шаг 1: проверьте токен API с помощью безопасного запроса
Используйте конечную точку Decodo в реальном времени:
curl --запрос POST \
--url 'https://scraper-api.decodo.com/v2/scrape' \
--заголовок 'Accept: application/json' \
--заголовок 'Authorization: Basic TOKEN_VALUE' \
--заголовок 'Content-Type: application/json' \
--данные '{
"url": "https://ip.decodo.com"
}'
Заменить TOKEN_VALUE локально. Никогда не сохраняйте готовую команду в истории оболочки, исходных файлах или скриншотах.

Шаг 2: выполнять JavaScript только при необходимости
Начните с простого и дешевого решения. Если необходимого элемента нет, потому что страница загружает его позже, включите документированную опцию безголового режима/рендеринга для этого элемента. Рендеринг использует больше ресурсов браузера и может изменить стоимость запроса.
Запишите, почему включен рендеринг. «Это может помочь» не является тестом.
Шаг 3: дождитесь стабильного элемента
Пример тела запроса:
{
"target": "universal",
"url": «https://example.com/public-catalog»,
«browser_actions»: [
{
"type": «wait_for_element»,
«селектор»: {
"type": «css»,
«ценность»: "[data-results-ready='true']"
},
«timeout_s»: 8
}
]
}
Предпочитаете стабильный ID или data-* атрибут. Избегайте селекторов, основанных на визуальном положении, таких как «третья кнопка» или длинные строки классов.
Шаг 4: добавьте одно взаимодействие
{
"target": "universal",
"url": «https://example.com/public-catalog»,
«browser_actions»: [
{
"type": «щелчок»,
«селектор»: {
"type": "текст",
«ценность»: «Загрузить больше»
},
«on_error»: «ошибка»
},
{
"type": «wait_for_element»,
«селектор»: {
"type": «css»,
«ценность»: "[data-page='2']"
},
«timeout_s»: 8
}
]
}
Использовать on_error: "error" если пропустить действие, результат становится недействительным. Использование skip только когда действие необязательно, и на выходе записано, что оно не было выполнено.
Шаг 5: предпочитайте сетевые данные, когда они являются настоящим источником
Если страница загружает публичный JSON-ресурс, fetch_resource можно напрямую собрать соответствующий ответ Fetch/XHR. Документы Decodo указывают, что fetch_resource должен использоваться отдельный запрос и не может комбинироваться с другими действиями.
{
"target": "universal",
"url": «https://example.com/public-catalog»,
«browser_actions»: [
{
"type": "fetch_resource",
"filter": "/api/products",
«on_error»: «ошибка»
}
]
}
Контрольный список проверки
- Достиг ли запрос ожидаемого публичного URL?
- Соответствовал ли селектор одному нужному элементу?
- Имело ли каждое действие, изменяющее состояние, видимое условие успеха?
- Включал ли результат ожидаемое количество записей и поля?
- Ограничили ли вы таймаут, количество повторов и общее число запросов?
- Избегали ли вы входа в систему, использования личных данных и непреднамеренной отправки форм?