العودة إلى المدونة

كيفية تقليل استهلاك حركة المرور عبر البروكسي بنسبة 70% من خلال التخزين المؤقت: دليل للتجريف والأتمتة

اكتشف كيفية إعداد تخزين البيانات بشكل صحيح لتقليل تكاليف البروكسي عند تحليل الأسواق، ومراقبة الأسعار، وأتمتة المهام الروتينية.

📅٢٠ شعبان ١٤٤٧ هـ
```html

إذا كنت تقوم بانتظام بزحف بيانات Wildberries، أو مراقبة أسعار المنافسين على Ozon، أو أتمتة جمع البيانات - فأنت تعرف أن نفقات البروكسي يمكن أن تؤثر بشكل كبير على الميزانية. الطلبات على نفس الصفحات، وإعادة تحميل البيانات الثابتة، وتحديث المعلومات غير المتغيرة - كل ذلك يستهلك حركة المرور والمال. الحل بسيط: يمكن أن يقلل التخزين الصحيح للبيانات الحمل على البروكسي بنسبة 50-70% دون فقدان دقة المعلومات.

في هذا الدليل، سنستعرض طرق التخزين العملية لمهام مختلفة: من زحف الأسواق إلى مراقبة المنافسين. ستتعلم أي البيانات يمكن تخزينها بأمان، وكيفية إعداد وقت التخزين، وما هي الأدوات التي يمكن استخدامها دون الحاجة لمهارات برمجية.

لماذا يعد التخزين أمرًا حيويًا للعمل مع البروكسي

تخيل الوضع: أنت تراقب أسعار 500 منتج على Wildberries كل ساعة. بدون التخزين، يقوم الزاحف الخاص بك بعمل 500 طلب عبر البروكسي كل ساعة - أي 12,000 طلب يوميًا. مع متوسط تكلفة البروكسي السكني، فإن ذلك يؤدي إلى نفقات كبيرة، خاصة إذا كانت معظم البيانات لا تتغير على الإطلاق.

تظهر الإحصائيات أنه عند زحف الأسواق، تعيد 60-70% من الطلبات بيانات متطابقة: أوصاف المنتجات لا تتغير، والمواصفات تبقى كما هي، والصور ثابتة. تتغير الأسعار فقط، والمخزونات، والمراكز في النتائج. إذا تم تخزين البيانات الثابتة وتحديث فقط الديناميكية - فإن توفير حركة المرور يصل إلى 50-70%.

مثال واقعي: كان متجر إلكتروني يراقب أسعار 1200 منتج من المنافسين على Ozon بدون تخزين - استهلاك 28,800 طلب يوميًا. بعد تنفيذ تخزين البيانات الثابتة (الأوصاف، المواصفات) مع تحديث مرة كل 7 أيام وتخزين الأسعار لمدة ساعة واحدة - انخفض الاستهلاك إلى 9,600 طلب. كان توفير حركة المرور على البروكسي 67%.

يحل التخزين ثلاث مشاكل رئيسية:

  • تقليل نفقات حركة المرور على البروكسي - عدد أقل من الطلبات = دفع أقل مقابل الجيجابايتات
  • تقليل خطر الحظر - عدد أقل من الطلبات إلى الموقع المستهدف = احتمال أقل للدخول في الحظر بسبب التكرار
  • تسريع عمل الزاحف - البيانات من التخزين تُعطى على الفور، دون تأخيرات في الطلبات الشبكية

ما هي البيانات التي يمكن تخزينها عند الزحف

ليست كل البيانات مناسبة بنفس القدر للتخزين. من المهم تقسيم المعلومات إلى ثابتة (تتغير نادرًا) وديناميكية (تتحدث كثيرًا). ستؤدي استراتيجية التخزين غير الصحيحة إلى بيانات قديمة أو عدم وجود توفير.

نوع البيانات تكرار التحديث مدة التخزين توفير حركة المرور
أوصاف المنتجات مرة في الشهر 7-14 يومًا حتى 80%
المواصفات والمعايير مرة في الشهر 7-14 يومًا حتى 75%
صور المنتجات مرة كل 2-4 أسابيع 14-30 يومًا حتى 90%
آراء العملاء يوميًا 12-24 ساعة حتى 50%
أسعار المنتجات عدة مرات في اليوم 1-3 ساعات حتى 40%
المخزونات في المستودع كل ساعة 30-60 دقيقة حتى 30%
المراكز في النتائج بشكل مستمر لا تخزين 0%

القاعدة الذهبية: كلما كانت البيانات تتغير بشكل أقل، كلما كان من الممكن تخزينها في التخزين لفترة أطول. أوصاف المنتجات على Wildberries أو Ozon تتحدث نادرًا جدًا - يمكن تخزينها بأمان لمدة أسبوع أو أسبوعين. تتغير الأسعار بشكل أكثر تكرارًا، ولكن حتى هنا، فإن التخزين لمدة 1-3 ساعات سيحقق توفيرًا كبيرًا، إذا لم تكن بحاجة إلى مراقبة في الوقت الفعلي.

استراتيجيات التخزين لمهام مختلفة

التخزين الفعال ليس مجرد "حفظ البيانات ليوم واحد". لكل مهمة تحتاج إلى استراتيجيتها الخاصة، التي تأخذ في الاعتبار التوازن بين دقة البيانات وتوفير حركة المرور. دعونا نستعرض الأساليب المثبتة للسيناريوهات الشائعة.

التخزين متعدد المستويات

الاستراتيجية الأكثر فعالية هي تقسيم البيانات إلى عدة مستويات مع أوقات تخزين مختلفة. هذا يسمح بتقليل الحمل على البروكسي إلى الحد الأدنى، مع الحفاظ على دقة البيانات الحرجة.

مثال على التخزين متعدد المستويات لزحف Wildberries:

  • المستوى 1 (30 يومًا): صور المنتجات، العلامات التجارية، الفئات
  • المستوى 2 (7 أيام): الأوصاف، المواصفات، التركيب
  • المستوى 3 (24 ساعة): التقييمات، عدد الآراء
  • المستوى 4 (ساعتين): الأسعار، الخصومات، العروض
  • بدون تخزين: المخزونات في المستودع، المراكز في النتائج

مع هذه الاستراتيجية، بدلاً من 1000 طلب لكل 1000 منتج كل ساعتين، تقوم بعمل حوالي 300-350 طلب: يتم الحصول على الجزء الأكبر من البيانات من التخزين، وتذهب الطلبات عبر البروكسي فقط للحصول على الأسعار والمخزونات الجديدة.

التخزين مع التحقق من التغييرات

نهج أكثر تقدمًا هو استخدام الطلبات الشرطية. بدلاً من تحميل الصفحة بالكامل، ترسل طلبًا خفيفًا للتحقق مما إذا كانت البيانات قد تغيرت منذ آخر مرة. إذا لم تتغير - استخدم التخزين، وإذا تغيرت - قم بتحميل التحديث.

تدعم العديد من المواقع رؤوس HTTP للطلبات الشرطية: If-Modified-Since أو ETag. إذا لم تتغير الصفحة، سيرجع الخادم رمز 304 (غير معدّل) بدون جسم الاستجابة - مما يوفر لك 95% من حركة المرور على هذا الطلب.

التحديث الذكي للتخزين

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

نصيحة: تتبع تاريخ التغييرات. إذا كان سعر المنتج يتغير كل يوم - قلل وقت التخزين إلى ساعة واحدة. إذا كان السعر مستقرًا لمدة شهر - زِدْه إلى 6-12 ساعة. يمكن أن يوفر التخزين التكيفي 20-30% إضافية من التوفير.

أدوات التخزين بدون برمجة

ليس من الضروري أن تكون مبرمجًا لإعداد التخزين. تحتوي أدوات الزحف والأتمتة الحديثة على وظائف تخزين مدمجة يمكن إعدادها من خلال واجهة رسومية.

Octoparse - زاحف مع منشئ بصري

Octoparse هو أداة شهيرة لزحف المواقع بدون كود. في إعدادات المهمة، هناك قسم "الإعدادات المتقدمة" → "إدارة التخزين"، حيث يمكنك تحديد:

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

مثال على الإعداد لزحف Ozon: نقوم بتخزين كتلة وصف المنتج لمدة 7 أيام، وكتلة السعر - لمدة ساعتين. ستتجاوز Octoparse الطلبات على الأوصاف إذا كانت موجودة بالفعل في التخزين، وستقوم بتحديث الأسعار فقط عبر البروكسي.

ParseHub - التخزين لمواقع معقدة

تتخصص ParseHub في زحف المواقع ذات المحتوى الديناميكي (JavaScript، AJAX). في قسم "إعدادات المشروع"، هناك خيار "تخزين البيانات":

  • التخزين الذكي - يحدد تلقائيًا العناصر الثابتة ويخزنها
  • قواعد التخزين المخصصة - تحدد يدويًا محددات CSS للعناصر للتخزين
  • مدة التخزين - مدة حياة التخزين من 30 دقيقة إلى 90 يومًا

تعمل ParseHub بشكل جيد مع الأسواق التي تحتوي على الكثير من JavaScript: Wildberries، AliExpress، ياندكس. يقوم الأداة بتحديد البيانات التي يتم تحميلها ديناميكيًا وتخزين الطلبات المتكررة.

Screaming Frog - لمتخصصي SEO

إذا كنت تستخدم Screaming Frog لتحليل مواقع المنافسين أو مراقبة المراكز، فإن التخزين المدمج سيوفر الكثير من حركة المرور. في إعدادات "التكوين" → "العنكبوت" → "المتقدم"، قم بتفعيل:

  • تخزين الصفحات - حفظ HTML الصفحات محليًا
  • تخزين الصور وCSS - عدم تحميل الموارد الثابتة مرة أخرى
  • استخدام البيانات المخزنة - عند إعادة الفحص، استخدم البيانات المحفوظة

هذا مفيد بشكل خاص عند مراقبة نفس المواقع بانتظام: يقوم الفحص الأول بتحميل كل شيء عبر البروكسي، بينما تقوم الفحوصات اللاحقة بتحميل الصفحات التي تغيرت فقط.

التخزين عند زحف الأسواق

الأسواق هي المهمة الأكثر شيوعًا للزحف بين أعمال التجارة الإلكترونية. تمتلك Wildberries وOzon وYandex.Market هيكل بيانات مشابه، مما يسمح بتطبيق استراتيجية تخزين عالمية.

زحف Wildberries بأقل استهلاك لحركة المرور

المهمة النموذجية: مراقبة 500 منتج من المنافسين. بدون التخزين - 500 طلب كل ساعتين = 6000 طلب يوميًا. مع التخزين الصحيح - حتى 1500-2000 طلب يوميًا.

خطوات إعداد التخزين لـ Wildberries:

  1. الطلب الأول على المنتج: نقوم بحفظ البطاقة الكاملة (الوصف، المواصفات، الصور) في قاعدة بيانات محلية أو ملف JSON
  2. نستخرج ونحفظ رقم المنتج بشكل منفصل - هذا هو المعرف الفريد
  3. عند الطلب التالي: تحقق مما إذا كان الرقم موجودًا في التخزين وما إذا كانت مدة التخزين قد انتهت
  4. إذا كان التخزين ساريًا: نأخذ الوصف والمواصفات من التخزين، ومن خلال البروكسي نطلب فقط كتلة السعر والمخزونات (هذا هو نقطة API منفصلة في Wildberries)
  5. نجمع البيانات المخزنة مع السعر الجديد - نحصل على المعلومات الكاملة والدقيقة

تقدم Wildberries الأسعار والمخزونات من خلال طلب API خفيف منفصل (حوالي 2-5 كيلوبايت بدلاً من 200-500 كيلوبايت للصفحة الكاملة). إذا قمنا بتخزين الجزء الثقيل وطلبنا فقط الأسعار - فإن توفير حركة المرور يصل إلى 90-95%.

تحسين زحف Ozon

تمتلك Ozon حماية أكثر عدوانية ضد الزحف، لذلك كل طلب زائد يزيد من خطر الحظر. يوفر التخزين هنا ليس فقط المال، ولكن أيضًا يقلل من احتمال الحظر.

خاصية Ozon: تحتوي بطاقات المنتجات غالبًا على كتل متطابقة (وصف العلامة التجارية، المواصفات القياسية للفئة). إذا كنت تقوم بزحف 100 منتج من نفس العلامة التجارية - سيكون وصف العلامة التجارية متطابقًا. قم بتخزين هذه الكتل المتكررة بشكل منفصل:

  • وصف العلامة التجارية → تخزين لمدة 30 يومًا
  • المواصفات القياسية للفئة (على سبيل المثال، "المكونات" للملابس) → تخزين لمدة 14 يومًا
  • وصف فريد لمنتج معين → تخزين لمدة 7 أيام
  • السعر والتوافر → طلب كل 2-4 ساعات

Avito: تخزين الإعلانات

عند زحف Avito (مراقبة المنافسين، تتبع الإعلانات الجديدة) من المهم أن تأخذ في الاعتبار أن الإعلانات غالبًا ما تُحذف من النشر. من غير المجدي تخزين بيانات إعلان محذوف.

الاستراتيجية: قم بتخزين الإعلانات النشطة فقط وتحقق من حالتها بانتظام من خلال طلب خفيف. إذا تم حذف الإعلان - قم بتنظيف التخزين. سيمنع ذلك من ازدحام قاعدة البيانات ويسرع من عمل الزاحف.

تحسين مراقبة أسعار المنافسين

مراقبة الأسعار هي مهمة حيث يوفر التخزين أقصى تأثير. لا تتغير الأسعار كل دقيقة، ولكن يجب التحقق منها بانتظام. يسمح الإعداد الصحيح للتخزين بتتبع التغييرات دون طلبات زائدة.

تكرار التحقق التكيفي

ليست جميع المنتجات تتطلب نفس تكرار المراقبة. يجب التحقق من المنتجات ذات الأسعار الديناميكية (الإلكترونيات، المنتجات المخفضة) بشكل أكثر تكرارًا. المنتجات ذات الأسعار الثابتة (مواد البناء، الأثاث) - بشكل أقل.

مثال على التخزين التكيفي للأسعار:

  • منتج شهد تغييرًا في السعر خلال الأيام السبعة الماضية → تحقق كل ساعتين، تخزين لمدة ساعتين
  • منتج بدون تغييرات لمدة 7-30 يومًا → تحقق كل 6 ساعات، تخزين لمدة 6 ساعات
  • منتج بدون تغييرات لأكثر من 30 يومًا → تحقق مرة في اليوم، تخزين لمدة 24 ساعة

يقلل هذا النهج من عدد الطلبات بنسبة 40-60% مقارنة بتكرار التحقق الثابت. عند مراقبة 1000 منتج، بدلاً من 12,000 طلب يوميًا (كل ساعتين)، تقوم بعمل 5000-7000.

التخزين مع إشعارات التغييرات

بدلاً من تحديث جميع الأسعار باستمرار، قم بإعداد النظام: تحقق من الأسعار وفقًا لجدول زمني، ولكن قم بتحديث التخزين فقط عند حدوث تغيير. إذا لم يتغير السعر - قم بتمديد مدة التخزين الحالية دون طلب جديد من الموقع.

تدعم العديد من الزواحف (Octoparse، ParseHub) وضع "التحديث فقط إذا تغير". تقوم الأداة بإجراء طلب، وتقارن البيانات الجديدة بالتخزين، وإذا لم يكن هناك فرق - لا تعيد كتابة التخزين، بل تقوم ببساطة بتحديث وقت آخر تحقق.

الأخطاء الشائعة عند إعداد التخزين

يمكن أن يؤدي التخزين غير الصحيح إلى بيانات قديمة، وفقدان معلومات مهمة، أو على العكس، عدم وجود توفير. دعونا نستعرض الأخطاء الشائعة وطرق تجنبها.

الخطأ 1: تخزين طويل جدًا للبيانات الديناميكية

يعد تخزين الأسعار لمدة 24 ساعة عند مراقبة المنافسين فكرة سيئة. قد يتغير السعر 3-5 مرات في اليوم، خاصة في المجالات ذات المنافسة العالية. ستحصل على توفير في حركة المرور، ولكن ستفقد دقة البيانات.

الحل: حدد التكرار الفعلي لتغيير البيانات. قم بإجراء اختبار: راقب 50-100 منتج كل ساعة لمدة أسبوع وانظر كم مرة تتغير الأسعار. بناءً على ذلك، اختر الوقت الأمثل للتخزين.

الخطأ 2: التخزين بدون إصدار

إذا كنت تقوم ببساطة بإعادة كتابة التخزين عند كل تحديث، فإنك تفقد تاريخ التغييرات. هذا أمر حاسم لتحليل ديناميكيات الأسعار: من المستحيل رسم مخطط لتغير السعر على مدار شهر إذا تم مسح البيانات القديمة.

الحل: احتفظ بإصدارات التخزين مع الطوابع الزمنية. على سبيل المثال، بدلاً من ملف product_12345.json، أنشئ product_12345_2024-01-15.json. سيسمح لك ذلك بتحليل التاريخ والعودة إلى الإصدار السابق من البيانات عند الحاجة.

الخطأ 3: تجاهل حجم التخزين

يمكن أن يؤدي تخزين آلاف المنتجات مع صفحات HTML الكاملة إلى ملء القرص بسرعة. قد يستغرق التخزين لـ 10,000 منتج 5-10 جيجابايت، إذا تم حفظ الصفحات الكاملة مع الصور والسكريبتات.

الحل: قم بتخزين البيانات الضرورية فقط. بدلاً من حفظ الصفحة HTML بالكامل، استخرج الحقول المحددة (الاسم، السعر، الوصف) واحفظها في تنسيق منظم (JSON، CSV). سيقلل ذلك من حجم التخزين بمقدار 10-20 مرة.

نصيحة: قم بإعداد تنظيف تلقائي للتخزين القديم. عادةً ما تكون البيانات التي تزيد عن 30-90 يومًا غير ضرورية للعمل الحالي - قم أرشفتها بشكل منفصل أو احذفها. سيؤدي ذلك إلى تسريع عمل الزاحف وتحرير مساحة على القرص.

الخطأ 4: عدم معالجة أخطاء التخزين

إذا كان التخزين تالفًا (فشل في الكتابة، خطأ في القرص)، قد يستخدم الزاحف بيانات غير صحيحة أو يتعطل تمامًا. هذا أمر حاسم بشكل خاص عند المراقبة التلقائية: قد تتلقى بيانات قديمة لعدة أيام دون أن تعرف ذلك.

الحل: أضف تحققًا من سلامة التخزين. احتفظ بمجموع التحكم (hash) للبيانات مع التخزين. عند القراءة، تحقق: إذا لم يتطابق hash - فإن التخزين تالف، تحتاج إلى طلب جديد عبر البروكسي.

الخاتمة

يعد التخزين الصحيح أداة بسيطة لتقليل النفقات على البروكسي بنسبة 50-70% دون فقدان جودة البيانات. المبادئ الأساسية: قم بتقسيم البيانات إلى ثابتة وديناميكية، استخدم التخزين متعدد المستويات مع أوقات تخزين مختلفة، واضبط تكرار التحديث وفقًا للديناميات الفعلية للتغييرات.

لمعظم مهام زحف الأسواق ومراقبة الأسعار، لا تحتاج إلى حلول تقنية معقدة - الأدوات الحديثة مثل Octoparse أو ParseHub تحتوي على وظائف تخزين مدمجة يمكن إعدادها في 10-15 دقيقة عبر واجهة رسومية.

ابدأ بالأشياء البسيطة: قم بتخزين أوصاف المنتجات لمدة أسبوع، والأسعار - لمدة 2-3 ساعات. تتبع النتائج على مدار أسبوع وقم بتعديل الإعدادات بناءً على الإحصائيات الفعلية للتغييرات. حتى التخزين الأساسي سيحقق توفيرًا بنسبة 30-40% من حركة المرور، بينما التخزين المحسن قد يصل إلى 70%.

إذا كنت تعمل في زحف الأسواق أو مراقبة أسعار المنافسين، نوصي باستخدام البروكسي السكني مع التخزين - سيضمن ذلك عملًا مستقرًا بدون حظر ونفقات منخفضة على حركة المرور. بالنسبة للمهام التي تتطلب سرعة كبيرة وكميات كبيرة من البيانات، فإن بروكسيات مراكز البيانات هي الخيار الأفضل - فهي أسرع وأرخص مع الإعداد الصحيح للدوران والتخزين.

```