AI

Персональная лента новостей с яркими данными и n8n

Узнайте, как автоматизировать сбор и доставку новостей с помощью рабочих процессов без кода на базе n8n, OpenAI и сервера Model Context Protocol от Bright Data.
4 мин. чтения
Custom news feed with Bright Data and N8N blog image

В этом руководстве вы узнаете, как создать автоматический скребок новостей с помощью n8n, OpenAI и Bright Data MCP Server. К концу этого руководства вы сможете выполнить следующие действия.

  • Создайте самостоятельно размещаемый экземпляр n8n
  • Установите узлы сообщества в n8n
  • Создавайте собственные рабочие процессы с помощью n8n
  • Интеграция агентов искусственного интеллекта с помощью OpenAI и n8n
  • Подключите AI Agent к Web Unlocker с помощью MCP Server от Bright Data
  • Отправка автоматических писем с помощью n8n

Начало работы

Для начала нам нужно запустить самостоятельный экземпляр n8n. Как только он будет запущен, нам нужно установить n8n Community Node. Также нам нужно получить API-ключи от OpenAI и Bright Data, чтобы выполнить наш рабочий процесс скрапинга.

Запуск n8n

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

# Create persistent volume
sudo docker volume create n8n_data

# Start self-hosted n8n container with support for unsigned community nodes
sudo docker run -d 
  --name n8n 
  -p 5678:5678 
  -v n8n_data:/home/node/.n8n 
  -e N8N_BASIC_AUTH_ACTIVE=false 
  -e N8N_ENCRYPTION_KEY="this_is_my_secure_encryption_key_1234" 
  -e N8N_ALLOW_LOADING_UNSIGNED_NODES=true 
  -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true 
  -e N8N_HOST="0.0.0.0" 
  -e N8N_PORT=5678 
  -e WEBHOOK_URL="http://localhost:5678" 
  n8nio/n8n

Теперь откройте http://localhost:5678/ в своем браузере. Скорее всего, вам будет предложено войти в систему или создать логин.

n8n Местный вход

После того как вы вошли в систему, перейдите в настройки и выберите “Узлы сообщества”. Затем нажмите кнопку “Установить узел сообщества”.

Установите узлы сообщества

В поле “npm Package Name” введите “n8n-nodes-mcp”.

Установите узел сообщества MCP с помощью npm

Получение ключей API

Вам понадобятся как ключ OpenAI API, так и ключ Bright Data API. Ключ OpenAI позволит вашему экземпляру n8n получить доступ к LLM, например, GPT-4.1. API-ключ Bright Data позволяет вашему LLM получить доступ к веб-данным в режиме реального времени через MCP-сервер Bright Data.

Ключи API OpenAI

Перейдите на платформу для разработчиков OpenAI и создайте учетную запись, если вы еще этого не сделали. Выберите “API-ключи”, а затем нажмите кнопку “Создать новый секретный ключ”. Сохраните ключ в безопасном месте.

Создайте новый ключ API OpenAI

Ключи API Bright Data

Возможно, у вас уже есть учетная запись в Bright Data. Но даже если это так, вам следует создать новую зону Web Unlocker. На панели управления Bright Data выберите “Прокси и скрапинг” и нажмите кнопку “Добавить”.

Добавление нового экземпляра Web Unlocker

Вы можете использовать другие имена зон, но мы настоятельно рекомендуем назвать эту зону “mcp_unlocker”. Это имя позволит ей работать с нашим MCP Server практически из коробки.

В настройках учетной записи скопируйте свой ключ API и положите его в надежное место. Этот ключ обеспечивает доступ ко всем вашим услугам Bright Data.

Экспорт ключа API Bright Data

Теперь, когда у нас есть собственный экземпляр n8n и соответствующие учетные данные, пришло время построить наш рабочий процесс.

Построение рабочего процесса

Полный рабочий процесс скрепера новостей

Теперь мы приступим к созданию нашего рабочего процесса. Нажмите на кнопку “Создать новый рабочий процесс”. Это даст вам чистый холст для работы.

1. Создание триггера

Добавление узла триггера чата

Начнем с создания нового узла. В строке поиска введите “chat”, а затем выберите узел “Chat Trigger”.

Чат-триггер не будет нашим постоянным триггером, но он значительно упрощает отладку. Наш агент ИИ собирается получить подсказку. С помощью узла Chat Trigger вы можете легко пробовать разные подсказки, не редактируя узлы.

2. Добавление нашего агента

Добавление агента искусственного интеллекта

Далее нам нужно подключить наш триггерный узел к агенту ИИ. Добавьте еще один узел и введите в строку поиска “ai agent”. Выберите узел AI Agent.

Выбор агента искусственного интеллекта

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

Get the global news for the day. Use whichever sites and tools available to make it happen. When finished, cite your sources with direct links. I'd like a real headline from each page you cite.

3. Подключение модели

Добавление нашей модели чата

Нажмите на “+” под “Модель чата” и введите “openai” в строку поиска. Выберите модель чата OpenAI.

Поиск OpenAI

Когда появится запрос на добавление учетных данных, добавьте свой ключ API OpenAI и сохраните его.

Добавление ключа API OpenAI

Далее нам нужно выбрать модель. Вы можете выбрать любую модель, но помните, что это сложный рабочий процесс для одного агента. С GPT-4o мы добились ограниченного успеха. GPT-4.1-Nano и GPT-4.1-Mini оказались недостаточными. Полная модель GPT-4.1 стоит дороже, но оказалась невероятно компетентной, поэтому мы остановились именно на ней.

Выбор модели GPT

4. Добавление памяти

Добавление памяти к нашему агенту

Чтобы управлять контекстными окнами, нам нужно добавить памяти. Нам не нужно ничего сложного. Нам просто нужна настройка Simple Memory, чтобы наша модель могла помнить, что она делает на разных шагах.

Выберите “Простая память”, чтобы дать вашей модели память.

Выбор простой памяти

5. Подключение к MCP Bright Data

Добавление инструментов для работы со списками в наш рабочий процесс

Для поиска в Интернете нашей модели необходимо подключиться к MCP-серверу Bright Data. Нажмите на “+” под “Инструмент” и выберите MCP Client, который появится в верхней части раздела “Другие инструменты”.

Выбор клиентского инструмента MCP

Когда появится запрос, введите учетные данные для сервера Bright Data MCP Server. В поле “Команда” введите npx – это позволит NodeJS автоматически создать и запустить наш MCP-сервер. В поле “Аргументы” добавьте @brightdata/mcp. В поле “Среды” введите API_TOKEN=YOUR_BRIGHT_DATA_API_KEY (замените это значение на ваш реальный ключ).

Добавление учетных данных MCP

По умолчанию для этого инструмента используется метод “Инструменты списка”. Именно это нам и нужно сделать. Если ваша модель сможет подключиться, она выполнит пинг сервера MCP и выведет список доступных ей инструментов.

Настройки по умолчанию клиента MCP

Как только вы будете готовы, введите в чат запрос. Используйте простой запрос с просьбой перечислить доступные инструменты.

List the tools available to you

Вы должны получить ответ с перечнем инструментов, доступных для данной модели. Если это произошло, значит, вы подключились к серверу MCP. В приведенном ниже фрагменте содержится только часть ответа. Всего для модели доступен 21 инструмент.

Here are the tools available to me:

1. search_engine – Search Google, Bing, or Yandex and return results in markdown (URL, title, description).

2. scrape_as_markdown – Scrape any webpage and return results as Markdown.

3. scrape_as_html – Scrape any webpage and return results as HTML.

4. session_stats – Show the usage statistics for tools in this session.

5. web_data_amazon_product – Retrieve structured Amazon product data (using a product URL).

6. Добавление инструментов для скрапбукинга

Предоставление нашему агенту доступа к инструментам для скрапинга

Снова нажмите на “+” под пунктом “Инструмент”. Снова выберите тот же “MCP Client Tool” из раздела “Other Tools”.

Инструмент клиента MCP

На этот раз установите инструмент на “Execute Tool”.

Настройки клиентского инструмента MCP

В разделе “Имя инструмента” вставьте следующее выражение JavaScript. Мы вызываем функцию “fromAI” и передаем в нее название инструмента, описание и тип данных.

{{ $fromAI("toolname", "the most applicable tool required to be executed as specified by the users request and list of tools available", "string") }}

Под параметрами добавьте следующий блок. Он выдает запрос к модели через выбранную вами поисковую систему.

{
  "query": "Return the top 5 world news headlines and their links."
,
  "engine": "google"
}

Теперь настройте параметры самого агента ИИ. Добавьте следующее системное сообщение.

You are an expert web scraping assistant with access to Bright Data's Web Unlocker API. This gives you the ability to execute a specific set of actions. When using tools, you must share across the exact name of the tool for it to be executed.

For example, "Search Engine Scraping" should be "search_engine"
Настроенный агент искусственного интеллекта с системным сообщением

Перед тем как запустить скребок, нужно включить повторные попытки. Агенты ИИ умны, но они не идеальны. Иногда задания терпят неудачу, и с ними нужно бороться. Как и в случае со скреперами, написанными вручную, логика повторных попыток не является необязательной, если вы хотите получить продукт, который будет работать стабильно.

Включение логики повторных попыток

Запустите приведенную ниже подсказку.

Get the global news for the day. Use whichever sites and tools available to make it happen. When finished, cite your sources with direct links. I'd like a real headline from each page you cite.

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

Here are real global news headlines for today, each with a direct source link:

1. Reuters
Headline: Houthi ceasefire followed US intel showing militants sought off-ramp
Source: https://www.reuters.com/world/

2. CNN
Headline: UK police arrest man for arson after fire at PM Starmer's house
Source: https://www.cnn.com/world

3. BBC
Headline: Uruguay's José Mujica, world's 'poorest president', dies
Source: https://www.bbc.com/news/world

4. AP News
Headline: Israel-Hamas war, Russia-Ukraine War, China, Asia Pacific, Latin America, Europe, Africa (multiple global crises)
Source: https://apnews.com/world-news

5. The Guardian
Headline: Fowl play: flying duck caught in Swiss speed trap believed to be repeat offender
Source: https://www.theguardian.com/world

These headlines were selected from the main headlines of each trusted global news outlet’s world section as of today.

7. Начало и конец

Полностью готовый рабочий процесс

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

Добавление правильного триггера

Найдите узел “Триггер расписания” и добавьте его в рабочий процесс.

Выберите триггер расписания

Установите его на срабатывание в желаемое время. Мы выбрали 9:00 утра.

Установка расписания

Теперь нам нужно добавить еще один узел в логику триггера. Этот узел будет вводить фиктивную подсказку в нашу модель чата.
Добавьте узел “Редактировать поля” в триггер расписания.

Запуск рабочего процесса

Добавьте следующее в узел Edit Fields в формате JSON. “sessionId” – это просто фиктивное значение – вы не можете начать чат без sessionId. “chatInput” содержит подсказку, которую мы вводим в LLM.

{
  "sessionId": "google",
  "chatInput": "Get the global news for the day. Use whichever sites and tools available to make it happen. When finished, cite your sources with direct links. I'd like a real headline from each page you cite."
}

Наконец, подключите эти новые шаги к агенту искусственного интеллекта. Теперь ваш агент может быть запущен планировщиком.

Подключение планировщика к агенту искусственного интеллекта

Вывод результатов по электронной почте

Нажмите на “+” в правой части узла агента AI. Добавьте узел “Отправить электронное письмо” в конец рабочего процесса. Добавьте учетные данные SMTP, а затем используйте параметры для настройки письма.

Параметры электронной почты SMTP

Электронная почта

Теперь вы можете нажать кнопку “Проверить рабочий процесс”. После успешного запуска рабочего процесса вы получите электронное письмо со всеми текущими заголовками. GPT-4.1

Успешный вывод результатов соскоба по электронной почте

Идем дальше: Скраппинг реальных веб-сайтов

В текущем состоянии наш агент ИИ находит заголовки из Google News, используя инструмент поисковой системы сервера MCP. При использовании только поисковой системы результаты могут быть непоследовательными. Иногда агент ИИ находит реальные заголовки. В других случаях он видит только метаданные сайта – “Получите последние заголовки от CNN!”.

Вместо того чтобы ограничиваться инструментом поисковой системы, давайте добавим инструмент для соскабливания. Начните с добавления еще одного инструмента в рабочий процесс. Теперь у вас должно быть три клиента MCP, подключенных к агенту AI Agent, как показано на изображении ниже.

Добавление инструментов для скрапинга

Добавление еще одного инструмента к агенту искусственного интеллекта

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

В описании мы указываем агенту искусственного интеллекта использовать этот инструмент для поиска URL-адресов. Имя инструмента аналогично тому, которое мы создали ранее.

{{ $fromAI("toolname", "the most applicable scraping tool required to be executed as specified by the users request and list of tools available", "string") }}

В параметрах мы указываем url, а не запрос или поисковую систему.

{
  "url": "{{$fromAI('URL', 'url that the user would like to scrape', 'string')}}"
}

Настройка других узлов и инструментов

Инструмент для поисковых систем

В нашем инструменте скраппинга мы задаем описание вручную, чтобы агент ИИ не запутался. Мы также настроим инструмент поисковой системы. Изменения не очень значительны, мы просто вручную указываем ему использовать инструмент Search Engine при выполнении этого MCP-клиента.

Описание инструмента поисковой системы вручную

Поля редактирования: Фиктивная подсказка

Откройте узел Edit Fields и настройте нашу фиктивную подсказку.

{
  "sessionId": "google",
  "chatInput": "get the latest news from https://www.brightdata.com/blog and https://www.theguardian.com/us with your scrape_as_markdown and Google News with your search engine tool to find the latest global headlines--pull actual headlines, not just the site description."
}

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

Настройка манекена подсказки

Изначально мы использовали Reddit вместо The Guardian. Однако ИИ-агенты OpenAI подчиняются файлу robots.txt. Несмотря на то, что Reddit легко скрафтить, ИИ-агент отказывается это делать.

LLM отказывается от соскоба Reddit

Новая курируемая лента

Добавив еще один инструмент, мы дали нашему агенту искусственного интеллекта возможность действительно скрести веб-сайты, а не только результаты поисковых систем. Взгляните на письмо ниже. Оно имеет гораздо более чистый формат с подробной разбивкой новостей из каждого источника.

Наша курируемая лента новостей завершена

Заключение

Сочетание n8n, OpenAI и сервера Model Context Protocol (MCP) компании Bright Data позволяет автоматизировать сбор и доставку новостей с помощью мощных рабочих процессов, управляемых искусственным интеллектом. MCP упрощает доступ к актуальным структурированным веб-данным в режиме реального времени, позволяя вашим агентам ИИ извлекать точный контент из любого источника. По мере развития автоматизации ИИ такие инструменты, как MCP от Bright Data, будут необходимы для эффективного, масштабируемого и надежного сбора данных.

Bright Data рекомендует вам прочитать нашу статью о веб-скреппинге с помощью серверов MCP. Зарегистрируйтесь сейчас, чтобы получить бесплатные кредиты для тестирования наших продуктов.

Вас также может заинтересовать

Web Scraping With Dify
AI

Веб-скраппинг на основе искусственного интеллекта в Dify с помощью рабочего процесса без кода

Освойте веб-скрептинг с помощью Dify и Bright Data, чтобы создавать не требующие кода рабочие процессы искусственного интеллекта для быстрого и надежного извлечения данных.
3 мин. чтения
Web Scraping With Dify
AI

Веб-скраппинг на основе искусственного интеллекта в Dify с помощью рабочего процесса без кода

Освойте веб-скрептинг с помощью Dify и Bright Data, чтобы создавать не требующие кода рабочие процессы искусственного интеллекта для быстрого и надежного извлечения данных.
3 мин. чтения
AI

Разблокирование будущего ИИ: основные выводы из отчета “Данные для ИИ 2025”

В отчете “Данные для ИИ 2025”, подготовленном по заказу Bright Data и проведенном независимо друг от друга, содержится информация, полученная от 500 руководителей высшего звена, чьи организации используют публичные веб-данные для обучения, настройки и питания своих систем ИИ.
1 мин. чтения