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

كيفية جمع أسعار التاكسي والتوصيل حسب مناطق المدينة عبر البروكسي: دليل للمحللين

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

📅٢٠ جمادى الأولى ١٤٤٨ هـ

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

لماذا تحتاج الأعمال لمراقبة الأسعار حسب المناطق

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

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

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

لماذا تقوم الخدمات بحظر جمع البيانات حسب الموقع الجغرافي

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

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

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

ما هي البيانات التي يجب جمعها ومن أي منصات

قبل إعداد جمع البيانات، من المهم تحديد المؤشرات التي تحتاجها للتحليل. بالنسبة لسيارات الأجرة، عادةً ما تكون: التكلفة الأساسية للرحلة حسب المسار القياسي، معامل الطلب المرتفع، وقت وصول السيارة، وتوافر فئات الاقتصاد/الراحة/الأعمال في منطقة معينة. بالنسبة للتوصيل - تكلفة توصيل الطلب بمبلغ معين، الحد الأدنى للمبلغ للتوصيل المجاني، وقت انتظار الموصل، ووجود منطقة تغطية بشكل عام.

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

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

طرق الجمع: يدوي، أتمتة، API

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

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

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

دور البروكسي في جمع البيانات المستهدفة جغرافياً

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

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

لمراقبة التطبيقات المحمولة (وليس النسخ الويب) تصبح البروكسي المحمولة خيارًا جيدًا - حيث تستخدم IP لمشغلي الهواتف المحمولة، والتي تعتبر تقليديًا أكثر موثوقية من قبل أنظمة مكافحة الروبوتات، حيث غالبًا ما تختبئ وراءها آلاف المشتركين الحقيقيين (NAT)، ويؤدي حظر مثل هذا العنوان إلى التأثير على العديد من المستخدمين العاديين، مما تتجنبه الخدمات.

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

أي نوع من البروكسي يجب اختياره: مقارنة

لتحديد الاختيار، من المفيد مقارنة أنواع البروكسي حسب المعايير الرئيسية المهمة لمراقبة الأسعار حسب المناطق.

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

في الممارسة العملية، تقوم العديد من فرق التحليل بدمج الأساليب: تستخدم البروكسي السكنية لجمع الأسعار الأولية من الموقع والبروكسي المحمولة للتحقق من البيانات من التطبيق، حيث قد تختلف الأسعار هناك أحيانًا عن النسخة الويب.

إعداد جمع البيانات خطوة بخطوة

إذا لم يكن لدى الشركة مطور داخلي، يمكن إعداد مراقبة منتظمة من خلال ربط متصفح مضاد للكشف مع بروكسي، دون الحاجة لكتابة كود. الطريقة هي كما يلي: افتح متصفح مضاد للكشف (Dolphin Anty، AdsPower، Multilogin أو Octo Browser)، وأنشئ ملف تعريف منفصل لكل مدينة أو منطقة تحتاج إلى مراقبتها.

في إعدادات الملف الشخصي، حدد البروكسي المرتبط بالمنطقة المطلوبة: أدخل عنوان IP، المنفذ، اسم المستخدم وكلمة المرور، واختر نوع SOCKS5 أو HTTP حسب ما يدعمه مزود البروكسي المختار. بعد ذلك، سيبدو الملف الشخصي للموقع كما لو أن المستخدم موجود فعليًا في المدينة المختارة - سيفتح المتصفح موقع سيارات الأجرة أو التوصيل بأسعار "محلية".

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

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

مثال على سكربت لجمع البيانات تلقائيًا

بالنسبة لأولئك الذين لديهم مطور أو محلل في الفريق مستعد للعمل مع الكود، يمكن بناء جمع تلقائي للأسعار باستخدام Python مع مكتبة requests وتدوير البروكسي حسب المناطق. أدناه مثال مبسط على منطق استبيان API لخدمة التوصيل مع إدخال إحداثيات المنطقة وتوجيه الطلب عبر البروكسي المناسب.

import requests
import time

# قائمة نقاط التحكم حسب مناطق المدينة
districts = [
    {"name": "المركز", "lat": 55.7558, "lon": 37.6173},
    {"name": "منطقة سكنية أ", "lat": 55.8300, "lon": 37.4500},
    {"name": "منطقة سكنية ب", "lat": 55.6200, "lon": 37.7100},
]

# بروكسي مرتبطة بالمنطقة المطلوبة
proxies = {
    "http": "http://login:password@proxy-host:port",
    "https": "http://login:password@proxy-host:port",
}

def get_delivery_price(lat, lon):
    url = "https://example-delivery-service.com/api/price"
    params = {"lat": lat, "lon": lon}
    headers = {"User-Agent": "Mozilla/5.0"}
    response = requests.get(url, params=params, headers=headers, proxies=proxies, timeout=10)
    return response.json().get("price")

results = []
for district in districts:
    price = get_delivery_price(district["lat"], district["lon"])
    results.append({"district": district["name"], "price": price, "timestamp": time.time()})
    time.sleep(5)  # فترة توقف بين الطلبات لتجنب تجاوز الحدود

print(results)

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

تكرار التحديث وتخزين البيانات

تتغير أسعار سيارات الأجرة والتوصيل على مدار اليوم، لذا فإن لقطة واحدة من البيانات لن تخبر المحلل بالكثير. تعتمد التكرار المثالي للاستبيان على المهمة: لتحليل ساعات الذروة، يكفي استبيان الأسعار كل 15-30 دقيقة خلال ساعات الذروة ومرة واحدة إلى مرتين في الساعة في الأوقات الأخرى. لبناء خريطة "الأسعار الأساسية" حسب المناطق، يكفي قياس واحد أو اثنين في اليوم في نفس الوقت لاستبعاد تأثير الطلب.

من الأسهل تخزين البيانات المجمعة في شكل منظم - جدول يحتوي على حقول "التاريخ والوقت"، "المنطقة"، "الخدمة"، "السعر"، "معامل الطلب". هذا التنسيق سهل التحميل في جداول Google Sheets لأحجام صغيرة أو في قاعدة بيانات لبناء لوحات معلومات كاملة في أدوات BI. من المهم الاحتفاظ بالبيانات التاريخية، وليس إعادة كتابتها - حيث إن الديناميكيات مع مرور الوقت تعطي أكبر قيمة تحليلية، وليس القياسات الفردية.

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

الأخطاء الشائعة عند مراقبة الأسعار

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

الخطأ الثاني هو الطلبات المتكررة جدًا بدون فترات توقف، مما يؤدي بسرعة إلى حظر مؤقت للحساب أو عنوان IP. تراقب أنظمة مكافحة الاحتيال لخدمات سيارات الأجرة ليس فقط عدد الطلبات، ولكن أيضًا نمط السلوك: المستخدم الحقيقي لا يتحقق من سعر الرحلة 50 مرة متتالية في دقيقة واحدة من نفس النقطة.

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

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

الخاتمة

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

إذا كنت تخطط لبناء جمع منتظم للبيانات حول أسعار سيارات الأجرة أو التوصيل في مناطق مختلفة، نوصي بالبدء باستخدام البروكسي السكنية المرتبطة جغرافيًا بالمدينة المطلوبة - حيث توفر بيانات أكثر واقعية وأقل خطرًا للحظر. بالنسبة للمهام المتعلقة بالتطبيقات المحمولة لسيارات الأجرة والتوصيل، يجب أيضًا النظر في IP المحمولة، التي تُعتبر بشكل أفضل من قبل أنظمة مكافحة الاحتيال كحركة عادية للمستخدمين.