ویرگول
ورودثبت نام
M.A.Tatari
M.A.Tatariیک کنکوری خسته از حفظیات
M.A.Tatari
M.A.Tatari
خواندن ۲ دقیقه·۳ ماه پیش

🚀 ساخت اسکریپت مانیتورینگ تغییرات سایت‌ها

مدتیه فروشگاه تکنولایف یه جشنواره جذاب به اسم تونل زمان برگزار می‌کنه.
در این جشنواره، هر چند وقت یک‌بار یه سری محصولات خاص با تخفیف‌های زیاد و موجودی محدود منتشر می‌شن.
اما نکته اینجاست که این محصولات معمولاً خیلی زود تموم می‌شن و اگه بخوای دستی چک کنی که صفحه‌ی جشنواره چه زمانی آپدیت شده، عملاً شانسی برای خرید نداری 😅

منم دقیقاً همین مشکل رو داشتم — کنجکاو بودم که بدونم چه زمانی محصولات جدید اضافه می‌شن، بدون اینکه هی صفحه‌ی سایت رو رفرش کنم.
برای همین تصمیم گرفتم یه ابزار کوچک ولی کاربردی بسازم که خودش تغییرات صفحات وب رو تشخیص بده و به من اطلاع بده.


💡 ایده‌ی اصلی پروژه

هدف ساده بود:
یه سیستم بنویسم که بتونه هر چند دقیقه یک‌بار به آدرس‌هایی که من تعیین می‌کنم سر بزنه، و اگر محتوای صفحه نسبت به دفعه‌ی قبل تغییر کرده بود، به من یه نوتیف بده.

به این ترتیب، لازم نیست کاربر دائم سایت‌ها رو چک کنه؛ کافیه یه‌بار تنظیم کنه و بقیه‌ی کارها رو بسپره به سیستم.


⚙️ نحوه‌ی کار

پروژه شامل دو بخش اصلیه:

1. اسکریپت بررسی تغییرات

این بخش با استفاده از کرون‌جاب (Cron Job) هر چند دقیقه یک‌بار اجرا می‌شه و کارهای زیر رو انجام می‌ده:

  • به آدرس‌های ثبت‌شده درخواست (Request) می‌فرسته

  • محتوای HTML صفحه رو ذخیره می‌کنه

  • اون رو با نسخه‌ی قبلی مقایسه می‌کنه

  • اگر تفاوتی وجود داشت، تغییر رو ثبت و نوتیفیکیشن ارسال می‌کنه

به زبان ساده، یه سیستم Web Scraper سبک ساختم که هدفش فقط تشخیص تغییر محتواست، نه جمع‌آوری داده‌ها.

2. پنل مدیریت

برای اینکه بشه راحت‌تر با سیستم کار کرد، یه پنل مدیریتی طراحی کردم که امکانات زیر رو داره:

  • مشاهده‌ی لیست سایت‌های در حال پایش

  • دیدن آخرین نسخه‌ی محتوای هر سایت

  • ثبت یا حذف سایت جدید

  • مشاهده‌ی لاگ تغییرات و زمان آخرین بررسی‌ها

با این پنل، همه‌چیز تحت کنترل قرار می‌گیره و نیاز نیست وارد دیتابیس یا کد بشی.


🧩 تکنولوژی‌های استفاده‌شده

برای پیاده‌سازی این پروژه از ابزارها و تکنولوژی‌های زیر استفاده کردم:

  • PHP برای بخش بک‌اند

  • JavaScript برای تعامل‌های سمت کاربر در پنل

  • Cron Jobs برای زمان‌بندی اجرای خودکار

  • HTML/CSS برای طراحی رابط کاربری ساده و سبک


🔔 نتیجه‌ی نهایی

در حال حاضر این اسکریپت به‌صورت کاملاً خودکار، هر چند دقیقه یک‌بار آدرس‌های تعیین‌شده رو بررسی می‌کنه و هرگونه تغییر در محتوای صفحات رو شناسایی می‌کنه.
وقتی تغییر جدیدی اتفاق بیفته، بلافاصله ثبت می‌شه و در بخش لاگ‌ها قابل مشاهده‌ست.
به این ترتیب، اگر تکنولایف (یا هر سایت دیگه‌ای) جشنواره جدیدی راه بندازه، اولین کسی که خبردار می‌شم، منم 😄


💬 جمع‌بندی

این پروژه در اصل یه تمرین جالب برای ترکیب Web Scraping + Automation + Dashboard Design بود.
اما در عمل، تبدیل شد به یه ابزار واقعی که می‌تونه در موقعیت‌های مشابه هم استفاده بشه — مثلاً دنبال کردن تغییر قیمت‌ها، موجود شدن کالاها، یا حتی بررسی تغییرات صفحات خبری.

اگر دوست داری سورس پروژه رو ببینی، میتونی به صفحه گیتهابم سر بزنی :

https://github.com/amintatari64/web-scraper

نظرت در مورد این پروژه چیه؟

رابط کاربریوباسکریپتphp
۲
۰
M.A.Tatari
M.A.Tatari
یک کنکوری خسته از حفظیات
شاید از این پست‌ها خوشتان بیاید