RSS, HTML и парсинг сайтов в n8n: новости, дайджесты и безопасный scraping ¶
Обновлено: 2026-05-29
RSS и парсинг сайтов в n8n нужны для мониторинга новостей, дайджестов, автопостинга, отслеживания вакансий, цен, публикаций конкурентов и обновлений документации. Начинать лучше с RSS: это стабильнее, чище и уважительнее к сайту. HTML-парсинг через HTTP Request и HTML node стоит использовать только там, где RSS или API нет.
Правило безопасности
Не стройте scraping, который нагружает чужой сайт, обходит ограничения или копирует контент без прав. Для базы знаний и аналитики обычно достаточно заголовка, ссылки, даты, краткого описания и собственного комментария.
RSS Read или RSS Feed Trigger ¶
| Нода | Когда использовать | Пример |
|---|---|---|
| RSS Read | workflow сам запускается по расписанию и читает feed | каждое утро собрать дайджест |
| RSS Feed Trigger | workflow стартует при появлении нового item в feed | отправить новость в Telegram |
| HTTP Request + HTML | RSS нет, нужен фрагмент страницы | извлечь цену, заголовок или ссылку |
| API сервиса | есть официальный API | получить вакансии, товары, новости |
Базовый workflow для RSS-дайджеста ¶
- Schedule Trigger запускает workflow раз в час или раз в день.
- RSS Read получает items из одного или нескольких feed.
- Set/Edit Fields нормализует поля: title, link, published_at, source.
- Postgres/Google Sheets проверяет, отправлялась ли ссылка раньше.
- Filter оставляет только новые items.
- AI node или Code node делает короткое описание, если это нужно.
- Telegram/Email отправляет дайджест.
{
"title": "Новая статья про n8n",
"link": "https://example.ru/article",
"source": "example_feed",
"published_at": "2026-05-29T10:00:00+03:00",
"dedupe_key": "https://example.ru/article"
}
Дедупликация новостей ¶
RSS-feed может менять порядок items, обновлять даты или повторять одну и ту же ссылку. Поэтому нельзя просто брать “последние 10 записей” и отправлять их каждый раз. Сохраняйте guid, link или hash по title+source в таблице обработанных материалов. Если ключ уже есть — item пропускается.
Парсинг HTML через HTTP Request и HTML node ¶
Если RSS нет, используйте HTTP Request, чтобы получить HTML, и HTML node, чтобы извлечь нужные элементы по selector. Сначала проверьте страницу вручную: есть ли данные в HTML или они подгружаются JavaScript. Если данные появляются только после выполнения JS, обычного HTTP Request может не хватить.
article h1
.news-card a
.product-price
meta[property="og:title"]
Selectors должны быть узкими и устойчивыми. Если выбрать слишком общий класс, workflow будет собирать меню, футер и похожие блоки. Если выбрать автогенерированный CSS-класс, парсер сломается при следующем редизайне.
Когда нужен полноценный браузер ¶
n8n не стоит превращать в тяжёлый браузерный scraper для всего подряд. Если сайт требует JavaScript, авторизацию, прокрутку, captcha или сложную сессию, лучше использовать официальный API, выгрузку, партнёрский доступ или отдельный scraper-сервис. n8n в такой схеме оставьте оркестратором: запустить задачу, принять результат, нормализовать данные и отправить дальше.
Типовые ошибки RSS и парсинга ¶
| Симптом | Причина | Что сделать |
|---|---|---|
| RSS Read ничего не возвращает | неверный URL feed или SSL-проблема | открыть feed в браузере и проверить настройки SSL |
| новости дублируются | нет хранения guid/link | добавить таблицу обработанных items |
| HTML node не находит элемент | данные создаются JavaScript или selector неверный | посмотреть исходный HTML, сузить selector |
| сайт блокирует запросы | слишком частые обращения или запрет scraping | уменьшить частоту, использовать API или отказаться от парсинга |
| Telegram получает слишком длинный текст | нет ограничения длины | обрезать summary и отправлять ссылку |
Практические сценарии ¶
- RSS → Telegram: новости отрасли в канал или рабочий чат.
- RSS → AI summary → Email: утренний дайджест для команды.
- HTML → Google Sheets: мониторинг цены или наличия, если нет API.
- RSS → Notion: база идей для контент-плана.
- RSS → WordPress draft: черновики подборок с обязательной редакторской проверкой.
Связанные материалы ¶
- RSS → Telegram news digest — готовый workflow.
- RSS to Telegram — рецепт для новостного канала.
- HTTP Request — получение HTML или API-ответа.
- Code node — дополнительная очистка текста и ссылок.
Production-паттерн использования ноды
Материал «RSS, HTML и парсинг сайтов в n8n: новости, дайджесты и безопасный scraping ¶» стоит применять как чеклист для ревью workflow. Перед использованием ноды в production уточните, какой item приходит на вход, какие поля обязательны, что происходит с пустыми значениями и как downstream-ноды узнают, что шаг завершился успешно.
Типичная ошибка в n8n — проверить ноду на одном happy-path примере и не прогнать массив items, пустой массив, дубли и ошибку внешнего сервиса. Для надежного сценария добавьте явную ветку обработки ошибок, понятное имя execution, ограничение на размер payload и логирование ключевых диагностических полей без секретов.
Чеклист ревью
- Проверьте, сохраняется ли структура items после этой ноды.
- Опишите, какие поля добавляются, перезаписываются или удаляются.
- Добавьте тест на пустой вход, повтор и частичный сбой.
- Свяжите ноду с error branch, retry policy и наблюдаемостью.
Если нода участвует в платежах, CRM, рассылках или AI-ответах, перед включением автоматического write-действия лучше добавить dry-run режим и ручное подтверждение для спорных случаев.
Что прочитать рядом
- Ноды n8n — открыть связанный материал для проверки контекста.
- Items и JSON — открыть связанный материал для проверки контекста.
- Диагностика — открыть связанный материал для проверки контекста.
- Review workflow — открыть связанный материал для проверки контекста.