→ العودة للأعمال
دراسة حالة · مشروع عميل (بدون ذكر الهوية)
منصة بيانات منتجات — أكثر من 150 ألف صنف
بناء قاعدة بيانات منتجات كاملة من مصدر عام ضخم: استخراج قابل للاستئناف بمعدل حظر صفر،
ثم تنظيف وتوحيد وإزالة تكرار، وتسليم جاهز للربط بنظام العميل.
ملاحظة: هذه دراسة حالة لمشروع عميل، ولذلك لا تتضمن اسم العميل ولا المصدر
ولا أي بيانات خاصة. المعروض هنا هو نطاق العمل والأسلوب التقني والنتيجة فقط.
المشكلة
العميل كان محتاج كتالوج منتجات كامل لتحليل السوق والأسعار. البيانات كانت متاحة للعموم
لكنها منتشرة على عشرات الآلاف من الصفحات، كل صفحة فيها جزء من المعلومة.
- الجمع اليدوي مستحيل عملياً على هذا الحجم
- المحاولات السابقة كانت تتوقف بعد ساعات وتبدأ من الصفر
- الحلول المعتمدة على بروكسيات مكلفة وغير مستقرة
الحل
نظام استخراج مصمَّم ليشتغل لأيام متواصلة بدون تدخل:
- استئناف بعد الانقطاع: يسجّل تقدّمه أولاً بأول، فالتوقف لأي سبب يكمل من نفس النقطة بدل إعادة كل شيء
- التحكم في وتيرة الطلبات بدل البروكسيات: فواصل زمنية محسوبة بين الطلبات حقّقت معدل حظر صفر — وهذا أرخص وأكثر استقراراً من شراء بروكسيات
- فصل الاستخراج عن المعالجة: الخام يُحفظ كما هو، والتنظيف يعمل عليه لاحقاً، فأي تعديل في قواعد التنظيف لا يستدعي إعادة الاستخراج
المعالجة
الاستخراج هو نصف الشغل فقط؛ البيانات الخام لا تصلح للاستخدام مباشرة:
- التوحيد: صيغ الأسعار والوحدات والتصنيفات تُردّ إلى شكل واحد
- إزالة التكرار: المنتج الواحد قد يظهر بعدة صيغ للاسم — يُكشف ويُدمج بدل أن يُحسب مرتين
- التحقق: السجلات الناقصة أو غير المنطقية تُعلَّم بدل أن تمرّ بصمت
- البنية: جداول مفهرسة للبحث السريع، مع تصدير جاهز للاستخدام
قابل للاستئناف
بعد أي انقطاع
النتيجة
العميل استلم قاعدة بيانات واحدة نظيفة بدل آلاف الصفحات، قابلة للتحديث بإعادة تشغيل
واحدة بدل إعادة بناء من الصفر. ونفس الأسلوب طُبّق بعدها على مجالات أخرى — قواعد
بيانات دوائية وكتالوجات بقالة بالباركود وأدلة منشآت.
المكدس التقني
Python
Rate limiting
Resumable jobs
Pandas
PostgreSQL
CSV / Excel export