Все статьиРуководства10 мин

No-code веб-скрейпинг: извлечение данных без программирования

Как настроить сбор данных в 2026 году без написания кода: API для скрейпинга, extract_rules, автоматизация через n8n и Make.com, батчевая обработка 100+ страниц.

Команда InfraProxy

24 февраля 2026 г.

#no-code#скрейпинг#API#автоматизация#extract_rules#n8n#Make

Зачем нужен no-code стек для скрейпинга

Маркетинговые отделы, аналитики и владельцы бизнеса часто сталкиваются с необходимостью регулярно получать данные с сайтов — цены конкурентов, каталоги товаров, рыночная аналитика. При этом не у всех есть доступ к разработчикам или время на изучение Python. No-code стек позволяет настроить сбор данных за считанные часы, используя визуальные инструменты и готовые API.

Архитектура no-code стека в 2026 году

Типичный no-code стек для веб-скрейпинга состоит из трёх компонентов:

  1. API для скрейпинга — облачный сервис, который выполняет запросы к целевым страницам, обходит антибот-защиту и возвращает данные
  2. Правила извлечения — декларативное описание того, какие элементы страницы нужно сохранить (через extract_rules или аналогичные механизмы)
  3. Оркестратор — 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:

  1. Отправьте массив URL в один запрос (если API поддерживает batch)
  2. Получите job_id и статус (pending, processing)
  3. Опросите статус или дождитесь webhook-уведомления о готовности
  4. Скачайте результаты — обычно JSON-массив с extract для каждой страницы

В n8n можно реализовать это так:

  1. Узел Schedule — запуск раз в день
  2. Узел Google Sheets — читаем список URL
  3. Узел Split Out — разбиваем на отдельные элементы (или батчи по 10–20 URL)
  4. Узел HTTP Request — для каждого URL (с ограничением concurrency, например 5 параллельных)
  5. Узел для обработки ответов — проверка success, извлечение extract
  6. Узел 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 предоставляет серверные и резидентные прокси для российского бизнеса. Договор, постоплата, техподдержка.