همه‌ی مقالات اسکرپینگ داده

پایش قیمت رقبا در دیجی‌کالا و ترب با اسکرپینگ

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

آسان تیم6 دقیقه مطالعه

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

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

چه داده‌ای ارزش جمع کردن دارد؟

قیمت فقط یکی از داده‌هاست. برای تصمیم درست، معمولاً این‌ها را هم لازم دارید:

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

قبل از ساخت، فهرست کنید با هر داده چه تصمیمی می‌گیرید. داده‌ای که تصمیمی به آن وابسته نیست، فقط هزینه‌ی نگهداری دارد.

منابع: از کجا جمع کنیم؟

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

سخت‌ترین بخش: تطبیق محصول‌ها

جمع کردن قیمت، کار نسبتاً ساده‌ای است. بخش سخت این است که بفهمید «گوشی سامسونگ A55 ظرفیت ۲۵۶ گیگ رنگ سرمه‌ای» در فروشگاه شما، همان «Samsung Galaxy A55 5G 256GB» در سایت رقیب است، نه نسخه‌ی ۱۲۸ گیگ یا رنگ دیگر.

راه‌هایی که جواب می‌دهد:

  1. شناسه‌های قطعی مثل کد مدل، بارکد یا شماره‌ی قطعه، هر جا در دسترس باشند.
  2. یکسان‌سازی متن. یکسان کردن حروف عربی و فارسی (ي و ی، ك و ک)، اعداد فارسی و انگلیسی، واحدها (گیگ و GB) و حذف کلمه‌های اضافه.
  3. استخراج ویژگی‌ها مثل برند، مدل، ظرفیت و رنگ، و مقایسه‌ی آن‌ها به‌جای مقایسه‌ی کل عنوان.
  4. تأیید انسانی برای موارد مشکوک. سیستم پیشنهاد تطبیق می‌دهد و یک نفر با یک کلیک تأیید یا رد می‌کند. هر تطبیق فقط یک بار تأیید می‌شود.

در پنل پایش قیمت که ساختیم، همین نگاشت ویژگی‌ها و اتصال محصولات بین کاتالوگ‌ها، هسته‌ی سیستم بود. بدون آن، نمودار قیمت‌ها قشنگ است ولی قابل اعتماد نیست.

هر چند وقت یک‌بار قیمت را بخوانیم؟

به سرعت تغییر بازار بستگی دارد:

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

بیش از نیاز خواندن، فقط هزینه‌ی سرور و احتمال مسدود شدن را بالا می‌برد.

با سایت‌ها مؤدب باشید

سیستم پایش قیمت، مهمان سایت‌های دیگر است. رعایت چند اصل، هم از نظر اخلاقی درست است و هم عمر سیستم شما را بیشتر می‌کند:

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

معماری یک سیستم پایش قیمت

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

  1. زمان‌بند. تعیین می‌کند کدام محصول از کدام منبع و کی خوانده شود. ما برای این کار از n8n استفاده می‌کنیم که زمان‌بندی، تلاش مجدد و هشدار را یک‌جا مدیریت می‌کند.
  2. خزنده‌ها. برنامه‌های پایتونی که برای هر منبع جداگانه نوشته می‌شوند و داده‌ی خام را برمی‌گردانند.
  3. یکسان‌سازی و اعتبارسنجی. قیمت‌ها به یک واحد تبدیل می‌شوند، داده‌های ناقص یا غیرمنطقی کنار گذاشته می‌شوند و محصولات تطبیق داده می‌شوند.
  4. پایگاه داده با تاریخچه. هر قیمت با زمانش ذخیره می‌شود، تا بشود روند را دید و تغییرهای غیرعادی را تشخیص داد.
  5. داشبورد و هشدار. نمودار قیمت هر محصول در فروشگاه‌های مختلف، به‌علاوه‌ی هشدار در تلگرام، بله یا ایمیل وقتی قانونی فعال می‌شود.

از داده تا تصمیم

داده‌ی قیمت وقتی ارزش دارد که به کار تبدیل شود. چند قانون هشدار که معمولاً بیشترین استفاده را دارند:

  • «رقیب اصلی قیمت محصول X را بیش از ۵ درصد کم کرد.»
  • «در این محصول، دیگر ارزان‌ترین فروشنده نیستیم.»
  • «محصول Y در فروشگاه رقیب ناموجود شد.»
  • «قیمت یک منبع ناگهان غیرعادی شد»، که معمولاً نشانه‌ی خطای داده است، نه تغییر واقعی بازار.

یک هشدار هم برای خودتان: پایش قیمت ابزاری برای تصمیم آگاهانه است، نه دستوری برای همیشه ارزان‌ترین بودن. کاهش قیمت خودکار در جواب هر تغییر رقیب، معمولاً به یک جنگ قیمت ختم می‌شود که همه در آن ضرر می‌کنند.

ابزار آماده یا سیستم اختصاصی؟

ابزارهای آماده برای شروع و منابع استاندارد مناسب‌اند. سیستم اختصاصی وقتی می‌ارزد که:

  • منابع شما خاص‌اند، یا ابزارهای آماده پوشش‌شان نمی‌دهند.
  • تطبیق محصولات پیچیده است و به قانون‌های مخصوص کاتالوگ شما نیاز دارد.
  • می‌خواهید داده مستقیم به سیستم‌های خودتان برود: قیمت‌گذاری، انبار یا گزارش‌های مدیریتی.
  • نمی‌خواهید داده‌ی قیمت و استراتژی‌تان روی سرور شرکت دیگری باشد.

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

سؤال‌های رایج

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

با ترکیب شناسه‌هایی مثل کد مدل، یکسان‌سازی عنوان‌ها، مقایسه‌ی ویژگی‌هایی مثل برند و ظرفیت و رنگ، و تأیید انسانی برای موارد مشکوک. هر تطبیق یک بار تأیید می‌شود و از آن به بعد خودکار است.

بسته به نیاز، از هر یک ساعت تا روزانه. برای کالاهای دیجیتال پرفروش معمولاً چند بار در روز، و برای بقیه روزانه کافی است.

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

هر چه با کار شما جور باشد: داشبورد با نمودار و هشدار، گزارش روزانه در گوگل‌شیت یا اکسل، هشدار در تلگرام یا بله، یا یک API که سیستم قیمت‌گذاری خودتان مستقیم از آن بخواند.