مطالعه موردی ساخت داشبورد لحظهای قیمت ارز و طلا
نوسانات بازار ارز و طلا در ایران، توجه بسیاری از مردم، فعالان اقتصادی و سرمایهگذاران را به خود جلب کرده است. برای پیگیری این نوسانات، اغلب به سایتهای مختلفی مراجعه میشود که اطلاعات لحظهای را ارائه میدهند. حال اگر بتوان این اطلاعات را در قالب یک داشبورد قیمت لحظهای جمعآوری، سازماندهی و نمایش داد، کاربران میتوانند با سرعت و دقت بیشتری تصمیمگیری کنند. در این مقاله، فرایند ساخت یک پروژه واقعی برای اسکریپ و نمایش دادههای قیمت ارز و طلا از چند منبع معتبر را بررسی میکنیم.

بخش اول: هدف پروژه
هدف اصلی این پروژه ایجاد یک صفحه داشبورد ساده و کاربردی بود که:
- قیمت لحظهای انواع ارز (مثل دلار، یورو، درهم) و طلا (مثلاً سکه، مثقال و گرم ۱۸ عیار) را نمایش دهد
- اطلاعات از منابع قابل اعتماد ایرانی و بهروزشونده مانند سایتهای صرافی، اتحادیه طلا، و خبرگزاریها جمعآوری شود
- دادهها هر چند دقیقه یکبار بهروزرسانی شوند
- خروجی خوانا و ساده برای کاربران غیر فنی فراهم باشد
بخش دوم: انتخاب منابع و نحوه استخراج اطلاعات
در گام اول، باید مشخص میشد که اطلاعات قیمت از کجا و چگونه جمعآوری شوند. سایتهایی مانند مثقال، اقتصادنیوز، صرافی ملی، و اتحادیه طلا بهعنوان منابع اصلی انتخاب شدند.
هر سایت دارای ساختار HTML خاص خود بود، اما بهطور کلی اطلاعات مورد نظر همیشه در نزدیکی عنوان “قیمت امروز” یا “قیمت لحظهای” قرار داشت. بنابراین استخراج دادهها شامل موارد زیر میشد:
- نرخ فروش دلار و یورو
- قیمت هر گرم طلای ۱۸ عیار
- قیمت انواع سکه (بهار آزادی، امامی و …)
در برخی منابع، بهجای عدد، از فرمتهای گرافیکی یا نمادهای پنهان استفاده شده بود که نیازمند پردازش دقیقتر بود.
بخش سوم: نحوه طراحی داشبورد نهایی
پس از جمعآوری اطلاعات، تمرکز بر روی نمایش مؤثر و کاربردی دادهها بود. مهمترین ویژگیهای داشبورد:
۱. سادگی بصری
داشبورد با یک طراحی مینیمال پیادهسازی شد تا کاربران بتوانند تنها با یک نگاه، تغییرات قیمتی را درک کنند. مثلاً:
- تغییرات افزایشی با رنگ قرمز
- تغییرات کاهشی با رنگ سبز
- قیمتهای ثابت با رنگ خاکستری نمایش داده میشدند
۲. بهروزرسانی خودکار
با تعریف یک بازه زمانی (مثلاً هر ۵ دقیقه)، داشبورد بهطور خودکار دادهها را بهروز میکرد. برای این کار، از زمانبندی ساده در سرور یا سرویس Cron در هاست استفاده شد.
۳. ذخیره نسخه تاریخی
هر بار بهروزرسانی، یک نسخه از قیمتها ذخیره میشد تا بعداً بتوان نمودار تغییرات روزانه یا هفتگی را نیز اضافه کرد.
بخش چهارم: چالشها و راهکارها
▪ نبود API رسمی
اکثر سایتهای ایرانی که نرخ ارز و طلا را نمایش میدهند، API رسمی ندارند. بنابراین ناچار بودیم دادهها را از HTML استخراج کنیم. با انتخاب دقیق کلاسها و عناصر HTML، این مشکل برطرف شد.
▪ تفاوت در قالب اعداد
برخی سایتها از ویرگول، برخی از نقطه و برخی از واحدهای خاص برای نمایش قیمت استفاده میکنند. این اختلافها باعث شد نیاز به پردازش ثانویه برای پاکسازی دادهها باشد تا قالب اعداد یکنواخت شود.
▪ جلوگیری از بلاک شدن
برای جلوگیری از بلاک شدن IP سرور هنگام ارسال مکرر درخواست به سایتهای مختلف، فاصلههای زمانی بین درخواستها رعایت شد و از IPهای مختلف استفاده شد.
جمعبندی
ساخت یک داشبورد قیمت لحظهای با استفاده از وب اسکریپینگ، تجربهای ارزشمند برای درک ترکیب داده، طراحی کاربرمحور و زمانبندی اجرای پروژهها بود. چنین داشبوردهایی میتوانند نقش مهمی در شفافسازی بازار، اطلاعرسانی سریع، و حتی کمک به تصمیمگیری سرمایهگذاران داشته باشند.
اگر شما هم ایدهای برای ساخت داشبورد لحظهای با دادههای وب دارید یا تجربهای مشابه در استخراج دادههای بازار دارید، تجربهتان را با ما و خوانندگان در بخش نظرات به اشتراک بگذارید. 👇