No-code веб-скрейпинг: извлечение данных без программирования
Как настроить сбор данных в 2026 году без написания кода: API для скрейпинга, extract_rules, автоматизация через n8n и Make.com, батчевая обработка 100+ страниц.
Команда InfraProxy
24 февраля 2026 г.
Зачем нужен no-code стек для скрейпинга
Маркетинговые отделы, аналитики и владельцы бизнеса часто сталкиваются с необходимостью регулярно получать данные с сайтов — цены конкурентов, каталоги товаров, рыночная аналитика. При этом не у всех есть доступ к разработчикам или время на изучение Python. No-code стек позволяет настроить сбор данных за считанные часы, используя визуальные инструменты и готовые API.
Архитектура no-code стека в 2026 году
Типичный no-code стек для веб-скрейпинга состоит из трёх компонентов:
- API для скрейпинга — облачный сервис, который выполняет запросы к целевым страницам, обходит антибот-защиту и возвращает данные
- Правила извлечения — декларативное описание того, какие элементы страницы нужно сохранить (через
extract_rulesили аналогичные механизмы) - Оркестратор — no-code платформа (n8n, Make.com, Zapier), которая запускает запросы по расписанию, обрабатывает ошибки и передаёт данные дальше
Такой подход не требует локальной инфраструктуры, скриптов и поддержки браузеров — всё выполняется в облаке.
Настройка API-запросов с extract_rules
Вместо парсинга сырого HTML вручную используйте extract_rules — словарь, где ключ — имя поля, а значение — CSS-селектор. API применит селекторы к странице и вернёт структурированный JSON.
Базовый пример
{
"url": "https://example.com/catalog/category",
"extract_rules": {
"title": "h1",
"product_name": ".product-card .name",
"price": ".product-card .price",
"image_url": "img.product-image@src"
}
}
В ответе вы получите объект extract с полями title, product_name, price, image_url. Синтаксис @src извлекает атрибут элемента (href, src, data-*).
Извлечение списков
Для страниц с несколькими однотипными блоками (карточки товаров, строки таблицы) используйте селектор контейнера и вложенные правила:
{
"url": "https://example.com/search?q=laptops",
"extract_rules": {
"items": {
"selector": ".search-result-item",
"type": "list",
"fields": {
"title": "h3 a",
"price": ".price-value",
"link": "a@href"
}
}
}
}
Поле items будет массивом объектов с полями title, price, link для каждого элемента.
Когда нужен JavaScript-рендеринг
Многие маркетплейсы и каталоги загружают контент через JavaScript. Если при обычном запросе вы получаете пустые extract или неполные данные — включите рендеринг:
{
"url": "https://example.com/products",
"use_js_render": true,
"js_wait_for": ".product-grid",
"extract_rules": {
"products": {
"selector": ".product-card",
"type": "list",
"fields": {
"name": ".product-title",
"price": ".price"
}
}
}
}
Параметр js_wait_for указывает селектор, по которому API понимает, что страница загружена. Это снижает риск извлечения данных до завершения рендеринга.
Автоматизация через no-code инструменты
Интеграция с n8n
В n8n создайте Workflow с узлом HTTP Request. Настройте его на POST-запрос к вашему Scraper API:
- Method: POST
- URL:
https://api.example.com/api/v1/scrape - Headers:
Content-Type: application/json,x-api-key: {{ $env.SCRAPER_API_KEY }} - Body (JSON):
{
"url": "{{ $json.target_url }}",
"extract_rules": {
"title": "h1",
"content": ".main-content"
}
}
Источником target_url может быть узел Google Sheets (список URL), Webhook (внешний триггер) или узел Schedule (запуск по расписанию). Результат extract можно записать в Google Sheets, Airtable, базу данных или отправить в CRM.
Интеграция с Make.com
В Make.com используйте модуль HTTP «Make a Request». Аналогично настройте POST-запрос и передайте в тело url и extract_rules. Для батчевой обработки используйте Iterator — он пройдётся по массиву URL и выполнит запрос для каждого, после чего можно агрегировать результаты в один массив и сохранить в нужную систему.
Батчевый скрейпинг 100+ страниц
При большом количестве страниц последовательные запросы занимают слишком много времени. Используйте асинхронный или batch-эндпоинт API:
- Отправьте массив URL в один запрос (если API поддерживает batch)
- Получите job_id и статус (pending, processing)
- Опросите статус или дождитесь webhook-уведомления о готовности
- Скачайте результаты — обычно JSON-массив с
extractдля каждой страницы
В n8n можно реализовать это так:
- Узел Schedule — запуск раз в день
- Узел Google Sheets — читаем список URL
- Узел Split Out — разбиваем на отдельные элементы (или батчи по 10–20 URL)
- Узел HTTP Request — для каждого URL (с ограничением concurrency, например 5 параллельных)
- Узел для обработки ответов — проверка
success, извлечениеextract - Узел Google Sheets / Airtable — запись результатов
Важно добавлять задержки между запросами (2–5 секунд), чтобы не провоцировать блокировки на стороне целевого сайта. В Make.com для этого есть модуль «Sleep».
Важные нюансы и ограничения
rawHtml vs extract_rules
- rawHtml — возвращает полный HTML страницы. Подходит, когда вы хотите парсить данные сами (например, в последующих узлах workflow) или когда структура страницы нестабильна.
- extract_rules — возвращает только указанные поля. Меньший объём трафика, проще интеграция, но при изменении структуры сайта селекторы могут перестать работать. Рекомендуется мониторинг — если
extractпустой или неполный, настроить алерт.
Резидентные прокси для защищённых сайтов
Маркетплейсы и популярные площадки активно блокируют датацентровые IP. Если вы получаете 403, блокировки или страницы с CAPTCHA — включите резидентные прокси в параметрах API (use_residential: true). Стоимость запроса возрастает, но успешность сбора значительно повышается.
Сессионная привязка (session_id)
При сборе данных с нескольких страниц одного сайта (например, пагинация каталога) используйте один и тот же session_id для всех запросов. API будет направлять трафик через один и тот же IP и сохранять cookies — это снижает вероятность CAPTCHA и блокировок при переходе со страницы на страницу.
Таймауты и повторные попытки
Страницы с тяжёлым JavaScript могут загружаться 15–30 секунд. Увеличьте timeout до 45–60 секунд. В no-code оркестраторе настройте повторные попытки при ошибках (например, 3 попытки с интервалом 10 секунд) — временные сбои сети или перегрузка целевого сайта не должны приводить к потере данных.
Хранение учётных данных
Никогда не храните API-ключ в открытом виде в workflow. Используйте переменные окружения (n8n: Credentials, Make.com: сценарии с секретами) или встроенные хранилища секретов платформы. Это особенно важно при публикации workflow в шаблонные маркетплейды.
Резюме
- No-code стек 2026 года: Scraper API + extract_rules + n8n/Make.com
extract_rulesпозволяют получать структурированные данные без парсинга HTML- Для динамического контента включайте
use_js_renderиjs_wait_for - Батчевая обработка через асинхронный API или параллельные запросы с ограничением concurrency
- Учитывайте: резидентные прокси для защищённых сайтов,
session_idдля многостраничного сбора, таймауты и повторные попытки, безопасное хранение API-ключей
Нужны прокси для стабильного скрейпинга? InfraProxy предоставляет резидентные и датацентровые прокси, подходящие для интеграции с API для скрейпинга. Узнайте подробнее.
Нужны надёжные прокси для вашего проекта?
InfraProxy предоставляет серверные и резидентные прокси для российского бизнеса. Договор, постоплата, техподдержка.
Читайте также
Настройка прокси для мониторинга цен конкурентов
Пошаговое руководство по настройке прокси для мониторинга цен: ротация IP, geo-targeting, sticky-сессии, обход антибот-защит. Код на Python и bash.
РуководстваКак настроить прокси для RAG-пайплайна
Практическое руководство по настройке прокси для RAG-пайплайна: архитектура, код на Python, sticky-сессии, расписание обходов. InfraProxy, SOCKS5, 100 000+ IP.
РуководстваПарсинг вакансий с авторизацией: логин через форму и sticky-сессии
Как собирать данные с площадок с вакансиями, требующих входа: авторизация через js_actions, session_id для сессий, extract_rules и хранение учётных данных.