نود RSS Read در N8N
نود RSS Read یکی از سریعترین راهها برای دریافت خودکار آخرین پستهای یک سایت، وبلاگ یا سرویس خبری از طریق RSS/Atom است. با این نود میتوانید فید را بخوانید، آیتمهای جدید را استخراج کنید و آنها را برای ارسال به تلگرام، ایمیل، گوگل شیت، دیتابیس یا هر مقصد دیگری وارد جریان کاری (Workflow) کنید.
معرفی نود در N8N
نود RSS Read برای خواندن فیدهای RSS یا Atom طراحی شده است. این نود آدرس فید را دریافت میکند، محتوای فید را پارس میکند و هر آیتم (Entry) را به شکل آیتمهای خروجی استاندارد n8n تحویل میدهد.
- کارکرد اصلی: خواندن RSS/Atom و تبدیل هر پست به یک آیتم قابل پردازش در Workflow
- دستهبندی نود: Integration (ارتباط با سرویس/استاندارد RSS) و در عمل یک Action (اجرا میشود و داده برمیگرداند)
- اهمیت در ورکفلوها: پایه اصلی ساخت خبرخوان، مانیتورینگ محتوا، اعلان انتشار مطالب جدید، و اتوماسیون تولید محتوا از منابع خارجی
موارد استفاده
1) اعلان انتشار مطلب جدید در تلگرام یا اسلک
سناریو: هر ۱۰ دقیقه فید سایت را بخوانید، آیتمهای جدید را جدا کنید، و لینک و عنوان را در تلگرام ارسال کنید.
- نودهای پیشنهادی: Schedule Trigger → RSS Read → (IF/Filter) → Telegram/Slack
- نکته عملی: برای جلوگیری از ارسال تکراری از Data Store یا SQLite/Postgres برای ذخیره آخرین لینک/شناسه استفاده کنید.
2) ساخت آرشیو خودکار اخبار در Google Sheets
سناریو: هر روز صبح، آخرین مطالب چند فید خبری را بخوانید و در یک شیت بهعنوان آرشیو ثبت کنید.
- نودهای پیشنهادی: Schedule Trigger → RSS Read (چند بار برای چند فید) → Merge → Google Sheets
- نکته عملی: با نود Merge میتوان خروجی چند RSS Read را تجمیع کرد.
3) پایش تغییرات یک موضوع خاص با فیلتر کلمات کلیدی
سناریو: فقط پستهایی که در عنوانشان کلماتی مثل “AI” یا “Security” دارند پردازش شوند.
- نودهای پیشنهادی: RSS Read → IF (عبارت شرطی روی title) → مقصد نهایی
- نکته عملی: برای فیلتر دقیقتر، از Function/Code یا Set + Expressions استفاده کنید.
4) تبدیل RSS به ایمیل خبرنامه داخلی
سناریو: خروجی RSS را خلاصه کنید و یک ایمیل روزانه برای تیم ارسال کنید.
- نودهای پیشنهادی: Schedule Trigger → RSS Read → Item Lists (تجمیع) → HTML Template (Set) → Email
5) تولید محتوای خودکار برای CMS یا Notion
سناریو: مطالب جدید یک منبع را به عنوان ورودی اولیه به Notion/Database اضافه کنید تا بعداً ویرایش شوند.
- نودهای پیشنهادی: RSS Read → Notion (Create Page) یا Airtable
- نکته عملی: در صورت وجود فیلد content، آن را به خلاصه تبدیل کنید یا فقط description را ذخیره کنید.
پارامترها و تنظیمات
پارامترهای دقیق ممکن است با نسخههای مختلف n8n کمی تفاوت داشته باشند، اما تنظیمات کلیدی نود RSS Read معمولاً شامل موارد زیر است.
Feed URL
- نام پارامتر: Feed URL
- نوع داده: String (آدرس اینترنتی)
- کاربرد: آدرس RSS یا Atom که باید خوانده شود
- مثال عملی: https://example.com/feed یا https://example.com/rss.xml
- نکات مهم:
- بهتر است URL مستقیم فایل RSS باشد (نه صفحه HTML).
- اگر سایت از ریدایرکت استفاده میکند، معمولاً n8n آن را دنبال میکند، اما در صورت خطا URL نهایی را وارد کنید.
- اگر فید پشت احراز هویت است، ممکن است نیاز به HTTP Request یا تنظیمات دسترسی (Header/Basic Auth) داشته باشید؛ RSS Read در برخی سناریوها محدودتر از HTTP Request است.
Options (تنظیمات تکمیلی)
بسته به نسخه n8n، ممکن است بخشی با عنوان Options یا Additional Fields وجود داشته باشد. موارد متداول:
- Return All / Limit
- نوع داده: Boolean و Number
- کاربرد: تعیین اینکه همه آیتمها برگردند یا تعداد مشخصی (مثلاً ۱۰ مورد اخیر)
- مثال عملی: Limit = 20 برای پردازش ۲۰ آیتم آخر
- نکته: برای جلوگیری از بار اضافی و کندی، معمولاً Limit کوچکتر بهتر است، مخصوصاً وقتی Workflow دورهای اجرا میشود.
- Include Full Content / Content Field Preference
- نوع داده: Boolean یا انتخابی
- کاربرد: برخی فیدها محتوای کامل را در content:encoded یا content میدهند؛ این گزینه میتواند انتخاب کند چه فیلدی ترجیح داده شود
- مثال عملی: فعالسازی برای دریافت متن کامل پست (اگر فید پشتیبانی کند)
- نکته: متن کامل میتواند HTML سنگین باشد؛ در صورت نیاز، بعداً با نود HTML Extract یا Code آن را پاکسازی کنید.
- Ignore SSL Issues / Allow Unauthorized Certs
- نوع داده: Boolean
- کاربرد: عبور از خطاهای گواهی SSL برای منابع داخلی یا گواهیهای نامعتبر
- مثال عملی: خواندن فید از یک سرور داخلی با SSL self-signed
- نکته: از نظر امنیتی فقط در محیطهای کنترلشده استفاده شود.
نکات مهم هنگام پیکربندی
- فرمت تاریخها: تاریخ در RSS ممکن است RFC822 یا ISO باشد. برای تبدیل و یکسانسازی از Date & Time node استفاده کنید.
- کاراکترهای خاص و HTML: title/description گاهی HTML دارد. برای نمایش تمیز در پیامرسانها، HTML را حذف یا خلاصه کنید.
- تکراریها: RSS بهطور طبیعی “وضعیت دیدهشده” ندارد. برای جلوگیری از ارسال تکراری باید آخرین guid/link را ذخیره کنید.
ورودیها و خروجیها
ورودیها (Input)
نود RSS Read معمولاً ورودی الزامی از نود قبلی ندارد و با تنظیمات خودش اجرا میشود. با این حال، میتوانید Feed URL را با Expression از داده ورودی بسازید (مثلاً وقتی لیستی از فیدها را از یک جدول میخوانید).
مثال: اگر از نود Read از دیتابیس خروجیای با فیلد feedUrl دارید، میتوانید Feed URL را اینگونه تنظیم کنید:
{{$json.feedUrl}}
خروجیها (Output)
خروجی شامل چند آیتم است که هر آیتم نماینده یک entry در فید است. فیلدهای دقیق بسته به فید میتواند متفاوت باشد، اما معمولاً موارد زیر وجود دارد: title، link، pubDate/isoDate، content/description، guid، و گاهی author و categories.
نمونه ساختار JSON خروجی
نمونه زیر یک الگوی رایج از خروجی است (ممکن است نام برخی فیلدها بسته به فید فرق کند):
{ "title": "How to Automate Reports", "link": "https://example.com/blog/automate-reports", "guid": "https://example.com/blog/automate-reports", "pubDate": "Mon, 01 Jan 2026 10:00:00 GMT", "isoDate": "2026-01-01T10:00:00.000Z", "author": "Editorial Team", "categories": ["Automation", "n8n"], "content": "<p>Full HTML content...</p>", "contentSnippet": "Short summary of the post..."}
نکات پیشرفته و ترفندها
جلوگیری از پردازش تکراری با ذخیره آخرین guid/link
- الگو: Schedule Trigger → RSS Read → IF (آیا guid قبلاً دیده شده؟) → مقصد
- برای ذخیره:
- Data Store (در نسخههای جدید n8n) برای نگهداری کلیدها
- یا یک جدول ساده در Postgres/MySQL
- نکته عملی: کلید مناسب معمولاً guid است؛ اگر guid پایدار نبود، از link استفاده کنید.
ترکیب چند فید و یکسانسازی خروجیها
وقتی چند RSS دارید، فیلدها ممکن است متفاوت باشند. با نود Set میتوانید خروجی را استاندارد کنید:
- title = {{$json.title}}
- url = {{$json.link}}
- publishedAt = {{$json.isoDate || $json.pubDate}}
- summary = {{$json.contentSnippet || $json.description}}
سپس با Merge یا Item Lists همه را تجمیع کنید.
پاکسازی HTML و کوتاهسازی متن برای پیامرسانها
- اگر content شامل HTML است، قبل از ارسال به تلگرام/اسلک بهتر است:
- HTML را حذف کنید (با Code node و regex یا کتابخانههای داخلی، یا استفاده از ابزارهای تبدیل متن در Workflow)
- متن را به طول مشخص محدود کنید (مثلاً ۳۰۰ کاراکتر)
بهینهسازی عملکرد در اجراهای دورهای
- Limit را کم نگه دارید (مثلاً ۱۰ تا ۳۰) و تکراریها را با ذخیره guid مدیریت کنید.
- اگر فید سنگین است، زمانبندی را منطقی تنظیم کنید (مثلاً هر ۱۵ یا ۳۰ دقیقه).
- در صورت تعدد فیدها، اجرای موازی میتواند فشار ایجاد کند؛ از کنترل concurrency در اجرای Workflow یا صف (Queue mode) استفاده شود.
محدودیتها و خطاها
محدودیتها
- احراز هویت پیچیده: اگر فید پشت توکن، کوکی، یا امضای خاص باشد، RSS Read ممکن است کافی نباشد و HTTP Request گزینه مناسبتری است.
- ناهمگونی فیلدها: RSS استاندارد واحدی دارد اما فیدها در عمل فیلدهای متفاوت/غیریکسان تولید میکنند؛ نیاز به یکسانسازی با Set یا Code رایج است.
- عدم وجود وضعیت خواندهشده: تشخیص آیتم جدید/قدیمی باید در Workflow پیادهسازی شود.
خطاهای رایج و راهحلها
- خطای URL نامعتبر یا پاسخ HTML به جای RSS
- علت: آدرس صفحه وب داده شده نه آدرس فید
- راهحل: URL صحیح RSS را پیدا کنید (معمولاً /feed یا /rss.xml) و همان را وارد کنید.
- Timeout یا کندی شدید
- علت: فید سنگین، سرور کند یا تعداد آیتم زیاد
- راهحل: Limit را کاهش دهید، فاصله اجرای Workflow را بیشتر کنید، یا با HTTP Request کنترل بیشتری روی timeout داشته باشید.
- کاراکترهای بههمریخته (Encoding)
- علت: برخی فیدها encoding نامتعارف دارند
- راهحل: در صورت نیاز از HTTP Request برای دریافت raw و سپس تبدیل/پارس سفارشی استفاده کنید؛ یا خروجی متن را قبل از نمایش پاکسازی کنید.
- آیتمهای تکراری در اجراهای متوالی
- علت: فید همیشه آخرین N آیتم را برمیگرداند و n8n وضعیت را نگه نمیدارد
- راهحل: ذخیره guid/link و فیلتر کردن موارد دیدهشده با IF + Data Store/DB.
ایده ها
- ساخت ربات “خبرهای مهم امروز” که از چند فید، فقط تیترهای شامل کلمات کلیدی خاص را جمع کند و یک پیام خلاصه روزانه بسازد.
- سیستم مانیتورینگ رقبا: هر وقت رقیب پست جدید منتشر کرد، لینک و خلاصه در یک کانال داخلی تیم ثبت شود.
- ثبت خودکار مطالب آموزشی جدید در Notion بهعنوان بکلاگ مطالعه تیم (با تگگذاری بر اساس categories).
- ساخت داشبورد KPI محتوا: شمارش تعداد پستهای منتشرشده در هفته از طریق RSS و ذخیره در دیتابیس برای گزارشگیری.
- پایپلاین تولید محتوای نیمهخودکار: دریافت RSS، استخراج نکات کلیدی، تولید خلاصه اولیه و ارسال برای بازبینی در ابزار مدیریت پروژه.
