تقشير البيانات vs واجهات برمجة التطبيقات (API vs Data Scraping)(2)


في هذا المقال، استعرض مثال عملي لاستخدام واجهات برمجة التطبيقات في استخراج البيانات من مواقع أو خدمات الويب. في المثال التالي، نركّز على موقع Foursquare أحد أكبر مواقع التعهيد الجماعي (crowdsourcing) حيث يعتمد في جمع البيانات على مستخدمي التطبيق. يوفّر Foursquare واجهة للمطورين للوصول إلى بيانات المواقع المدرجة (listed venues) لديهم. أستعرض كيفية استخلاص البيانات من الواجهة في المثال التالي.

مثال واجهة برمجة التطبيقات (Application Programming Interface API)

لنفرض أننا نستخدم نفس الجدول المستخدم في مثال تقشير البيانات والمحتوي على معلومات أكبر مدن المملكة العربية السعودية. في المثال التالي، نستخدم Foursquare API في استرجاع بيانات المواقع الشهيرة في مدينة جدة والرياض والمقارنة بين أنواع المواقع في المدينتين.
الخطوة الأولى هي فتح حساب مطور على Foursquare ويمكن اتباع الخطوات هنا.
أهمية فتح حساب المطورين هو الحصول على مايسمى بـ client ID و client secret وهي المعلومات التي يتطلب تمريرها مع كل طلب يوجهه المطور للواجهة.


يساعد تمرير هذه المعلومات في متابعة طلبات العميل وبناء الثقة بين الواجهة والعميل.
الخطوة التالية هي ارسال الطلب للواجهة ويكون إنشاء الرابط على الشكل التالي:


url = https://api.foursquare.com/v2/venues/explore?
        &client_id=A&client_secret=B&v=C&ll=D,E&radius=F&limit=G

في الرابط السابق، تمثل كل من الأحرف القيم التالية:
A = معرف العميل client ID المعين من Foursquare
B = سر العميل client secret
C = الإصدار المطلوب استرجاع البيانات منه
D = قيمة خط الطول
E = قيمة خط العرض
F = نصف قطر دائرة البحث بوحدة المتر
G = حد لعدد المواقع المراد استرجاعها (في حال عدم تحديد قيمة، يسترجع الطلب 100ألف موقع كحد أعلى)

يمكننا استخدام معلومات مدينتي جدة والرياض في تعريق القيمتين D و E بحيث نقوم بارسال رابط منفصل لكل مدينة. عن طريق استخدام مكتبة requests نمرر الرابط بعد تعبئة القيم من A إلى G كالتالي:

1
2
import requests
results = requests.get(url).json()

النتيجة المخزنة في المتغير results عبارة عن ملف json يحتوي على معلومات جميع المواقع الشهيرة في المدينة المطلوبة ضمن حدود البحث المحددة في الرابط url. بعد معالجة البيانات المسترجعة لمدينتي جدة والرياض، يمكننا تصوير أنواع المواقع المشهورة في كلا المدينتين كالتالي:
(ملاحظة مهمة: الأنواع المعروضة هي أشهر 10 أنواع مواقع فقط، المواقع المسترجعة من كل رابط لا تتعدى الـ100 موقع، المواقع المشهورة المسترجعة تعتمد على الوقت من اليوم الذي تم طلب القيم فيها)

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


مدينة الرياض
تختلف أنواع المواقع الأكثر شهرة في الرياض عن مواقع جدة ولكن المركز الأول يبقى للمقاهي ونجد محال الحلى في المركز الثالث.


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

Comments

  1. You’ll additionally obtain advance notice of promotions, extra probabilities to enter giveaways, and far more. Enjoy a diverse sports betting expertise that covers just about every sport around. Come watch your favourite groups compete on our large-screen TVs, while you loosen up together with your favourite beverage and get in on some excellent sports betting action. Whether you’re a beginner or a seasoned participant, you’ll discover the table sport action you’re in search of at Hollywood. If you're not going to a specific on line casino, however rather to a place like Las Vegas the place many casinos compete 점보카지노 in your attention, take a moment to analysis which possibility offers the best odds. Analytically minded MBAs mentioned they have been glad to help together with her dissertation – what they dubbed her "school paper".

    ReplyDelete

Post a Comment