تم تصميم هذا البرنامج النصي بلغة Python لاستخراج بيانات المواقع لفئة معينة من الأماكن داخل ولاية أمريكية معينة باستخدام خرائط Google. تجمع أداة استخراج المواقع معلومات شاملة عن كل موقع، بما في ذلك الاسم والعنوان والتقييم وعدد المراجعات وساعات العمل.
التبعيات
مكتبات بايثون
التسجيل: لتسجيل أنشطة وأخطاء البرامج النصية
selenium: أتمتة الويب والتفاعل مع المتصفح
bs4 (BeautifulSoup): تحليل HTML
pandas: معالجة البيانات وتصدير CSV
time: إضافة تأخيرات بين الإجراءات
random: تقديم العشوائية في أوقات الانتظار
التبعيات الخارجية
Chrome WebDriver
Selenium WebDriver for Chrome
متغيرات التكوين
وصف المتغير مثال القيمة
catigory نوع الأماكن التي سيتم استخراج البيانات منها "Churchs"
state ولاية أمريكية للبحث عن الموقع "Kentucky"
stat_shortcut اختصار الولاية "Ken"
الوظائف الرئيسية
collect_all_places_data()
سير العمل
تهيئة Chrome WebDriver
الانتقال إلى خرائط Google
البحث عن الأماكن المطابقة للفئة والولاية
التمرير خلال نتائج البحث
استخراج معلومات مفصلة لكل موقع
حفظ البيانات في ملف CSV
استخراج البيانات العملية
الاسم
العنوان
الموقع الرابط
متوسط التقييم
عدد المقيّمين
ساعات العمل
معالجة الأخطاء وتسجيلها
التسجيل الشامل في {State}_{Category}_scraper.log
يتعامل مع الاستثناءات الخاصة بـ:
لم يتم العثور على العنصر
مشكلات مهلة الانتظار
مشكلات التنقل
استراتيجيات الكشط
التنقل
يستخدم WebDriverWait لتحميل العناصر الديناميكية
ينفذ تأخيرات عشوائية لمحاكاة التصفح البشري
ينتقل عبر نتائج البحث تدريجيًا
استخراج البيانات
BeautifulSoup لتحليل HTML قوي
قيم احتياطية للمعلومات المفقودة
منع تكرار الروابط
الإخراج
ملف CSV
اسم الملف: {State}_{Category}_data001.csv
الأعمدة:
الاسم
العنوان
الموقع الرابط
متوسط التقييم
عدد المقيّمين
ساعات العمل
مستويات التسجيل
المعلومات: خطوات التشغيل القياسية
تحذير: المشكلات المحتملة (على سبيل المثال، لم يتم العثور على زر الإغلاق)
خطأ: أخطاء في العناصر أو المعالجة
خطير: فشل غير متوقع في البرنامج النصي
تحسينات محتملة
إضافة دعم الوكيل
تنفيذ آليات أكثر قوة لمكافحة الاكتشاف
دعم حالات/فئات متعددة
إضافة تحليل وسيطات سطر الأوامر
القيود
يتطلب إعداد Chrome WebDriver يدويًا
يعتمد على بنية HTML لخرائط Google
محدود بتقييد معدل Google وإجراءات مكافحة الاستخراج المحتملة
الاستخدام
تثبيت التبعيات المطلوبة:
pip install selenium beautifulsoup4 pandas
تنزيل ChromeDriver المتوافق
تعديل متغيرات الفئة والحالة
تشغيل البرنامج النصي