مشروع برمجي متكامل تم تطويره باستخدام لغة Python، يهدف إلى حل مشكلة جمع البيانات الرياضية يدويًا من خلال أتمتة عملية سحب (Scraping) بيانات المباريات والنتائج من موقع "يلا كورة". المشروع مصمم ليكون أداة تحليلية قوية للمهتمين بالإحصائيات الرياضية أو مطوري التطبيقات.
المميزات التقنية للمشروع:
- واجهة تفاعلية بسيطة: يتيح السكربت للمستخدم تحديد تاريخ معين (MM/DD/YYYY) لجلب بيانات المباريات الخاصة به.
- تحليل هيكلي دقيق (Deep Parsing): التعامل مع الـ HTML DOM للموقع لاستخراج تفاصيل دقيقة (نوع البطولة، الفرق المتنافسة، التوقيت، والنتائج).
- دعم التعدد الرياضي: النظام مبرمج للتعرف على مختلف الرياضات (كرة قدم، كرة سلة، إلخ) وتصنيفها آلياً.
- إدارة وتخزين البيانات: تصدير البيانات المستخرجة إلى ملفات CSV منظمة بترميز utf-8 لضمان سلامة النصوص العربية.
- هيكلة كود نظيفة (Clean Code): تم تقسيم الكود إلى دوال (Functions) منظمة لتسهيل الصيانة والتطوير المستقبلي.
الأدوات والتقنيات المستخدمة:
- Python: اللغة الأساسية للمشروع.
- Requests Library: لإرسال طلبات الـ HTTP والحصول على محتوى الصفحات.
- BeautifulSoup (bs4): لتحليل وسحب البيانات من ملفات الـ HTML.
- CSV Module: لتنظيم البيانات وحفظها في جداول قاعدة بيانات مبسطة.
منهجية التنفيذ (Work Flow):
- الربط مع الموقع: يتم بناء URL ديناميكي بناءً على التاريخ المدخل للوصول لمركز المباريات.
- استخلاص البطولات: البحث عن الـ div الخاص بكل matchCard لفصل كل بطولة عن الأخرى.
- معالجة البيانات: استخراج أسماء الأندية والنتائج من داخل الـ teamsData باستخدام الـ contents والـ find_all بدقة عالية.
- الأرشفة: تحويل قائمة القواميس (List of Dictionaries) إلى ملف CSV مع كتابة الـ Headers آلياً لضمان سهولة القراءة ببرامج مثل Excel.
مخرجات المشروع:
- كود مصدري (Source Code) منظم وموثق بالتعليقات.
- ملفات CSV نموذجية تحتوي على بيانات مباريات حقيقية تم استخراجها كاختبار للنظام.