До 12.5 млн токенов на тест ИИ-агента
Вход/ Регистрация

Как настроить автоматическую выгрузку данных через n8n

Роман Панков
Роман Панков
Технический писатель
24 сентября 2025 г., обновлено 27 сентября 2026
1745
23 минуты чтения

Если вы выгружали данные с сайтов вручную, то знаете, как это утомляет: нужно открыть сайт и множество ссылок, потом перейти по каждой, скопировать данные и вставить в таблицу. А если данных много, процесс превращается в нескончаемую рутину.

Хорошая новость — это можно автоматизировать без навыков программирования. Один раз настроить сценарий, и всё будет работать самостоятельно: платформа n8n возьмет данные, сохранит их в базу и отправит дальше, если нужно.

В этой статье рассмотрим, как настроить такой процесс с минимальными усилиями. Мы создадим цепочку, которая:

  • получает список статей,
  • сохраняет данные в PostgreSQL,
  • собирает полный текст каждой публикации,
  • складывает всё в базу.

Всё это не требует специальных навыков: достаточно базового понимания, как работает терминал и веб-панель. Можно разобраться, даже если вы впервые слышите про n8n. 

Дальше разложим процесс по шагам — от запуска сервера до сборки рабочего процесса. В конце получите схему, которая экономит часы и делает рутину за вас.

Обзор задачи и инфраструктуры

Предположим, нужно собрать тексты всех статей раздела «Инструкции». Чтобы выполнить задачу, разобьем ее на последовательность шагов — иначе это называется пайплайном. 

Что нужно сделать?

  1. Собрать в каталоге названия всех статей и ссылки на них. Сайт отдает данные в каталоге статей по страницам — нельзя получить все ссылки сразу. Нужно собрать данные циклично.

  2. В цикле — сохранить собранные ссылки в базу данных. Если ссылок много, надежнее всего хранить промежуточные данные в базе данных. 

  3. После цикла — извлечь ссылки из БД и начать новый цикл. Перед началом этапа мы получили таблицу со ссылками на статьи. Теперь нужно обработать каждую ссылку и получить текст.

  4. Сохранить тексты статей. В новом цикле сохраняем данные в новую таблицу в базе данных. 

Что будем использовать?

Чтобы реализовать проект, возьмем готовые облачные сервисы. В Timeweb Cloud можно быстро развернуть:

  1. Облачный сервер с предустановленным образом n8n. Работа в терминале не потребуется вовсе — система сама установит зависимости и предоставит временный домен для доступа в веб-интерфейс n8n.

  2. Облачная база данных (DBaaS) PostgreSQL.

Шаг 1. Создайте сервер с n8n

Чтобы не тратить время на ручную установку, воспользуйтесь готовым решением. В маркетплейсе Timeweb Cloud выберите предустановленный образ n8n и запустить сервер буквально в пару кликов.

Зайдите в панель управления и откройте раздел «Облачные серверы» в панели слева. Нажмите на кнопку «Добавить». В пункте «1. Образ» выберите вкладку «Маркетплейс», а в поиске введите n8n. Выберите появившийся вариант, подходящую локацию и конфигурацию.

Отдельное внимание уделите локации сервера. Эта статья — первая из серии статей про автоматизацию технической поддержки через n8n. В ней мы рассматриваем автоматическую выгрузку данных, а далее — использование AI-ассистента на основе выгруженных данных. Если вы планируете работать с API зарубежных сервисов, таких как OpenAI ChatGPT или Anthropic Claude, рекомендуем сразу создавать сервис за рубежом.

При выборе конфигурации учитывайте, что n8n сам по себе очень легкий — его образ не содержит ничего лишнего. Основная нагрузка приходится на память (RAM). Она используется для поддержки множества одновременных задач, записи большого объема логов/истории. Дополнительные ядра CPU пригодятся для масштабных цепочек с множеством преобразований и при большом числе одновременных запусков. Ниже сравнительная таблица по выбору подходящего конфига: 

Конфигурация

Характеристика

Для каких задач подойдет

1 × 3.3 ГГц, 2 ГБ, 30 ГБ

Слабо

Тестовые сценарии, 1-2 простых workflow без больших циклов и обработки вложений. 

2 × 3.3 ГГц, 2 ГБ, 40 ГБ

Оптимально для большинства задач

Небольшие автоматизации: выгрузка данных, работа с API, сохранение в БД, периодические задачи. Можно начинать с этого тарифа.

2 × 3.3 ГГц, 4 ГБ, 50 ГБ

Универсальный вариант

Средняя нагрузка: десятки активных workflow, циклы по сотням элементов, работа с JSON и парсингом. Хороший запас по памяти.

4 × 3.3 ГГц, 8 ГБ, 80 ГБ

Для продакшна и больших сценариев

Высокая нагрузка: постоянные cron-триггеры, обработка больших массивов данных, интеграции с несколькими сервисами.

8 × 3.3 ГГц, 12 ГБ, 100 ГБ

С избытком для n8n

Подходит, если планируете ставить дополнительные контейнеры (например, очередь сообщений, собственный API). Только для n8n обычно избыточно.

8 × 3.3 ГГц, 16 ГБ, 160 ГБ

Избыточно

Нет смысла брать под один n8n. Такой тариф нужен, если планируете одновременно запускать много сервисов (сервер приложений, базы, брокеры).

В пункте «4. Сеть» оставьте выбранным публичный IPv4-адрес — он гарантирует доступность по домену из любой сети. Добавьте приватную сеть — для соединения с базой данных; можно использовать настройки по умолчанию. В остальных пунктах изменяйте параметры по необходимости. Нажмите на кнопку «Заказать». 

Создание и настройка сервера занимает около 10 минут. Пока сервер создается, можно создать базу данных. Перейдите к шагу 2, а после вернитесь сюда и завершите настройку. По окончании на электронную почту придет уведомление, а в панели появится технический домен — через него мы будем работать с n8n. 

Image19

URL для доступа появляется в панели вскоре после создания сервера

Перейдите по ссылке в панели. Введите данные для начала работы.

Image7

Первоначальный экран в n8n

После короткого опроса n8n предложит включить платные (в будущем) функции, которые сейчас навсегда бесплатно доступны всем новым пользователям. Среди них — история workflow, расширенная отладка ошибок и организация сценариев по папкам. Чтобы активировать эти возможности, укажите свой email и ввести код из письма.

Image3

Экран с активацией платных функций. На момент написании статьи эта функциональность бесплатна.

Настройка сервера на этом завершена. 

Шаг 2. Создайте базу данных PostgreSQL

Когда сервер с n8n уже работает, нужно подготовить место для хранения данных. Для этого используем облачную базу данных PostgreSQL — DBaaS.

Это удобнее и практичнее, чем разворачивать ее самостоятельно: вам не нужно устанавливать и поддерживать оборудование, настраивать ПО и администрировать сложные хранилища. К тому же, если вам нужно отказоустойчивое решение — в Timeweb Cloud можно развернуть кластер баз данных.  

Зайдите в панель управления, нажмите на таб «Базы данных» в панели слева. Нажмите на кнопку «Добавить». В пункте «1. Тип базы данных» выберите СУБД PostgreSQL 17. 

В пункте «4. Сеть» можно отключить публичный IPv4-адрес — подключение к базе данных будет происходить через приватную сеть. Это не только безопаснее, но и экономнее.

Нажмите на кнопку «Заказать». База данных будет готова примерно через 5 минут.

Шаг 3. Изучите общую информацию об устройстве n8n

В n8n разобраться легко — и в этом несложно убедиться. В этом шаге посмотрим на основные элементы в n8n и изучим, за что они отвечают и когда их использовать.

Что такое ноды и зачем они нужны

В n8n любая автоматизация собирается из нод (nodes) — блоков, которые выполняют одну конкретную задачу:

Тип ноды

Что делает

Trigger

Запускает workflow по событию: по времени (Schedule), по веб‑хуку, при изменении в сервисе

Action

Отправляет запрос или выполняет операцию: HTTP Request, отправка письма, запись в БД.

Logic

Управляет потоком: If, Switch, Merge, Split In Batches.

Function / Code

Позволяет вставить JS‑код (Function, Code) или быстрые Expressions.

 Любой сценарий можно реализовать через эти типы.

Как создавать ноды

  1. Нажмите «+» в правом верхнем углу рабочего поля или на стрелке выходной точки другой ноды.
  2. Введите в поиске название узла — пример: http или postgres.
  3. Кликните — нода появится и сразу откроется ее панель настроек.
  4. Заполните обязательные поля: URL, метод, креды. Поля с красной рамкой считаются обязательными.
  5. Нажмите Execute Node  — вы увидите «green check» и секцию OUTPUT с данными. Это быстрый способ проверить, что узел настроен верно.

Что еще полезного есть в n8n

Возможность

Где найти

Зачем нужна

Credentials

Главная страница n8n (Overview), вкладка Credentials 

Хранит логины/токены; один раз настроить и можно использовать в любой ноде.

Variables

Любое поле ввода поддерживает выражения {{ ... }}

Динамические даты, счетчики, ссылки на данные предыдущих узлов.

Executions

Главная страница n8n (Overview), вкладка Executions

Логи всех запусков: видно входные/выходные данные, ошибки, время выполнения.

Workflow History

Включается при активации расширенных функций

Кнопка находится в верхней панели на странице Workflow

Аналог Git: можно откатиться к любой версии сценария.

Folders

Главный экран

Создать папку можно нажатием на икнонку папки с плюсом. Она находится рядом с сортировкой и поиском по workflow

Удобная иерархия, если сценариев десятки.

Templates

Вкладка Templates слева на экране workflow, или по ссылке

Готовые рецепты: подключение Airtable, Slack‑бот, парсинг RSS.

Шаг 4. Соберите рабочий процесс в n8n

Теперь у нас есть всё необходимое: сервер с n8n и база PostgreSQL — можно переходить к сборке пайплайна. 

На главном экране нажмите на кнопку «Create workflow» — откроется рабочая среда. 

Если вы повторяете пример из статьи и что-то не получается, воспользуйтесь готовой копией рабочей среды. Ее можно легко развернуть в n8n на своем сервере и посмотреть, если возникли сложности. 

Для старта пайплайна нужен триггер. Для тестов используйте «Trigger manually» — с его помощью можно запускать процесс с помощью клика по кнопке. После тестирования можно использовать любой подходящий — например, настроить выгрузку данных по времени, раз в сутки. 

Image10

Окно n8n после создания workflow — выбор триггера для запуска сценария вручную или по расписанию

Составим «универсальный» пайплайн — он будет ходить по сайтам, постранично извлекать ссылки, затем проходиться по всем и извлекать данные. Правда, так как все сайты устроены по-разному и используют разные технологии, нет гарантии, что решение будет работать на любом сайте без доработок.

Получите запрос из браузера

Нажмите на «+» рядом с триггером — откроется панель выбора дальнейшего действия. В строке поиска наберите «http» и выберите «HTTP Request».

Image4

Выбор следующего шага в n8n — добавление узла «HTTP Request» для отправки запросов к сайту

Откроется панель для настройки параметров. Но можно просто импортировать нужные данные из браузера — тогда не придется вникать в детали работы HTTP-запросов.

Сейчас нужно понять, как именно браузер получает данные, чтобы отобразить их на странице. Обычно это происходит одним из двух способов: в ответе с сервера приходит готовая HTML-страница с данными или JSON-словарь. 

Откройте в браузере страницу, откуда нужно взять данные. Для примера используем страницу «Инструкции». Далее откройте инструменты разработчика (DevTools) нажатием F12. Перейдите на вкладку «Network» или «Сеть». 

Image14

Пример использования вкладки «Network» в DevTools для отслеживания запросов сайта и изучения их ответов

На нашем сайте-доноре есть кнопка — «Показать еще 12 публикаций». По нажатии на нее браузер сделает запрос к серверу и получит ответ. Так работает на многих сайтах.

Когда пользователь нажимает кнопку для показа деталей, обычно отправляется один запрос, который сразу возвращает нужную информацию. Изучим ответ — для этого нажмите на появившийся запрос и перейдите на вкладку «Response» или «Ответ» (1). Там действительно есть вся информация про статью, включая ссылку (2). 

Если следуете примеру, найдите GET-запрос, который начинается на https://content.timeweb.com/items/cloud_tutorials?... — именно он возвращает список публикаций. У вас он может отличаться, если вы анализируете другой сайт.

Image28

DevTools — просмотр вкладки «Response» для анализа JSON-ответа сервера с данными о статьях и ссылками

На вкладке «Headers» или «Заголовки» можно изучить структуру ответа — чтобы понять, как он строится. Видим, что в примере на сервер передаются параметры — limit и offset. Первый ограничивает количество выдаваемых статей в одном запросе, в нашем случае до 12 штук. Второй — сдвиг относительно начала. В запросе на скриншоте offset равен 6. Это верно, потому что 6 статей изначально отображаются на странице, когда мы заходим, и браузеру нет смысла получать их вновь. 

Image11

DevTools — вкладка «Headers» показывает параметры запроса, включая limit и offset для постраничной загрузки данных

Чтобы получать статьи с других страниц, с каждым запросом будем сдвигать параметр offset и накапливать данные.

Скопируйте команду в формате cURL — она включает всю информацию о запросе. Нажмите правой кнопкой мыши по запросу в веб-инспекторе, выберите параметр «Копировать значение» (1), а далее «Копировать как cURL» (2). В примере запрос выглядит так:

    
curl 'https://content.timeweb.com/items/cloud_tutorials?limit=12&offset=6&fields\[\]=url&fields\[\]=title&fields\[\]=image&fields\[\]=date_created&fields\[\]=tags&fields\[\]=author.name&fields\[\]=author.link_github&fields\[\]=author.link_email&fields\[\]=author.link_telegram&fields\[\]=author.bio&fields\[\]=author.tags&fields\[\]=author.path&fields\[\]=author.avatar&fields\[\]=author.details&fields\[\]=author_reviewed.name&fields\[\]=author_reviewed.gender&fields\[\]=author_reviewed.link_github&fields\[\]=author_reviewed.link_email&fields\[\]=author_reviewed.link_telegram&fields\[\]=author_reviewed.bio&fields\[\]=author_reviewed.tags&fields\[\]=author_reviewed.path&fields\[\]=author_reviewed.avatar&fields\[\]=author_reviewed.details&fields\[\]=author_reviewed.details_expert&fields\[\]=topic.name&fields\[\]=topic.path&fields\[\]=views&fields\[\]=rating&fields\[\]=similar_tutorials.similar_tutorial.url&fields\[\]=similar_tutorials.similar_tutorial.title&fields\[\]=similar_tutorials.similar_tutorial.topic&meta=filter_count&filter=%7B%22_and%22:\[%7B%22status%22:%7B%22_eq%22:%22published%22%7D%7D,%7B%22_or%22:\[%7B%22publish_after%22:%7B%22_null%22:%22true%22%7D%7D,%7B%22publish_after%22:%7B%22_lte%22:%22$NOW(%2B3+hours)%22%7D%7D\]%7D\]%7D&sort=-date_created' \   -H 'accept: application/json, text/plain, */*' \   -H 'accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \   -H 'dnt: 1' \   -H 'origin: https://timeweb.cloud' \   -H 'priority: u=1, i' \   -H 'referer: https://timeweb.cloud/' \   -H 'sec-ch-ua: "Chromium";v="139", "Not;A=Brand";v="99"' \   -H 'sec-ch-ua-mobile: ?0' \   -H 'sec-ch-ua-platform: "macOS"' \   -H 'sec-fetch-dest: empty' \   -H 'sec-fetch-mode: cors' \   -H 'sec-fetch-site: cross-site' \   -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36'

Image20

Копирование запроса из DevTools в формате cURL для последующего импорта в n8n

Теперь можно вернуться в n8n. Нажмите на кнопку «Import cURL» и вставьте полученное значение.

Image8

Окно n8n — импорт команды запроса в формате cURL в узел «HTTP Request»

Важно: если вы копируете команду из Firefox, в URL могут появиться лишние символы ^, которые мешают выполнению запроса.

Чтобы их убрать: 

Способ 1 — прямо в n8n

  • После импорта команды нажмите на значок шестеренки рядом с полем URL в интерфейсе n8n.
  • Выберите «Add Expression» — URL превратится в редактируемое поле.
  • Нажмите Ctrl + F (или Cmd + F на macOS), включите режим «Replace», укажите ^ в поле поиска и оставьте поле замены пустым.
  • Нажмите «Replace All», чтобы удалить все лишние ^.

Способ 2 — через VSCode

  • Вставьте скопированную cURL-команду в новый файл .txt или .sh в VSCode.
    Нажмите Ctrl + H (Cmd + H на macOS) — это откроет режим поиска и замены.
  • В поле «Найти» введите ^.
  • Поле «Заменить на» оставьте пустым.
  • Нажмите «Заменить все» или сочетание Alt + Enter (Cmd + Alt + Enter на macOS).
    Скопируйте исправленную команду обратно в n8n.

Нажмите на кнопку «Import», а далее на «Execute step». Спустя немного времени в окне справа должны появиться данные, полученные с сайта. 

Image18

Результат запроса в n8n — полученные с сайта данные отображаются в окне «OUTPUT»

Теперь вы умеете получать данные с сайта через n8n. 

Добавьте цикличный алгоритм

Вспомним задачу: нужно циклично пройтись по всем страницам и собрать данные в базу данных. Для этого построим следующий пайплайн:

Image23

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

Сперва добавьте тестовый триггер — «Trigger manually». Он запускается, когда вы нажимаете на кнопку запуска рабочего процесса. Подключайте к нему все ноды, которые будете создавать, по порядку — например, как на скриншоте выше. 

В первой ноде устанавливаются значения limit и offset. Если они уже есть во входных данных — оставляются как есть. Если нет — limit принимается равным 100, а offset — 0. Эти параметры нужны для постраничной загрузки данных с сервера. Добавьте в рабочую область ноду Edit fields. Нажмите на надпись в центре — «Add Field». 

Image21

Настройки ноды Edit Fields

В поле «name» введите строку limit. В поле «value»:

    
{{ $json.limit !== undefined ? $json.limit : 100 }}

Добавьте новое поле нажатием на надпись «Add Field». Назовите его offset, а в его значение вставьте аналогичную строку:

    
{{ $json.offset !== undefined ? $json.offset : 0 }}

Обе конструкции выполняют одну роль — динамически подставляют значения. Если это первый запуск ноды в цикле, то выставляется значение, которое идет после двоеточия. Если до этого данные уже были собраны, сюда приходит новое значение переменной. 

Проставьте обоим переменным тип данных Number — это можно сделать по кнопке справа от названия переменной. Включите значение в поле «Include Other Input Fields» — оно будет получать значение в цикле из ноды, которая будет изменять параметры. 

Получится такая нода:

Image22

Настройки ноды Edit Fields

В ноде HTTP Request выполняется запрос к API с подставленными значениями limit и offset. Сервер возвращает массив данных под ключом data.

Перенесите ноду с запросом, которую вы получили ранее. Значения поля URL должно быть типа Expression (1). Там, где должны быть переменные (2) (3) для получения данных в цикле, вставьте переменные из предыдущей ноды — {{ $json.limit }} и {{ $json.offset }} соответственно.

Image6

Настройки ноды HTTP Request

Далее в ноде If проверяется результат запроса — пустой ли массив data. Если массив пустой, это значит, что данные закончились. В этом случае цикл останавливается. Если массив не пустой — обработка продолжается. Для реализации добавьте ноду If в рабочую область. Она должна содержать единственное условие — {{ $json.data }} (1); Array (2) -> is empty(3). 

Image2

Настройки ноды If

Далее, в ответвлении «false» находится нода Split Out. Там массив данных data разбивается на отдельные элементы. Каждая запись получается отдельно — это нужно для поштучной записи в базу.

Image5

Настройки ноды Split Out

Добавьте ноду Insert or update rows in a table (PostgreSQL) в workflow. Теперь нужно сообщить n8n, как подключиться к базе данных — в поле «Credential to connect with» выберите « + Create new credential». В панели Timeweb Cloud на вкладке базы данных найдите данные для подключения. Импортируйте:

  • Host — значение из поля «Приватный IP»;
  • Database — по умолчанию в Timeweb Cloud: default_db;
  • User / Password — значения из полей «Логин пользователя» и «Пароль пользователя» соответственно. 

Image9

Настройка доступов к PostgreSQL — Postgres account

Данные в базе хранятся в таблицах. Для составления простых таблиц воспользуйтесь нейросетью — она быстро составит SQL-запрос, который можно вставить в веб-интерфейс. Можно воспользоваться нодой Execute a SQL query в n8n — выполнить ее следует только один раз при настройке проекта. Например, для хранения статей запрос может выглядеть так:

    
CREATE TABLE tutorials (     id SERIAL PRIMARY KEY,     author_name TEXT,     topic_name TEXT UNIQUE,     topic_path TEXT,     text TEXT );

После этого таблица готова к заполнению данными.

В ноде Insert or update rows in a table (Postgres) каждый элемент записывается в таблицу tutorials. В таблицу записываются название темы (topic_name), имя автора (author_name), ссылка на тему (topic_path). Это позволяет создавать новые записи или обновлять уже существующие по ключевому полю.

Image17

Настройки ноды Insert or update rows in a table

Данные из ноды записи в базу поступают в ноду Merge. Она объединяет два потока:

  • Результаты записи в базу.
  • Старые значения limit и offset, с которыми был выполнен предыдущий запрос.

В этом случае нода записи в PostgreSQL ничего не вернет — но мы включаем ее в Merge. Это нужно, чтобы следующая нода запустилась ровно после того, как завершится запись в таблицу базы данных. 

Image15

Настройки ноды Merge

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

После объединения в ноде Edit fields значение offset увеличивается на limit (offset = offset + limit). Это подготавливает параметры для следующего запроса к API. Новый offset позволяет запросить следующую страницу данных на сервере.

Image25

Настройки ноды Edit fields

Далее цикл замыкается — выход конечного Edit fields снова подключается к начальному Edit fields. Таким образом workflow повторяет все шаги заново: устанавливает новые значения limit и offset, делает следующий запрос, проверяет результат и записывает данные в базу.

Цикл выполняется до тех пор, пока данные с сервера не закончатся. Когда сервер вернет пустой массив data, нода If «увидит» это и остановит повторение.

Если на этом этапе возникли сложности, воспользуйтесь примером из статьи — его можно открыть в вашем окружении и подробнее изучить, что пошло не так. 

Добавьте второй цикличный алгоритм для извлечения текстов

В нашем проекте ветвь true в ноде If вызывается, когда все данные извлечены. В этом случае нужно получить все ссылки из базы данных и пройтись по каждой из них. Используем совсем простой пайплайн:

Image24

Второй цикл в n8n — обход ссылок из базы и сохранение текста статей в таблицу

Здесь в цикле вызывается запрос для одной статьи. Ее текст записывается в базу данных. 

Нода Select rows from a table (PostgreSQL) получает из базы данных строки, которые добавили в прошлом цикле. В n8n не реализован способ промежуточного хранения данных, поэтому использовать базу данных в этом случае — оптимальное решение. В настройках всё просто: используйте операцию SELECT, нажмите на переключатель Return All — чтобы вернуть все значения без лимита. 

Image1

Настройки ноды Select rows from a table

Предыдущая нода вернет сразу все статьи, но нам нужно пройтись по каждой и сохранить ее содержимое. С этим поможет нода Loop over items — она и является элементом-началом цикла. У нее есть два вывода — loop и done. Всё, что должно быть в цикле, подключается в первый вывод. Во второй подключается последовательность действий после окончания цикла. 

Далее нужно выполнить запрос. Чтобы получить URL нового запроса, повторите те же действия: используйте инструменты разработчика и анализируйте все запросы, которые отдают JSON или HTML. В этом случае, чтобы получить текст статьи, пригодится запрос, который называется как URL страницы со статьей. Понятнее это выглядит на скриншоте — цифрой 1 обозначен текст, который нужно вытащить, а под цифрой 2 тот самый запрос.

Обратите внимание, что запрос в примере появляется только при переходе в статью с раздела «Инструкции». Если обновить страницу уже находясь в статье, то данные будут отдаваться серверов в формате HTML-кода. Чтобы научиться извлекать такие данные из кода, изучите инструкцию из документации n8n.

Image27

Если возникают сложности — вы можете воспользоваться готовым примером из этой статьи на GitHub и разобраться с n8n самостоятельно. 

В ноде запроса нужно подставить лишь путь к статье, который отдается в базе данных. Как и ранее, переведите поле URL в тип Expression. Вставьте путь в запрос, как на скриншоте.

Image13

Настройки ноды HTTP Request

Теперь добавьте в таблицу базы данных текст, который получен из предыдущей ноды. 

Image12

Настройки ноды Update rows in a table

На этом цикл завершен — можно промежуточно проверить работу. 

Шаг 5. Настройка расписания запуска

Чтобы не запускать сценарий руками каждый раз, можно настроить автоматический старт по расписанию. Это полезно, если нужно регулярно обновлять базу — например, раз в день или раз в час.

n8n делает это через специальный узел «Schedule Trigger». Добавьте его вместо «Trigger manually» в пайплайн. 

В его настройках можно обозначить интервал срабатывания, от одной секунды. 

Image26

Настройка узла «Schedule Trigger» в n8n для автоматического запуска сценария по расписанию

На этом весь пайплайн завершен. Чтобы Schedule Trigger работал, активируйте собранный сценарий — включите переключатель «Inactive» в верхней части экрана справа:

Image16

На основе полученных данных можно, например, автоматизировать техподдержку — бот сможет самостоятельно искать знания в базе данных. 

Обзор часто встречающихся ошибок

В таблице приведены основные ошибки, их симптомы и решения.

Симптом

Причина (ошибка)

Рабочее решение

При переключении веб-хука из «Test» в «Prod» сценарий сразу падает с сообщением «The workflow has issues and cannot be executed»

В одном из узлов нарушена валидация (обязательное поле пустое, устаревший credential, и т.д.)

Открыть workflow, узлы с красным треугольником привести «в зеленое» — заполнить пропущенные поля, обновить креды, снова активировать

Узел PostgreSQL отвечает Connection refused

Сервис БД недоступен по сети: закрыт firewall, не тот порт/хост, нет разрешения Docker-сети 

Если БД развернута в Docker:

проверить, что БД слушает 5432, ее IP в white-list, контейнер n8n в той же сети; добавить network_mode: bridge или приватную сеть


Если используется DBaas Timeweb Cloud:

проверить, что база данных и хост n8n находятся в одной приватной сети;

проверить, что база данных активна. 

Узел падает с «Cannot read properties of undefined»

Скрипт/узел обращается к полю, которого нет во входящем JSON 

Перед обращением ставить узел IF или {{ $json?.field ?? '' }}; убедиться, что предыдущий узел реально отдает нужное поле

Выполнение обрывается, в логе: n8n may have run out of memory

Сценарий обрабатывает слишком много элементов за раз; Split In Batches держит большой массив в RAM 

Уменьшить размер батча, добавить узел Wait, разбить workflow, или поднять тариф с большим объемом ОЗУ

Split In Batches на последней итерации выдаёт OOM или «висит»

Утечка памяти при множестве повторов цикла 

Ставить Batch Size минимально нужный, добавлять Wait 200-500 мс, при больших объемах переходить на Queue-Mode

При подключении к БД получаете pq: SSL is not enabled on the server

Клиент пытается использовать SSL, а сервер его не поддерживает

В строке подключения добавить sslmode=disable 

Заключение

Автоматическая выгрузка данных через n8n — это не про сложный код или бесконечные скрипты. Это про один раз настроенный сценарий, который сам собирает данные и складывает их в базу.

Мы прошли весь путь:

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

Всё это работает на готовой облачной инфраструктуре: не нужно администрировать серверы или базы вручную. Можно спокойно масштабироваться — менять тарифы под рост задач, подключать новые сервисы и улучшать сценарий.

На этом примере вы освоили один из самых распространенных паттернов в n8n:

  • пройтись по страницам сайта, собрать все ссылки,
  • для каждой ссылки получить данные,
  • записать всё в базу.

Этот же подход подходит для:

  • сбора прайс-листов и мониторинга конкурентов,
  • архивации контента,
  • интеграции с CRM.

Всё зависит только от вашей фантазии. n8n хорош тем, что его можно подстроить под любую задачу без сложного кода. 

24 сентября 2025 г., обновлено 27 сентября 2026
1745
23 минуты чтения
Средний рейтинг статьи: 5
Предыдущая статья
Следующая статья
Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Пока нет комментариев