Освойте парсинг с n8n: автоматизированные рабочие процессы

Последнее обновление: April 15, 2026

Несколько месяцев назад один из наших пользователей прислал нам скриншот workflow в n8n: 14 узлов, с полдюжины стикеров и тема письма, которая звучала просто: «Помогите». Он прошёл популярный туториал по web scraping в n8n, успешно запустил красивый демо-проект на 10 строк на тестовом сайте, а потом попытался собрать реальные цены конкурентов сразу со 200 карточек товаров. Итог? Сломанная петля пагинации, стена из ошибки 403 и молча отключившийся планировщик, который перестал срабатывать после первого же вторника.

Именно на этом разрыве — между демо и рабочим пайплайном — чаще всего и гибнут проекты по парсингу в n8n. Я много лет создаю и работаю в автоматизации, и скажу прямо: сложность обычно не в самом сборе данных. Проблемы начинаются после первого успешного парсинга. Пагинация, расписание, защита от ботов, очистка данных, экспорт и — главное — поддержка, когда сайт в третий раз за квартал меняет структуру. В этом гайде мы разберём весь процесс: от первого узла HTTP Request до повторяющегося production-ready workflow для web scraping в n8n. А там, где подход n8n своими силами упирается в стену, я покажу, как AI-инструменты вроде Thunderbit могут сэкономить вам часы, а то и дни нервов.

Что такое web scraping в n8n и почему большинство туториалов показывают только верхушку айсберга

n8n — это open-source платформа для автоматизации workflow с low-code-подходом. Проще говоря, это визуальное полотно, где вы соединяете «ноды» — каждая выполняет свою задачу (забрать страницу, разобрать HTML, отправить сообщение в Slack, записать данные в Google Sheets) — и собираете из них автоматические цепочки. Большого количества кода не требуется, хотя при необходимости можно вставить JavaScript.

«Web scraping в n8n» — это использование встроенных узлов HTTP Request и HTML (а также community nodes), чтобы получать, разбирать и обрабатывать данные сайтов внутри автоматизированных workflows. Основной процесс состоит из двух шагов: Fetch (узел HTTP Request забирает сырой HTML по URL) и Parse (узел HTML с помощью CSS-селекторов вытаскивает нужные вам данные — названия товаров, цены, email, что угодно).

Платформа огромная: по состоянию на апрель 2026 года у n8n , более 230 000 активных пользователей, 9 166+ шаблонов workflows от сообщества, а новые минорные релизы выходят примерно раз в неделю. В марте 2025 года компания привлекла . Динамика здесь очень сильная.

Но есть одна проблема, о которой почти никто не говорит. Самый популярный туториал по парсингу в n8n на dev.to (от Lakshay Nasa, опубликованный от имени оргкоманды "Extract by Zyte") обещал пагинацию в «Part 2». Вторая часть действительно вышла — и вот что сам автор написал в итоге: «N8N даёт нам режим Pagination по умолчанию внутри узла HTTP Request в разделе Options, и хотя это звучит удобно, в моём опыте для типичных задач web scraping он работал ненадёжно.» В итоге автор перенёс пагинацию на платный сторонний API. Тем временем пользователи форума n8n постоянно называют «pagination, throttling, login» тем самым моментом, когда парсинг в n8n «очень быстро усложняется». Этот гайд и создан, чтобы закрыть этот пробел.

Почему web scraping в n8n важен для отделов продаж, операционных команд и ecommerce

Web scraping в n8n — это не игрушка для разработчиков. Это бизнес-инструмент. Объём в 2025 году составляет примерно $1–1,3 млрд и, по прогнозам, вырастет до $2–2,3 млрд к 2030 году. Только динамическое ценообразование используют около , а уже опираются на альтернативные данные — значительная часть которых собирается с веба. McKinsey отмечает, что внедрение динамического ценообразования даёт .

Вот где настоящая сила n8n раскрывается по-настоящему: не просто в получении данных, а в том, что происходит дальше. n8n позволяет связать парсинг с последующими действиями — обновлением CRM, уведомлениями в Slack, экспортом в таблицы, AI-анализом — в одном workflow.

СценарийКому полезноЧто собираетеБизнес-результат
ЛидогенерацияОтделы продажБизнес-каталоги, страницы контактовНаполняете CRM квалифицированными лидами
Мониторинг цен конкурентовEcommerce-операцииСтраницы товаровКорректируете цены в реальном времени
Отслеживание объявлений по недвижимостиРиелторыZillow, Realtor, локальные MLS-сайтыЗамечаете новые объекты раньше конкурентов
Исследование рынкаМаркетингСайты с отзывами, форумы, новостиВыявляете тренды и настроение клиентов
Мониторинг запасов поставщиков / SKUSupply chainСтраницы товаров поставщикаИзбегаете дефицита и оптимизируете закупки

Данные показывают, что ROI вполне реален: планируют увеличить инвестиции в AI в 2025 году, а автоматизированное nurturing-обслуживание лидов, как показано, может за девять месяцев. Если ваша команда всё ещё копирует данные с сайтов в таблицы вручную, вы буквально теряете деньги.

Инструменты n8n для web scraping: основные узлы и доступные решения

Прежде чем что-то строить, нужно понимать, что лежит в наборе инструментов. Вот основные узлы n8n для web scraping:

  • HTTP Request node: получает сырой HTML по любому URL. Работает как браузер, который отправляет запрос на страницу, но возвращает код, а не рендерит её. Поддерживает GET/POST, заголовки, пакетную обработку и, теоретически, встроенную пагинацию.
  • HTML node (ранее "HTML Extract"): разбирает HTML с помощью CSS-селекторов и вытаскивает конкретные данные — заголовки, цены, ссылки, изображения, всё что нужно.
  • Code node: позволяет писать JavaScript-скрипты для очистки данных, нормализации URL, удаления дублей и добавления собственной логики.
  • Edit Fields (Set) node: перестраивает или переименовывает поля данных для следующих узлов.
  • Split Out node: разбивает массивы на отдельные элементы для обработки.
  • Convert to File node: экспортирует структурированные данные в CSV, JSON и другие форматы.
  • Loop Over Items node: проходит по спискам поэтапно — критично для пагинации, об этом чуть ниже.
  • Schedule Trigger: запускает workflow по расписанию cron.
  • Error Trigger: отправляет уведомление, если workflow упал (это обязательно для production).

Для продвинутого парсинга — сайтов с JavaScript-рендерингом или сильной защитой от ботов — понадобятся community nodes:

ПодходЛучше всего подходит дляУровень навыкаПоддерживает сайты с JS-рендерингомЗащита от ботов
n8n HTTP Request + HTML nodesСтатические сайты, APIНачальный–среднийНетВручную (заголовки, прокси)
n8n + ScrapeNinja/Firecrawl community nodeДинамические / защищённые сайтыСреднийДаВстроенно (ротация прокси, CAPTCHA)
n8n + Headless Browser (Puppeteer)Сложные JS-взаимодействияПродвинутыйДаЧастично (зависит от настройки)
Thunderbit (AI Web Scraper)Любые сайты, пользователи без техподготовкиНачальныйДа (режим Browser или Cloud)Встроенно (использует сессию браузера или облачную обработку)

По состоянию на v2.15.1 в n8n нет встроенного нода headless browser. Любой парсинг JS-рендерящихся страниц требует либо community node, либо внешнего API.

И коротко о Thunderbit: это AI-помощник в виде , которое наша команда создала. Вы нажимаете «AI Suggest Fields», затем «Scrape» — и получаете структурированные данные без CSS-селекторов, без настройки узлов и без постоянной поддержки. По ходу этого гайда я покажу, где Thunderbit подходит лучше, а где n8n остаётся предпочтительнее.

Пошагово: как собрать первый workflow для web scraping в n8n

Теперь, когда базовый набор инструментов понятен, давайте соберём рабочего web scraper в n8n с нуля. В качестве примера возьмём страницу со списком товаров — именно такой кейс обычно нужен для мониторинга цен или анализа конкурентов.

Перед началом:

  • Сложность: начальный–средний уровень
  • Время: примерно 20–30 минут
  • Что понадобится: n8n (self-hosted или Cloud), целевой URL, браузер Chrome (для поиска CSS-селекторов)

Шаг 1: создайте новый workflow и добавьте Manual Trigger

Откройте n8n, нажмите «New Workflow» и дайте ему понятное имя — например, «Competitor Price Scraper». Добавьте узел Manual Trigger. Позже мы заменим его на запуск по расписанию.

На холсте должен появиться один узел, готовый к запуску после нажатия «Test Workflow».

Шаг 2: получите страницу через HTTP Request

Добавьте узел HTTP Request и соедините его с Manual Trigger. Установите метод GET и введите целевой URL, например https://example.com/products.

Теперь самый важный шаг, который большинство туториалов пропускает: добавьте реалистичный заголовок User-Agent. По умолчанию n8n отправляет user agent вида axios/xx, и сайт моментально понимает, что это бот. В разделе «Headers» добавьте:

Имя заголовкаЗначение
User-AgentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
Accepttext/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Если вы парсите несколько URL, включите Batching в разделе Options и задайте паузу 1–3 секунды между запросами. Это помогает не упереться в rate limits.

Запустите узел. В панели вывода вы должны увидеть сырой HTML.

Шаг 3: извлеките данные через HTML node

Подключите узел HTML к выходу HTTP Request. В качестве операции выберите Extract HTML Content.

Чтобы найти правильные CSS-селекторы, откройте целевую страницу в Chrome, кликните правой кнопкой по нужному элементу, например названию товара, и выберите «Inspect». В панели Elements нажмите правой кнопкой по подсвеченному HTML-элементу и выберите «Copy → Copy selector».

Настройте поля извлечения так:

КлючCSS SelectorВозвращаемое значение
product_name.product-titleText
price.price-currentText
url.product-linkAttribute: href

Запустите узел. В выводе вы увидите таблицу со структурированными данными — названиями товаров, ценами и URL.

Шаг 4: очистите и нормализуйте данные через Code node

Сырые данные после парсинга почти всегда грязные. Цены содержат лишние пробелы, URL могут быть относительными, а в текстовых полях остаются лишние переносы строк. Добавьте узел Code и соедините его с HTML node.

Вот простой JavaScript-скрипт для очистки:

1return items.map(item => {
2  const d = item.json;
3  return {
4    json: {
5      product_name: (d.product_name || '').trim(),
6      price: parseFloat((d.price || '').replace(/[^0-9.]/g, '')),
7      url: d.url && d.url.startsWith('http') ? d.url : `https://example.com${d.url}`
8    }
9  };
10});

Этот шаг критически важен для данных уровня production. Пропустите его — и ваша таблица будет заполнена вроде бы такими же значениями, но с лишними пробелами и переносами вроде "$ 29.99\n".

Шаг 5: экспортируйте данные в Google Sheets, Airtable или CSV

Подключите узел Google Sheets (или Airtable, либо Convert to File для CSV). Авторизуйтесь через свой Google-аккаунт, выберите таблицу и лист, а затем сопоставьте поля из выхода Code node с заголовками колонок.

Запустите весь workflow. В таблице должны появиться чистые, структурированные данные.

Кстати: в Google Sheets, Airtable, Notion и Excel вообще без настройки узлов. Если вам не нужен полный цепочный workflow и вы хотите просто получить данные, это очень удобный обходной путь.

Часть, которую пропускает почти каждый туториал по n8n web scraping: полноценная пагинация

Пагинация — это проблема №1 в контенте про парсинг в n8n и источник №1 раздражения на форумах сообщества.

Есть два основных паттерна пагинации:

  1. Переход по страницам / увеличение URL — страницы вида ?page=1, ?page=2 и т. д.
  2. Бесконечная прокрутка — контент подгружается по мере скролла вниз (как в Twitter, Instagram или многих современных каталогах товаров).

Пагинация по страницам в n8n (увеличение URL через Loop nodes)

Встроенная опция Pagination в меню Options узла HTTP Request звучит удобно. На практике она ненадёжна. Самый популярный автор туториала по n8n scraping (Lakshay Nasa) тоже пробовал её и написал: «в моём опыте она работала ненадёжно». Пользователи форума жалуются, что она , и не может определить последнюю страницу.

n8n-pagination-chain-workflow.webp

Надёжный подход: явно сформировать список URL в Code node, а затем пройтись по нему через Loop Over Items.

Схема такая:

  1. Добавьте Code node, который сгенерирует URL страниц:
1const base = 'https://example.com/products';
2const totalPages = 10; // или определяйте динамически
3return Array.from({length: totalPages}, (_, i) => ({
4  json: { url: `${base}?page=${i + 1}` }
5}));
  1. Подключите Loop Over Items, чтобы проходить по списку.
  2. Внутри цикла добавьте узел HTTP Request (в поле URL используйте {{ $json.url }}), а затем HTML node для парсинга.
  3. Добавьте узел Wait (1–3 секунды, лучше случайная пауза) внутри цикла, чтобы не попасть под ограничения 429.
  4. После цикла соберите результаты и экспортируйте их в Google Sheets или CSV.

Полная цепочка: Code (генерация URL) → Loop Over Items → HTTP Request → HTML → Wait → (возврат в цикл) → Aggregate → Export.

Есть один подводный камень: у узла Loop Over Items есть , из-за которого вложенные циклы могут тихо пропускать элементы. Если вы делаете пагинацию и одновременно обогащаете данные со вложенных страниц, тестируйте особенно внимательно — счётчик "done" может не совпасть с количеством входных элементов.

Пагинация с бесконечной прокруткой: почему встроенные узлы n8n здесь буксуют

Страницы с infinite scroll подгружают контент через JavaScript по мере прокрутки. Узел HTTP Request забирает только первоначальный HTML — он не умеет выполнять JavaScript и не может имитировать скролл. У вас есть два варианта:

  • Использовать community node с headless browser (например, или ), чтобы рендерить страницу и имитировать прокрутку.
  • Использовать scraping API (ScrapeNinja, Firecrawl, ZenRows) с включённым JS-рендерингом.

Оба варианта сильно усложняют настройку. На каждый сайт уходит 30–60+ минут только на подключение, не считая дальнейшей поддержки.

Как Thunderbit обрабатывает пагинацию без настройки

Я, конечно, не совсем объективен, но разница очень заметна:

Возможностьn8n (workflow своими силами)Thunderbit
Пагинация по страницамРучная настройка цикла и увеличение URLАвтоматически — определяет пагинацию и проходит её
Страницы с infinite scrollТребуется headless browser и community nodeПоддержка встроена, настройка не нужна
Усилия на запуск30–60 минут на сайт2 клика
Количество страниц за пакетПоследовательно, по одной50 страниц одновременно (Cloud Scraping)

Если вы собираете данные с 200 страниц товаров на 10 разных списках, n8n займёт у вас весь день. Thunderbit справится примерно за две минуты. Это не критика n8n — просто другой инструмент для другой задачи.

Настроил и забыл: pipelines для web scraping в n8n по cron-расписанию

Разовый парсинг полезен, но настоящая сила web scraping в n8n — это регулярный автоматический сбор данных. Удивительно, но почти ни один туториал по n8n scraping не объясняет, как использовать Schedule Trigger, хотя это одна из самых востребованных функций в сообществе.

Как собрать ежедневный pipeline для мониторинга цен

Замените Manual Trigger на узел Schedule Trigger. Можно использовать интерфейс n8n («Every day at 8:00 AM») или cron-выражение (0 8 * * *).

Полная цепочка workflow:

  1. Schedule Trigger (ежедневно в 8:00)
  2. Code node (генерация paginated URL)
  3. Loop Over Items → HTTP Request → HTML → Wait (сбор всех страниц)
  4. Code node (очистка данных, нормализация цен)
  5. Google Sheets (добавление новых строк)
  6. IF node (упала ли цена ниже порога?)
  7. Slack (отправка уведомления, если да)

Рядом обязательно настройте отдельный workflow с Error Trigger, который будет срабатывать при любой неудачной обработке и слать ping в Slack. Иначе, когда селекторы сломаются, а они сломаются, вы узнаете об этом только через три недели, когда отчёт окажется пустым.

Два неочевидных требования:

  • n8n должен работать 24/7. Если self-hosted-версия запущена на ноутбуке, закрытая крышка просто остановит срабатывание. Используйте сервер, Docker или n8n Cloud.
  • После каждого изменения workflow выключайте и снова включайте его. В n8n Cloud есть , из-за которой планировщики после редактирования могут тихо отвязываться без каких-либо ошибок.

Как собрать еженедельный pipeline для извлечения лидов

Тот же принцип, только другой сценарий: Schedule Trigger (каждый понедельник в 9:00) → HTTP Request (business directory) → HTML (извлечение имени, телефона, email) → Code (удаление дублей, очистка формата) → отправка в Airtable или HubSpot.

n8n-vs-thunderbit-scheduled-scraping.webp

Затраты на поддержку — это тот скрытый расход, о котором редко говорят. Если каталог меняет структуру, ваши CSS-селекторы ломаются и workflow падает молча. По оценке HasData, на от первоначального времени сборки нужно закладывать поддержку в год для любого selector-based pipeline. Если вы поддерживаете около 20 сайтов, это уже очень ощутимо.

Scheduled Scraper от Thunderbit: альтернатива без кода

У Thunderbit есть Scheduled Scraper: вы описываете интервал обычным языком, например «каждый понедельник в 9 утра», указываете URL и нажимаете «Schedule». Всё работает в облаке — без хостинга, без cron-выражений и без тихого отвязывания триггеров.

Параметрn8n Scheduled WorkflowThunderbit Scheduled Scraper
Настройка расписанияcron-выражение или UI n8nОписание обычным языком
Очистка данныхНужен ручной Code nodeAI автоматически очищает, маркирует и переводит
Куда экспортироватьНужны интеграционные узлыGoogle Sheets, Airtable, Notion, Excel (бесплатно)
Требования к хостингуSelf-hosted или n8n CloudНет — работает в облаке
Поддержка при изменении сайтаСелекторы ломаются, нужна ручная правкаAI заново читает сайт каждый раз

Именно последняя строка здесь важнее всего. Пользователи форумов говорят об этом прямо: «всё нормально, пока сайт не поменяет структуру». AI-подход Thunderbit снимает эту боль, потому что он не завязан на жёстко заданные CSS-селекторы.

Когда ваш n8n scraper блокируют: руководство по устранению anti-bot проблем

Блокировки — это проблема №1 после пагинации. Стандартный совет «добавьте заголовок User-Agent» полезен примерно так же, как экранная дверь во время урагана.

Согласно Imperva 2025 Bad Bot Report, , и из него — вредоносные. В ответ антибот-провайдеры (Cloudflare, Akamai, DataDome, HUMAN, PerimeterX) используют TLS fingerprinting, JavaScript-челленджи и поведенческий анализ. Узел HTTP Request в n8n, который работает поверх библиотеки Axios, формирует характерный TLS fingerprint, легко отличимый от браузерного. Изменение User-Agent ничего не решает — выдаёт вас ещё до того, как сервер прочитает HTTP-заголовки.

Дерево решений для anti-bot проблем

Вот системный подход к отладке, а не просто «добавьте User-Agent»:

Запрос заблокирован?

  • 403 Forbidden → Добавьте заголовки User-Agent + Accept (см. Шаг 2 выше) → Всё ещё блокируют?
    • Да → Добавьте ротацию residential proxy → Всё ещё блокируют?
      • Да → Перейдите на scraping API (ScrapeNinja, Firecrawl, ZenRows) или community node с headless browser
      • Нет → Продолжайте
    • Нет → Продолжайте
  • Появляется CAPTCHA → Используйте scraping API со встроенным решением CAPTCHA (например, )
  • Пустой ответ (контент рендерится через JS) → Используйте community node с headless browser или scraping API с JS-рендерингом
  • Слишком много запросов (ошибка 429) → Включите batching в HTTP Request, задайте паузу 2–5 секунд между пакетами, уменьшите concurrency

Ещё один подводный камень: у n8n есть , из-за которого узел HTTP Request не может корректно проксировать HTTPS через HTTP proxy. Библиотека Axios ломается на TLS handshake, хотя curl в том же контейнере работает нормально. Если вы используете прокси и видите странные ошибки соединения, скорее всего, дело в этом.

Почему Thunderbit обходит большинство проблем с anti-bot

У Thunderbit есть два режима парсинга:

  • Browser Scraping: работает внутри вашего реального Chrome-браузера, наследуя cookies сессии, состояние входа и browser fingerprint. Это позволяет обходить большинство антибот-защит, которые блокируют серверные запросы, потому что запрос идёт из настоящего браузера.
  • Cloud Scraping: для общедоступных сайтов облако Thunderbit само обрабатывает антибот-ограничения в масштабе — .

Если вы тратите больше времени на борьбу с Cloudflare, чем на анализ данных, это практичная альтернатива.

Честно: когда web scraping в n8n работает, а когда лучше выбрать другой инструмент

n8n — отличная платформа. Но она подходит не для каждой задачи парсинга, и в статьях конкурентов об этом часто не говорят честно. Пользователи буквально спрашивают на форумах: «насколько сложно создать web scraper в n8n?» и «какой scraping-инструмент лучше всего работает с n8n?»

Где web scraping в n8n особенно силён

  • Многошаговые workflows, где сбор данных сочетается с дальнейшей обработкой — обновлением CRM, уведомлениями в Slack, AI-анализом, записью в базы данных. Это главная сильная сторона n8n.
  • Сценарии, где scraping — только один узел в более длинной цепочке автоматизации: собрать → обогатить → отфильтровать → передать в CRM.
  • Технически подготовленные пользователи, которым комфортно работать с CSS-селекторами и логикой на основе узлов.
  • Ситуации, где нужна собственная трансформация данных между сбором и сохранением.

Где web scraping в n8n становится болезненным

  • Нетехнические пользователи, которым данные нужны быстро. Настройка узлов, поиск CSS-селекторов и отладка для бизнес-пользователей довольно тяжёлые.
  • Сайты с сильной защитой от ботов. Появляются дополнительные расходы и сложность из-за прокси и API.
  • Поддержка при изменении структуры сайта. CSS-селекторы ломаются, workflow падает молча.
  • Массовый сбор с большого числа разных сайтов. Для каждого сайта нужна своя конфигурация селекторов.
  • Обогащение через подстраницы. Требует создавать отдельные под-workflow внутри n8n.

Сравнение: n8n, Thunderbit и Python-скрипты

Факторn8n DIY ScrapingThunderbitPython Script
Необходимый уровень навыковСредний (узлы + CSS-селекторы)Никаких (AI предлагает поля)Высокий (код)
Время настройки на новый сайт30–90 минутОколо 2 минут1–4 часа
Работа с anti-botВручную (заголовки, прокси, API)Встроенно (режимы browser/cloud)Вручную (библиотеки)
Поддержка при изменении сайтаРучное обновление селекторовНоль — AI адаптируется автоматическиРучное обновление кода
Поддержка многошаговых workflowОтлично (основная сила)Экспорт в Sheets/Airtable/NotionТребуется кастомный код
Стоимость в масштабеХостинг n8n + прокси/APIПо кредитам (~1 кредит за строку)Сервер + прокси
Обогащение через подстраницыВручную — отдельный под-workflowПодстраницы в 1 кликКастомный скрипт

Вывод: используйте n8n, когда scraping — это часть сложной многошаговой автоматизации. Используйте Thunderbit, когда данные нужны быстро и без сборки workflows. Используйте Python, когда вам нужен максимальный контроль и есть ресурсы разработчиков. Это не конкуренты — это взаимодополняющие инструменты.

n8n-thunderbit-python-comparison.webp

Реальные workflows для web scraping в n8n, которые вы действительно можете скопировать

На форумах постоянно спрашивают: «Кто-нибудь объединял это в многошаговые workflows?» Вот три конкретных сценария — реальные последовательности узлов, которые можно собрать уже сегодня.

Workflow 1: мониторинг цен конкурентов в ecommerce

Цель: ежедневно отслеживать цены конкурентов и получать уведомление, когда они снижаются.

Цепочка узлов: Schedule Trigger (ежедневно, 8:00) → Code (генерация paginated URL) → Loop Over Items → HTTP Request → HTML (извлечение названия товара, цены, наличия) → Wait (2 сек) → (возврат в цикл) → Code (очистка данных, нормализация цен) → Google Sheets (добавление строк) → IF (цена ниже порога?) → Slack (отправка уведомления)

Сложность: 8–10 узлов, 30–60 минут на настройку для одного сайта конкурента.

Быстрый путь через Thunderbit: Scheduled Scraper от Thunderbit + позволяют добиться похожего результата за минуты, с бесплатным экспортом в Google Sheets.

Workflow 2: pipeline для лидогенерации в продажах

Цель: еженедельно собирать данные из бизнес-каталога, очищать и категоризировать лиды, затем отправлять их в CRM.

Цепочка узлов: Schedule Trigger (еженедельно, понедельник 9:00) → HTTP Request (страница списка каталога) → HTML (извлечение имени, телефона, email, адреса) → Code (удаление дублей, очистка формата) → OpenAI/Gemini node (категоризация по отрасли) → HubSpot node (создание контактов)

Примечание: у n8n есть встроенный — полезно для отправки данных в CRM. Но этапы парсинга и очистки всё равно требуют ручной работы с CSS-селекторами.

Быстрый путь через Thunderbit: бесплатные и Phone Number Extractor от Thunderbit могут собрать контактные данные в 1 клик без создания workflow. AI-метки тоже помогают категоризировать лиды прямо во время извлечения. Пользователи, которым не нужен полный автоматизированный конвейер, могут вообще пропустить настройку n8n.

Workflow 3: трекинг новых объектов недвижимости

Цель: еженедельно находить новые объявления на Zillow или Realtor.com и отправлять email-дайджест.

Цепочка узлов: Schedule Trigger (еженедельно) → HTTP Request (страницы объявлений) → HTML (извлечение адреса, цены, количества спален, ссылки) → Code (очистка данных) → Google Sheets (добавление) → Code (сравнение с данными прошлой недели, отметка новых объявлений) → IF (новые объявления найдены?) → Gmail/SendGrid (отправка дайджеста)

Примечание: у Thunderbit есть — CSS-селекторы не нужны. Тем, кому нужен полный автоматический цикл (собрать → сравнить → уведомить), подойдёт n8n; тем, кому нужны только сами данные, лучше подойдёт Thunderbit.

Для большего числа идей посмотрите шаблоны в сообществе n8n: , и .

Советы, как поддерживать ваши n8n pipelines для web scraping в рабочем состоянии

Production scraping — это 20% сборки и 80% поддержки.

Используйте batching и задержки, чтобы не попадать под rate limits

Включите batching в узле HTTP Request и задайте паузу 1–3 секунды между пакетами. Параллельные запросы — самый быстрый способ получить бан по IP. Немного терпения здесь экономит много боли позже.

Следите за выполнениями workflow, чтобы не пропускать тихие сбои

Используйте вкладку Executions в n8n, чтобы проверять неудачные запуски. После изменения структуры сайта scraped data может возвращаться пустой без явной ошибки — workflow формально «успешен», но таблица заполнена пустыми ячейками.

Настройте отдельный workflow с Error Trigger, который будет срабатывать на любой сбой и отправлять уведомление в Slack или по email. Для production это не обсуждается — это must-have.

Храните CSS-селекторы отдельно, чтобы было проще обновлять

Держите CSS-селекторы в Google Sheet или в переменных окружения n8n, чтобы менять их без редактирования самого workflow. Когда сайт меняет структуру, вам нужно будет обновить селектор только в одном месте.

Поймите, когда пора перейти на AI-powered scraper

Если вы постоянно обновляете CSS-селекторы, боретесь с антибот-защитой или тратите больше времени на поддержку скриперов, чем на использование данных, стоит посмотреть на AI-инструмент вроде , который каждый раз заново читает сайт и автоматически подстраивается. Подход работает отлично: Thunderbit берёт на себя хрупкий слой извлечения данных — ту часть, что ломается каждый раз, когда сайт меняет <div> — экспортирует результат в Google Sheets или Airtable, а n8n подхватывает новые строки через встроенный триггер Sheets/Airtable и занимается оркестрацией: обновлением CRM, уведомлениями, условной логикой, раздачей данных по разным системам.

Итог: соберите pipeline, который подходит вашей команде

Web scraping в n8n очень мощный, когда вам нужен парсинг как один из шагов более крупного automation workflow. Но он требует технической настройки, постоянной поддержки и терпения при работе с пагинацией, антибот-защитой и настройкой расписания. В этом гайде мы разобрали весь процесс: первый workflow, пагинацию — ту самую часть, которую пропускает почти каждый туториал, расписания, устранение anti-bot проблем, честный разбор того, где n8n действительно уместен, и реальные workflows, которые можно взять за основу.

Я смотрю на это так:

  • Используйте n8n, когда парсинг — это часть сложной многошаговой автоматизации: обновление CRM, уведомления в Slack, AI-обогащение, условная маршрутизация.
  • Используйте , когда данные нужны быстро и без сборки workflow: AI помогает с выбором полей, пагинацией, anti-bot и экспортом всего за 2 клика.
  • Используйте Python, когда нужен максимальный контроль и у вас есть ресурсы разработчиков.

И, честно говоря, для многих команд лучшая схема — это комбинация: Thunderbit для извлечения данных, n8n для оркестрации. Если хотите увидеть, как AI-powered scraping выглядит по сравнению с вашим workflow в n8n, позволит протестировать всё на небольшом масштабе — а ставится за секунды. Для видеоразборов и идей workflows загляните на .

Попробуйте Thunderbit для AI-парсинга веб-страниц

Часто задаваемые вопросы

Может ли n8n парсить сайты с тяжёлым JavaScript?

Не только встроенным узлом HTTP Request. Этот узел получает сырой HTML и не может выполнять JavaScript. Для сайтов с JS-рендерингом нужен community node вроде или интеграция со scraping API (ScrapeNinja, Firecrawl), которое рендерит JavaScript на сервере. Thunderbit умеет работать с такими сайтами нативно — и в режиме Browser Scraping, и в Cloud Scraping.

Web scraping в n8n бесплатный?

Self-hosted версия n8n бесплатна и open source. У n8n Cloud раньше был бесплатный тариф, но по состоянию на апрель 2026 года доступен только 14-дневный trial — после этого тарифы начинаются от $24 в месяц за 2 500 executions. Для парсинга защищённых сайтов также могут понадобиться платные прокси ($5–15/GB за residential proxies) или scraping API ($49–200+ в месяц в зависимости от объёма).

Как n8n web scraping сравнивается с Thunderbit?

n8n лучше подходит для многошаговой автоматизации, где сбор данных — это только одна часть большего workflow (например, собрать → обогатить → отфильтровать → отправить в CRM → уведомить в Slack). Thunderbit лучше для быстрого no-code извлечения данных с AI-подбором полей, автоматической пагинацией и без поддержки при изменении сайтов. Многие команды используют оба инструмента вместе: Thunderbit для сбора, n8n для оркестрации.

Можно ли через n8n собирать данные с сайтов, где нужен логин?

Да, но для этого нужно настраивать cookies или session tokens в узле HTTP Request, а это бывает трудно поддерживать. Режим Browser Scraping в Thunderbit автоматически наследует уже авторизованную сессию Chrome пользователя — если вы вошли в систему, Thunderbit сможет собрать то, что вы видите.

Что делать, если мой scraper в n8n внезапно перестал возвращать данные?

Сначала проверьте вкладку n8n Executions на наличие ошибок. Самая частая причина — изменение структуры сайта, из-за которого сломались CSS-селекторы: workflow формально «успешен», но возвращает пустые поля. Проверьте селекторы через Inspect в Chrome, обновите их в workflow (или в вашей отдельной таблице селекторов) и протестируйте снова. Если вас блокирует anti-bot, пройдите по дереву решений из этого гайда. Для долгосрочной надёжности стоит рассмотреть AI-powered scraper вроде Thunderbit, который автоматически адаптируется к изменениям структуры.

Узнайте больше

Содержание

Попробуй Thunderbit

Собирай лиды и другие данные всего в 2 клика. На базе AI.

Получить Thunderbit Это бесплатно
Извлекай данные с помощью AI
Легко передавай данные в Google Sheets, Airtable или Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week