ما هي أفضل طريقة لمراقبة تغييرات صفحة المواعيد دون أن يتم حجبك؟

السلام عليكم الجميع،

أنا لا أزال أتعلم n8n ولدي مشروع صغير.

أريد مراقبة صفحة مواعيد حكومية (مشابهة لصفحة حجز مواعيد NBI) والحصول على إشعارات فقط عند حدوث تغييرات مهمة، مثل فتحات مواعيد جديدة أو تحديث حالة.

لا أريد الكشط بقوة أو كسر أي قواعد الموقع. أحتاج فقط إلى التحقق كل بضع دقائق وإرسال إشعار عبر Telegram أو بريد إلكتروني إذا حدث تغيير حقيقي.

ما هو أفضل نهج في n8n لهذا؟ HTTP Request + HTML Extract + المقارنة مع النتيجة السابقة؟ أم أن هناك سير عمل أفضل؟

أود أن أسمع كيف يتعامل الآخرون مع هذا النوع من المراقبة دون الحصول على تحديد معدل.

شكراً!

مرحباً @jozerizzel، أثناء انتظرك للحصول على رد، إليك بعض الأشياء التي قد تساعدك:

الموارد المقترحة

تم مطابقتها تلقائياً مع سؤالك.

المستندات:

المنتدى:

@Yo_its_prakash، @mohamed3nan - لقد ساعدتم في حل مشاكل مماثلة من قبل، هل يمكنكم إلقاء نظرة؟

تم الاقتراح تلقائياً من قبل روبوت مجتمع n8n. إنه مشروع تجريبي - يرجى مشاركة ملاحظاتك هنا.

@jozerizzel

يمكنك تجربة هذا النهج

مشغّل الجدولة (كل 5 دقائق)
→ طلب HTTP (جلب الصفحة)
→ عقدة HTML (استخراج القسم المستهدف)
→ عقدة الكود (تجزئة/توحيد النص المستخرج)
→ إزالة التكرارات (المقارنة مع التشغيل السابق)
→ [إذا تم اكتشاف تغيير] → عقدة Telegram / البريد الإلكتروني

مرحبًا @jozerizzel أهلًا وسهلًا!
وجّه طلب HTTP إلى نقطة نهاية JSON التي يستدعيها تقويم الحجز نفسه بدلًا من HTML المعروض، ثم خزّن استجابة ETag في بيانات سير العمل الثابتة وأرسلها مرة أخرى باسم If-None-Match في الاستقصاء التالي. تعود الاستقصاءات التي لم تتغيّر مع 304 وبدون نص، لذا فعّل Include Response Headers and Status لقراءة ETag، و Never Error حتى لا يفشل سير العمل بسبب 304.
تحفظ البيانات الثابتة فقط عند تشغيل سير العمل المنشور من خلال محفزه، لذا سيبدو كل اختبار يدوي وكأنه الاستقصاء الأول تمامًا.

شكراً على الشرح المفصّل، أقدّر ذلك حقاً.

لم أكن أفكر في استخدام نقطة النهاية JSON مع ETag و If-None-Match. يبدو هذا أفضل بكثير من مقارنة HTML كاملة في كل مرة.

شكراً أيضاً على شرح سلوك البيانات الثابتة. كنت مرتبكاً لأن كل اختبار يدوي بدا وكأنه تشغيل أول، والآن أعرف السبب.

سأحدّث سير عملي واختبره على مشغل منشور بدلاً من ذلك. آمل أن يقلل هذا من الطلبات غير الضرورية ويتجنب الحظر.

شكراً مرة أخرى على مساعدتك! :folded_hands:

شكراً، هذا سير العمل يبدو أسهل بكثير للفهم.

أعتقد أنني سأجرب هذا أولاً قبل جعله أكثر تقدماً باستخدام ETags. الهدف الرئيسي لي هو فقط الحصول على إخطار إذا تغيء شيء ما في صفحة المواعيد على NBI online، لذا لا أحتاج إلى التحقق منها يدوياً طوال اليوم.

سأبني هذا سير العمل وأرى كيف يعمل. إذا أصبح الموقع ثقيلاً جداً لاستطلاع البيانات، فسأنظر في طريقة JSON/ETag التي تم ذكرها سابقاً.

شكراً على مشاركة هذا، مفيد جداً!