تفاصيل العمل

تم تصميم هذا البرنامج النصي بلغة 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 المتوافق

تعديل متغيرات الفئة والحالة

تشغيل البرنامج النصي

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات