
گردش کار n8n: جمعآوری و فیلتر اخبار رمزارز و سهام
17 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 11103 · منبع: کاتالوگ Axeto
جمعآوری فید اخبار بازار رمزارز و سهام
این گردش کار n8n اخبار مربوط به بازارهای رمزارز و سهام را از منابع متعدد جمعآوری و پردازش میکند. این گردش کار برای جمعآوری مقالات خبری و پستهای رسانههای اجتماعی مرتبط، فیلتر کردن آنها بر اساس کلمات کلیدی خاص موضوع، حذف موارد تکراری و ارسال دادههای منتخب به یک سیستم بکاند برای استفادههای بعدی مانند نمایش رابط کاربری یا تجزیه و تحلیل طراحی شده است.
شما میتوانید این گردش کار را از طریق کاتالوگ Axeto پیدا کرده و در نمونه n8n خود وارد کنید: https://axeto.ai/n8n
نمای کلی گردش کار
گردش کار به طور منطقی به بخشهای زیر تقسیم میشود:
1. راهاندازها و پیکربندی اجرا: نحوه و زمان اجرای گردش کار را تعیین میکند و موضوع (رمزارز یا سهام) و پلتفرمهای دریافت اخبار را مقداردهی اولیه میکند.
2. دریافت و برچسبگذاری اخبار از منابع: فیدهای خبری را از چندین منبع RSS و رسانههای اجتماعی دریافت کرده و هر مورد را با یک موضوع برچسبگذاری میکند.
3. ادغام و نرمالسازی موارد: موارد خبری را از همه منابع در یک جریان یکپارچه با فراداده استاندارد شده ادغام میکند.
4. فیلتر، حذف موارد تکراری و ساخت بار داده (Payload): موارد را بر اساس کلمات کلیدی فیلتر میکند، موارد تکراری را در طول اجراها حذف میکند و آنها را در یک بار داده ساختاریافته کامپایل میکند.
5. ارسال به بکاند (Backend): بار داده نهایی و منتخب اخبار را به یک نقطه پایانی بکاند پیکربندی شده ارسال میکند.
---
تحلیل دقیق گرهها (Nodes)
۱. راهاندازها و پیکربندی اجرا
این بخش نقاط شروع گردش کار را کنترل میکند - چه فواصل زمانی برنامهریزی شده و چه راهاندازهای وبهوک خارجی - و پیکربندیهای زمان اجرا مانند موضوع اخبار و منابع داده را مقداردهی اولیه میکند.
- راهانداز زمانبندی (Schedule Trigger)
* نوع: Schedule Trigger
* نقش: گردش کار را به صورت دورهای هر ۳۰ دقیقه یکبار شروع میکند.
* پیکربندی: فاصله زمانی روی فواصل ۳۰ دقیقهای تنظیم شده است.
* ورودی: ندارد (گره شروع).
* خروجی: با گره Merge ادغام میشود.
* موارد مرزی: گردش کار ممکن است در صورت پیکربندی نادرست زمانبندی یا خرابی وابستگیهای خارجی در پاییندست، با شکست مواجه شود.
- وبهوک (Webhook)
* نوع: Webhook Trigger
* نقش: به درخواستهای POST خارجی اجازه میدهد تا گردش کار را با پارامترها راهاندازی کنند.
* پیکربندی: متد POST در مسیر run-workflow.
* ورودی: درخواستهای HTTP خارجی.
* خروجی: به گره Merge متصل است.
* موارد مرزی: در صورت فعال بودن، نیاز به راهاندازی صحیح وبهوک و احراز هویت دارد.
- ادغام (Merge)
* نوع: Merge
* نقش: ورودیها را از Schedule Trigger و Webhook ترکیب میکند تا جریان راهانداز را یکپارچه کند.
* ورودی: Schedule Trigger و Webhook.
* خروجی: به Init RunConfig متصل میشود.
* موارد مرزی: همگامسازی صحیح ورودیهای راهانداز را تضمین میکند.
- مقداردهی اولیه پیکربندی اجرا (Init RunConfig)
* نوع: Code
* نقش: پیکربندی زمان اجرا را مقداردهی اولیه میکند، از جمله موضوع (رمزارز/سهام)، پلتفرمهایی که اخبار از آنها دریافت میشود، و تنظیمات از پیش تعیین شده پرس و جو برای هر پلتفرم.
* پیکربندی: بدنه JSON ورودی را میخواند یا از مقادیر پیشفرض استفاده میکند؛ به طور پیشفرض پلتفرمها را روی coindesk، google، cointelegraph، x تنظیم میکند؛ موضوع پیشفرض را روی crypto تنظیم میکند.
* ورودی: ورودی راهانداز ادغام شده.
* خروجی: به چندین گره IF Gate منشعب میشود.
* عبارات (Expressions): از جاوا اسکریپت برای تجزیه و پیشفرض پارامترها استفاده میکند.
* موارد مرزی: ورودیهای از دست رفته یا بدشکل به درستی پیشفرض میشوند؛ لیست پلتفرم باید یک آرایه باشد.
- دروازه شرطی - کویندسک / اخبار گوگل / کوینتلگراف / X (IF Gate - Coindesk / Google news / CoinTelegraph / X)
* نوع: If
* نقش: انشعاب شرطی برای تصمیمگیری در مورد اینکه کدام پلتفرمها بر اساس خروجی Init RunConfig پرس و جو شوند.
* پیکربندی: ارزیابی میکند که آیا موضوع/پلتفرم در لیست پلتفرمها گنجانده شده است یا خیر.
* ورودی: خروجی Init RunConfig.
* خروجی: فید RSS مربوطه یا گرههای پردازش برای هر پلتفرم.
* موارد مرزی: لیست پلتفرم خالی یا پلتفرمهای پشتیبانی نشده باعث پرش از دریافت میشود.
۲. دریافت و برچسبگذاری اخبار از منابع
این بخش موارد خبری را از فید RSS یا API هر منبع دریافت میکند و هر مورد را با موضوع برای فیلتر کردن بعدی برچسبگذاری میکند.
- خواندن RSS - کویندسک / اخبار گوگل / کوینتلگراف (RSS Read - Coindesk / Google news / CoinTelegraph)
* نوع: RSS Feed Read
* نقش: فیدهای RSS را از URLهای مربوطه دریافت میکند.
* پیکربندی: URLهای ثابت یا پویا برای اخبار گوگل و پستهای X ساخته شدهاند؛ تلاش مجدد برای اخبار گوگل و کوینتلگراف فعال است.
* ورودی: گرههای IF Gate شرطی.
* خروجی: به گرههای Code - Tag topic مربوطه جریان مییابد.
* موارد مرزی: مشکلات شبکه، فیدهای خالی، URLهای نامعتبر.
- خواندن RSS - پستهای X (RSS Read - X Posts)
* نوع: RSS Feed Read
* نقش: پستهای X (توییتر) را از طریق URLهای فید RSS xcancel.com که به صورت پویا تولید میشوند، دریافت میکند.
* ورودی: دستههای URL که توسط Code - URL Build - XCancel ساخته شدهاند.
* خروجی: به Code - Tag topic - X میرود.
* موارد مرزی: محدودیتهای نرخ، دستههای ناقص، تغییرات API.
- کد - برچسبگذاری موضوع - [منبع] (Code - Tag topic - [Source])
* نوع: Code
* نقش: یک فیلد topic نرمالیزه شده (crypto یا stocks) را بر اساس پیکربندی اجرا یا مقادیر پیشفرض به هر مورد اضافه میکند.
* ورودی: موارد فید RSS.
* خروجی: موارد برچسبگذاری شده را برای انباشت یا تخصیص منبع به پاییندست ارسال میکند.
* موارد مرزی: موضوع از دست رفته با پیشفرضگذاری مدیریت میشود؛ یک فیلد موضوع یکنواخت را تضمین میکند.
- کد - ساخت URL - اخبار گوگل (Code - URL build - Google news)
* نوع: Code
* نقش: URL فید RSS اخبار گوگل را به صورت پویا بر اساس پرس و جوها از Init RunConfig میسازد.
* خروجی: URL به RSS Read - Google news ارسال میشود.
* موارد مرزی: خطاهای ساخت پرس و جو یا مشکلات رمزگذاری.
- کد - ساخت URL - XCancel (Code - URL Build - XCancel)
* نوع: Code
* نقش: چندین URL فید RSS دستهبندی شده برای پستهای X با عبارات پرس و جوی متناسب با موضوع میسازد، و تیکرها و کلمات کلیدی را تقسیم میکند تا پرس و جوها قابل مدیریت باقی بمانند.
* جزئیات: از فیلترهایی مانند حداقل تعداد لایک و بازتوییت استفاده میکند؛ مجموعههای پرس و جوی بزرگ را به دستهها تقسیم میکند؛ از موضوعات رمزارز و سهام پشتیبانی میکند.
* خروجی: موارد دسته با URLهای RSS و فراداده برای تقسیم و حلقهزنی.
* موارد مرزی: محدودیتهای طول پرس و جو؛ محدودیتهای اندازه دسته.
- کد - بازنشانی انباشتکننده X (Code - Reset X accumulator)
* نوع: Code
* نقش: حافظه استاتیک جهانی را برای انباشت پستهای X در دستهها مقداردهی اولیه یا بازنشانی میکند.
* خروجی: به X Batches منتقل میشود.
* موارد مرزی: وضعیت تازه را برای هر اجرا تضمین میکند.
- کد - انباشت موارد X (Code - Accumulate X items)
* نوع: Code
* نقش: دسته فعلی پستهای X را به حافظه استاتیک جهانی اضافه میکند؛ اطلاعات کنترل در مورد دستهها را خروجی میدهد.
* خروجی: از طریق IF - More X batches? حلقهزنی را کنترل میکند.
* موارد مرزی: سرریز حافظه با پردازش دستهای کاهش مییابد.
- شرطی - دستههای X بیشتری وجود دارد؟ (IF - More X batches?)
* نوع: If
* نقش: تصمیم میگیرد که آیا دستههای بیشتری از پستهای X برای دریافت وجود دارد یا خیر؛ به صورت حلقهای یا نهایی میکند.
* خروجی: به X Batches برمیگردد یا برای نهایی کردن ادامه میدهد.
* موارد مرزی: از حلقههای بینهایت جلوگیری میکند؛ سازگاری تعداد دستهها.
- دستههای X (X Batches)
* نوع: Split In Batches
* نقش: پرسوجوهای پست X را به دستههای قابل مدیریت برای پردازش متوالی تقسیم میکند.
* موارد مرزی: ممکن است تنظیم اندازه دسته برای عملکرد مورد نیاز باشد.
- حلقه بازگشت - دستههای X (Loop back – X Batches)
* نوع: NoOp
* نقش: به عنوان یک اتصالدهنده حلقه برای پردازش دستهای پستهای X عمل میکند.
- کد - نهایی کردن دستههای X (انتشار ترکیبی) (Code - Finalize X batches (emit combined))
* نوع: Code
* نقش: پستهای X انباشته شده را به عنوان یک آرایه ترکیبی به گرههای پاییندست منتشر میکند.
* خروجی: به تخصیص منبع و ادغام متصل میشود.
* موارد مرزی: انتشار کامل دادههای دسته را تضمین میکند.
۳. ادغام و نرمالسازی موارد
این بخش فراداده منبع را به هر مورد خبری اختصاص میدهد و تمام جریانهای پلتفرم را در یک مجموعه داده واحد و یکپارچه ادغام میکند.
- تنظیم منبع - [منبع] (Source set - [Source])
* نوع: Set
* نقش: فیلدهای فراداده مانند source (مثلاً "CoinDesk")، kind (مثلاً "Article / News" یا "Tweet") و topic را به هر مورد اضافه میکند.
* ورودی: موارد برچسبگذاری شده از منابع مربوطه.
* خروجی: موارد نرمالیزه شده را به گرههای ادغام ارسال میکند.
* موارد مرزی: فیلدهای ورودی از دست رفته با حفظ سایر فیلدها مدیریت میشوند.
- گرههای ادغام (Merge Nodes)
* نوع: Merge
* نقش: موارد را از چندین منبع به صورت مرحلهای ترکیب میکند تا یک جریان واحد تشکیل دهد:
* ادغام کویندسک + اخبار گوگل
* ادغام پستهای X + کوینتلگراف
* ادغام نهایی دو ادغام قبلی در یک جریان برای فیلتر کردن.
* خروجی: به گره فیلتر کلمات کلیدی متصل میشود.
* موارد مرزی: از دست دادن یا تکرار داده در طول ادغامها را تضمین میکند.
۴. فیلتر، حذف تکرار و ساخت پیلود
این بخش موارد خبری را بر اساس تطابق کلمات کلیدی فیلتر میکند، موارد تکراری را در طول اجراها حذف میکند و موارد فیلتر شده را در یک پیلود JSON ساختاریافته کامپایل میکند.
- کد - فیلتر کلمات کلیدی (Code - Keywords Filter)
* نوع: Code
* نقش: منطق اصلی فیلتر و حذف تکرار موارد خبری را با استفاده از لیستهای کلمات کلیدی تنظیم شده برای موضوعات رمزارز یا سهام انجام میدهد.
* ویژگیها:
* لیست کلمات کلیدی برای موضوعات رمزارز و سهام.
* لیست حذف برای محتوای ناخواسته هرزنامه/هدیه.
* حذف تکرار در طول اجراها با استفاده از حافظه استاتیک گردش کار.
* استخراج فراداده مانند کلمات کلیدی مطابق، URLهای نرمالیزه شده، تاریخهای انتشار و تصاویر رسانه.
* ورودی: جریان خبری یکپارچه ادغام شده.
* خروجی: موارد فیلتر شده و غنی شده به Code - Array bind.
* موارد مرزی: فیلدهای از دست رفته، دادههای بدشکل، موارد خالی یا تکراری را مدیریت میکند.
- کد - اتصال آرایه (Code - Array bind)
* نوع: Code
* نقش: تمام موارد فیلتر شده را در یک شیء JSON واحد با ساختار { topic, items: [...] } برای مصرف آسان در پاییندست، پیوند میدهد.
* خروجی: به گره HTTP Request برای ارسال داده متصل میشود.
* موارد مرزی: سازگاری فیلد موضوع را تضمین میکند.
۵. ارسال به بکاند
این بخش پیلود خبری منتخب و فیلتر شده را به یک نقطه پایانی بکاند برای ذخیرهسازی، نمایش رابط کاربری یا پردازشهای دیگر ارسال میکند.
- درخواست HTTP - ارسال به بکاند شما (HTTP Request - Send to your backend)
* نوع: HTTP Request
* نقش: یک درخواست POST HTTP با پیلود JSON حاوی موارد خبری به یک URL بکاند مشخص شده ارسال میکند.
* پیکربندی:
* URL: https://your-backend.example.com/api/hooks/news (باید سفارشی شود).
* هدرها: Content-Type: application/json، اختیاری x-webhook-secret برای احراز هویت.
* بدنه: شیء JSON با آرایه items از گره قبلی.
* ورودی: خروجی Code - Array bind.
* خروجی: ندارد (پایان گردش کار).
* موارد مرزی: خطاهای شبکه، خرابی احراز هویت، خطاهای پاسخ بکاند.
---
جدول خلاصه
| نام گره (Node Name) | نوع گره (Node Type) | نقش عملکردی (Functional Role) | گره(های) ورودی (Input Node(s)) | گره(های) خروجی (Output Node(s)) | یادداشت چسبان (Sticky Note) |
|---|---|---|---|---|---|
| Schedule Trigger | Schedule Trigger | راهانداز دورهای برای شروع گردش کار (Periodic trigger to start workflow) | None | Merge | |
| Webhook | Webhook Trigger | راهانداز خارجی برای گردش کار (External trigger for the workflow) | None | Merge | |
| Merge | Merge | یکپارچهسازی ورودیهای راهانداز (Unifies trigger inputs) | Schedule Trigger, Webhook | Init RunConfig | |
| Init RunConfig | Code | مقداردهی اولیه پیکربندی زمان اجرا (Initializes runtime configuration) | Merge | IF Gate - Coindesk, IF Gate - Google news, ... | موضوع، پلتفرمها و پیشتنظیمات جستجو را تنظیم میکند. (Sets topic, platforms, and query presets.) |
| IF Gate - Coindesk | If | انشعاب شرطی برای Coindesk (Conditional branching for Coindesk) | Init RunConfig | RSS Read - Coindesk | |
| IF Gate - Google news | If | انشعاب شرطی برای Google News (Conditional branching for Google News) | Init RunConfig | Code - URL build - Google news | |
| IF Gate - CoinTelegraph | If | انشعاب شرطی برای CoinTelegraph (Conditional branching for CoinTelegraph) | Init RunConfig | RSS Read - CoinTelegraph | |
| IF Gate - X | If | انشعاب شرطی برای X (توییتر) (Conditional branching for X (Twitter)) | Init RunConfig | Code - Reset X accumulator | |
| RSS Read - Coindesk | RSS Feed Read | دریافت فید RSS Coindesk (Fetches Coindesk RSS feed) | IF Gate - Coindesk | Code - Tag topic - Coin desk | |
| RSS Read - Google news | RSS Feed Read | دریافت فید RSS Google News (Fetches Google News RSS feed) | Code - URL build - Google news | Code - Tag topic - Google news | |
| RSS Read - CoinTelegraph | RSS Feed Read | دریافت فید RSS CoinTelegraph (Fetches CoinTelegraph RSS feed) | IF Gate - CoinTelegraph | Code - Tag topic - Coin telegraph | |
| Code - URL build - Google news | Code | ساخت پویای URL فید RSS Google News (Dynamically builds Google News RSS URL) | Init RunConfig | RSS Read - Google news | |
| Code - Reset X accumulator | Code | مقداردهی اولیه انباشتگر پستهای X (Initializes X posts accumulator) | IF Gate - X | X Batches | |
| X Batches | Split In Batches | تقسیم پرسوجوهای پست X به دستهها (Splits X post queries into batches) | Code - Reset X accumulator | Code - Accumulate X items | |
| Code - Accumulate X items | Code | انباشت پستهای X و کنترل دستهبندی (Accumulates X posts and controls batching) | X Batches | IF - More X batches? | |
| IF - More X batches? | If | بررسی اینکه آیا دستههای X بیشتری نیاز به پردازش دارند (Checks if more X batches need processing) | Code - Accumulate X items | X Batches, Code - Finalize X batches (emit combined) | به X Batches بازمیگردد یا به مرحله نهاییسازی میرود. (Loops back to X Batches or proceeds to finalize.) |
| Code - Finalize X batches (emit combined) | Code | انتشار تمام پستهای انباشته شده X (Emits all accumulated X posts) | IF - More X batches? | Source set - X Posts | |
| RSS Feed Read - X Posts | RSS Feed Read | دریافت پستهای X از طریق xcancel.com (Fetches X posts via xcancel.com) | Code - URL Build - XCancel | Code - Tag topic - X | |
| Code - URL Build - XCancel | Code | ساخت URLهای فید RSS دستهبندی شده پستهای X (Constructs batched X post RSS URLs) | Init RunConfig | RSS Feed Read - X Posts | پرسوجوها را به دستههای قابل مدیریت تقسیم میکند. (Splits queries into manageable batches.) |
| Code - Tag topic - Coin desk | Code | افزودن برچسب موضوع به موارد Coindesk (Adds topic tag to Coindesk items) | RSS Read - Coindesk | Source set - Coindesk | |
| Code - Tag topic - Google news | Code | افزودن برچسب موضوع به موارد Google News (Adds topic tag to Google News items) | RSS Read - Google news | Source set - Google news | |
| Code - Tag topic - Coin telegraph | Code | افزودن برچسب موضوع به موارد CoinTelegraph (Adds topic tag to CoinTelegraph items) | RSS Read - CoinTelegraph | Source set - CoinTelegraph | |
| Code - Tag topic - X | Code | افزودن برچسب موضوع به پستهای X (Adds topic tag to X posts) | RSS Feed Read - X Posts | Source set - X Posts | |
| Source set - Coindesk | Set | افزودن فراداده منبع به موارد Coindesk (Adds source metadata to Coindesk items) | Code - Tag topic - Coin desk | Merge - Coindesk + Google news | source, kind, topic را تنظیم میکند. (Sets source, kind, topic.) |
| Source set - Google news | Set | افزودن فراداده منبع به موارد Google News (Adds source metadata to Google News items) | Code - Tag topic - Google news | Merge - Coindesk + Google news | source, kind, topic را تنظیم میکند. (Sets source, kind, topic.) |
| Source set - CoinTelegraph | Set | افزودن فراداده منبع به موارد CoinTelegraph (Adds source metadata to CoinTelegraph items) | Code - Tag topic - Coin telegraph | Merge - X posts + CoinTelegraph | source, kind, topic را تنظیم میکند. (Sets source, kind, topic.) |
| Source set - X Posts | Set | افزودن فراداده منبع به پستهای X (Adds source metadata to X posts) | Code - Finalize X batches (emit combined) | Merge - X posts + CoinTelegraph | source, kind, topic را تنظیم میکند. (Sets source, kind, topic.) |
| Merge - Coindesk + Google news | Merge | ادغام موارد Coindesk و Google News (Merges Coindesk and Google News items) | Source set - Coindesk, Source set - Google news | Merge - Merge previous two merges | |
| Merge - X posts + CoinTelegraph | Merge | ادغام پستهای X و موارد CoinTelegraph (Merges X posts and CoinTelegraph items) | Source set - CoinTelegraph, Source set - X Posts | Merge - Merge previous two merges | |
| Merge - Merge previous two merges | Merge | ادغام نهایی تمام موارد خبری (Final merge of all news items) | Merge - Coindesk + Google news, Merge - X posts + CoinTelegraph | Code - Keywords Filter | یک جریان یکپارچه برای فیلتر کردن ایجاد میکند. (Creates a unified stream for filtering.) |
| Code - Keywords Filter | Code | فیلتر و حذف موارد تکراری خبری (Filters and deduplicates news items) | Merge - Merge previous two merges | Code - Array bind | از کلمات کلیدی، لیستهای حذف و حافظه استاتیک برای حذف موارد تکراری استفاده میکند. (Uses keywords, drop lists, and static memory for deduplication.) |
| Code - Array bind | Code | ساختاردهی موارد فیلتر شده به یک بار داده (Structures filtered items into a payload) | Code - Keywords Filter | HTTP Request - Send to your backend | ساختار { topic, items: [...] } را ایجاد میکند. (Creates { topic, items: [...] } structure.) |
| HTTP Request - Send to your backend | HTTP Request | ارسال بار داده به یک نقطه پایانی بکاند (Sends the payload to a backend endpoint) | Code - Array bind | None | URL، هدرها و بدنه قابل پیکربندی. (Configurable URL, headers, and body.) |
Nodeهای استفادهشده
سوالات متداول
این گردش کار n8n چه کاری انجام میدهد؟▾
این گردش کار اخبار مربوط به بازارهای رمزارز و سهام را از منابع متعدد جمعآوری، فیلتر، موارد تکراری را حذف و سپس برای استفاده در سیستمهای بکاند آماده میکند.
چه منابعی برای جمعآوری اخبار استفاده میشود؟▾
این گردش کار از فیدهای RSS و رسانههای اجتماعی مختلفی مانند CoinDesk، Google News، CoinTelegraph و X (توییتر سابق) برای جمعآوری اخبار استفاده میکند.
چگونه میتوان این گردش کار را دریافت و استفاده کرد؟▾
شما میتوانید این گردش کار را از طریق کاتالوگ Axeto.ai پیدا کرده و در نمونه n8n خود وارد کنید.
آیا این گردش کار اخبار تکراری را حذف میکند؟▾
بله، این گردش کار دارای منطقی برای فیلتر کردن و حذف موارد تکراری اخبار در طول اجراهای مختلف است تا از دادههای تمیز اطمینان حاصل شود.
workflowهای مرتبط
- تحلیل خودکار پرتفوی سهام با n8n، Groq LLM و GmailCrypto Trading
- تحلیل سهام به سبک وارن بافت با n8n و هوش مصنوعیCrypto Trading
- تحلیل سهام تلگرام با Twelve Data و GPT-4oCrypto Trading
- گردش کار n8n: تحلیل آتیها و اختیار معامله سهام آمریکاCrypto Trading
- تحلیل خودکار سهام از تلگرام با GPT-4 و n8nCrypto Trading
- تحلیل خودکار بورس و هشدارهای معاملاتی با n8nCrypto Trading
