مستندات n8n
74+ نود
🌐

اچ‌تی‌ام‌ال

HTML

استخراج داده از HTML: Web Scraping، CSS Selector و XPath

ابزارها
متوسط
۰ بازدید
n8n 1.0+

نمای کلی

نود HTML چیست؟

نود HTML ابزار قدرتمندی برای کار با محتوای HTML در n8n است. دو عملیات اصلی دارد:

  1. 1Extract HTML Content: استخراج داده از HTML با CSS Selector
  2. 2Generate HTML Table: ساخت جدول HTML از داده JSON

قابلیت‌های کلیدی:

  • استخراج متن، لینک، تصویر و هر عنصر HTML
  • پشتیبانی از CSS Selectors (مثل jQuery)
  • استخراج Attribute های عناصر (href, src, class)
  • تبدیل HTML به Plain Text
  • ساخت جدول HTML از داده‌های JSON
  • کار با innerHTML و outerHTML

کاربردهای HTML:

  • Web Scraping و استخراج داده
  • مانیتورینگ قیمت محصولات
  • استخراج اطلاعات تماس از وب‌سایت‌ها
  • خواندن لیست محصولات فروشگاه‌ها
  • استخراج عناوین اخبار
  • تبدیل HTML ایمیل به متن ساده
  • ساخت گزارش‌های HTML

احراز هویت

بدون نیاز به احراز هویت - نود HTML یک نود داخلی n8n است. برای دریافت HTML صفحات وب، ابتدا از HTTP Request نود استفاده کنید و سپس خروجی آن را به نود HTML بدهید.

عملیات‌های موجود

1

استخراج محتوای HTML

استخراج داده از HTML با استفاده از CSS Selector. می‌توانید متن، لینک، تصویر و هر عنصر دیگری را استخراج کنید.

2

ساخت جدول HTML

تبدیل داده JSON به جدول HTML زیبا. مناسب برای ارسال گزارش در ایمیل.

3

تبدیل HTML به متن

حذف تگ‌های HTML و استخراج متن خالص. مناسب برای پردازش NLP و ذخیره در دیتابیس.

4

استخراج لینک‌ها

استخراج همه لینک‌های موجود در HTML با متن و URL آن‌ها.

5

استخراج تصاویر

استخراج URL و alt text همه تصاویر از HTML.

6

استخراج جدول

تبدیل جدول HTML به آرایه JSON. هر ردیف یک آبجکت با کلیدهای هدر.

7

استخراج Meta Tags

استخراج اطلاعات Meta از HTML: title, description, og:image و غیره.

کاربردهای متداول

موارد استفاده رایج

۱. مانیتورینگ قیمت

HTTP Request > HTML Extract (.price-current) > مقایسه با قیمت قبلی > اعلان در Telegram اگر تغییر کرد.

۲. جمع‌آوری اخبار

دریافت صفحه خبرگزاری > HTML Extract (h2.title, p.summary) > ذخیره در دیتابیس > ارسال خلاصه روزانه.

۳. استخراج محصولات فروشگاه

Scrape صفحه دسته‌بندی > Extract (نام، قیمت، تصویر، لینک) > ذخیره در Google Sheets > مقایسه قیمت.

۴. ساخت گزارش ایمیلی

دریافت داده از API > Generate HTML Table > ارسال ایمیل با جدول زیبا به مدیر.

۵. استخراج اطلاعات تماس

Scrape صفحه تماس > Extract (ایمیل، تلفن، آدرس) > ذخیره در CRM (HubSpot/Salesforce).

۶. تبدیل ایمیل HTML به متن

دریافت ایمیل HTML > HTML to Text > پردازش با AI > پاسخ خودکار.

۷. مانیتورینگ موجودی

بررسی صفحه محصول > Extract (.stock-status) > اگر "موجود" شد، اعلان بده.

۸. Scraping لیست مشاغل

دریافت صفحه کاریابی > Extract (عنوان شغل، شرکت، حقوق) > فیلتر > اعلان.

۹. استخراج نظرات کاربران

Scrape صفحه محصول > Extract (.review-text, .rating) > تحلیل احساسات با AI.

۱۰. ساخت RSS از سایت بدون RSS

Scrape صفحه بلاگ > Extract (عنوان، لینک، تاریخ) > ساخت XML RSS Feed.

نکات حرفه‌ای

نکات و ترفندها

CSS Selector مفید

  • .class-name: انتخاب با کلاس
  • #element-id: انتخاب با ID
  • div > p: فرزند مستقیم
  • div p: همه فرزندان
  • a[href*="example"]: لینک‌های حاوی "example"
  • :nth-child(2): دومین عنصر
  • :first-child, :last-child: اولین و آخرین
  • .class1.class2: عناصر با هر دو کلاس
  • [data-price]: عناصر با attribute خاص

ترکیب HTTP Request + HTML

  1. 1HTTP Request: GET صفحه وب
  2. 2Response Format: String (نه JSON)
  3. 3HTML Extract: اعمال CSS Selector
  4. 4نتیجه: داده ساختاریافته

Web Scraping اخلاقی

  • robots.txt سایت را بررسی کنید
  • بین درخواست‌ها تأخیر بگذارید (Wait node)
  • User-Agent معتبر تنظیم کنید
  • داده‌های شخصی را جمع‌آوری نکنید
  • Terms of Service سایت را رعایت کنید

Extract چند مقدار

یک نود HTML می‌تواند چند Selector داشته باشد:

  • Selector 1: .product-name → نام محصول
  • Selector 2: .product-price → قیمت
  • Selector 3: .product-image img@src → URL تصویر

بهینه‌سازی Performance

  • فقط داده مورد نیاز را استخراج کنید
  • از CSS Selector ساده‌تر استفاده کنید
  • صفحات بزرگ را با Pagination پردازش کنید
  • نتایج را Cache کنید

ساخت جدول ایمیل زیبا

  • از Generate HTML Table استفاده کنید
  • CSS inline اضافه کنید (ایمیل CSS محدود دارد)
  • رنگ‌بندی ردیف‌ها (zebra striping)
  • عرض ثابت برای ستون‌ها

ادغام با سایر نودها

  • HTTP Request: دریافت HTML صفحه وب
  • Code: پردازش پیچیده HTML
  • IF: شرط بر اساس محتوای استخراجی
  • Loop: Scrape چندین صفحه
  • Spreadsheet: ذخیره داده استخراجی
  • AI Agent: تحلیل محتوای استخراجی

رفع مشکلات

عیب‌یابی

۱. CSS Selector کار نمی‌کند

مشکل: عنصر مورد نظر پیدا نمی‌شود راه‌حل: از DevTools مرورگر (F12) CSS Selector را تست کنید. از specificity بیشتر استفاده کنید (div.class > span).

۲. محتوای Dynamic بارگذاری نمی‌شود

مشکل: محتوایی که با JavaScript رندر می‌شود، در HTML وجود ندارد راه‌حل: از Headless Browser (Puppeteer) استفاده کنید. یا API endpoint اصلی سایت را پیدا کنید.

۳. Encoding فارسی خراب است

مشکل: کاراکترهای فارسی به صورت علامت سوال یا کد نمایش داده می‌شوند راه‌حل: مطمئن شوید HTTP Request با encoding UTF-8 دریافت می‌شود. Response type را text تنظیم کنید.

۴. لینک‌های نسبی کامل نیستند

مشکل: لینک‌ها فقط path هستند (مثل /page.html) راه‌حل: baseUrl را تنظیم کنید تا لینک‌های نسبی به مطلق تبدیل شوند.

۵. IP بلاک شده

مشکل: سایت هدف IP را بلاک کرده راه‌حل: از Wait نود بین درخواست‌ها استفاده کنید. User-Agent را تنظیم کنید. از Proxy استفاده کنید.

۶. ساختار HTML تغییر کرده

مشکل: Selector دیگر کار نمی‌کند چون سایت آپدیت شده راه‌حل: از Selectorهای انعطاف‌پذیر استفاده کنید. مانیتورینگ خطا تنظیم کنید.

۷. جدول HTML خروجی ندارد

مشکل: Generate HTML Table خالی است راه‌حل: ورودی باید آرایه JSON باشد. بررسی کنید داده قبل از نود HTML وجود دارد.

۸. Multiple Elements فقط اولی برمی‌گردد

مشکل: فقط یک عنصر استخراج می‌شود راه‌حل: Return Array را فعال کنید تا همه عناصر منطبق برگردند.

اشتراک‌گذاری:

آیا این مستندات مفید بود؟