كيف تحصل على نظام إحصائيات ونتائج كرة القدم مع البرمجيات الحرة

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

صديقنا جوككامب يحتوي على مراجعة متقدمة إلى حد ما حول Apis لكرة القدم مفتوحة المصدر ، لذا فإن الحصول على المعلومات من كان بسيطًا بعض الشيء بالنسبة لي ، بشكل عام نعرف ستة تطوير / بيانات مستضافة على جيثب واثنين من واجهات برمجة التطبيقات المجانية التي تسمح لنا بالوصول بيانات اجمل رياضة في العالم و هي:

  • بيانات مفتوحة المصدر على جيثب
    • openfootball - football.db
    • jokecamp / FootballData
    • socerstats.us
    • engsoccerdata
    • رهيبة كرة القدم
    • كرة القدم
  • API مجاني
    • football-data.org (RESTful API)
    • البيانات الرياضية المفتوحة (الدوري الإيطالي)

سأراجع كل منهم ، لأن جوككامب لقد أجرى بالفعل مراجعة رائعة ، مما ساعدني على البدء في هذا المسار بسهولة وبهذه الطريقة تحقيق الهدف الذي حددته في البداية. على الرغم من أنه توقع ذلك لهذه الحالة المحددة football-data.org واجهة برمجة تطبيقات رائعة تم إنشاؤها دانيال فريتاغ كما أنني سأستخدم php وبيئة LAMP المعروفة وبعض الفئات المجانية.

بدون مزيد من اللغط ، دعنا نتحدث عن كل من البيانات و Apis المجانية التي لدينا لاستخراج المعلومات المتعلقة بكرة القدم:

  • openfootball - football.db: هي قاعدة بيانات مجانية ومفتوحة المصدر ، ومتاحة لجميع عشاق كرة القدم ، وتتكون من بيانات تاريخية ، وجداول مباريات ، وفرق ، ولاعبين ، وهي اتحاد العديد من البيانات والعديد من المتعاونين. منشئها جيرالد باور للمبدع هو مواعدة رائعة مع النية الراسخة في أن تصبح أكبر بيانات مفتوحة في تاريخ كرة القدم.

مثال على البيانات التي يمكن الحصول عليها من هذا المستودع لدينا:

[Sat Aug/16]
  12.45  Manchester United    1-2  Swansea City
  15.00  Leicester City       2-2  Everton FC
  15.00  Queens Park Rangers  0-1  Hull City
  15.00  Stoke City           0-1  Aston Villa

بنفس الطريقة، openfootbal يتكون من المستودعات التالية:

  1. https://github.com/footballcsv
  2. https://github.com/openfootball
  3. https://github.com/rsssf
  4. https://github.com/footballdata
  • jokecamp / FootballData: إنها قاعدة بيانات تم إنشاؤها بواسطة جوككامب وهذا يسمح بالوصول إلى معلوماتك إما عن طريق تنزيل بياناتك من خلال CSV أو بطلبات JSON. قاعدة البيانات هذه موجهة إلى الدوري الإنجليزي الممتاز ، ولكنها تحتوي أيضًا على الكثير من المعلومات حول كأس أوروبا.
  • soccerstats.usإنها قاعدة بيانات تتضمن مستودعات Github المتعددة ، حيث يتم الكشف عن بيانات من بطولات الدوري العالمية المتعددة ، بالإضافة إلى جميع بطولات كرة القدم العالمية. تمت كتابة محلل قاعدة البيانات بلغة Python ويبدو أنه يستخرج المعلومات من ملف Rec.Sport.Soccer الاحصائيات مؤسسة (RSSSF).
  • engsoccerdata: هي قاعدة بيانات تحتوي على الكثير من المعلومات عن الدوريات والبطولات الإنجليزية ، وبنفس الطريقة توجد بيانات من البطولات الأوروبية مثل (إسبانيا وألمانيا وإيطاليا وهولندا). إنه ملف csv يحتوي على جميع المعلومات ويتم تحديثه باستمرار.
  • رهيبة كرة القدم: عبارة عن مجموعة كبيرة من بيانات كرة القدم (الفرق الوطنية والدولية والأندية وجداول المباريات واللاعبين والملاعب وغيرها). يتكون من قائمة المستودعات
  • كرة القدم: هذا بلا شك يجب أن يكون المفضل لمحبي وحدة التحكم. كل نتائج كرة القدم من محطتك ، بفضل عجائب بيثون.
  • البيانات الرياضية المفتوحة: إنها واجهة برمجة تطبيقات تم إنشاؤها في عام 2015 من قبل باولو ريفا وريكاردو كواترا ، لتعويض نقص البيانات المتخصصة في الدوري الإيطالي وجعلها مجانية تمامًا. توفر لنا واجهة برمجة التطبيقات الممتازة واجهة برمجة تطبيقات JSON REST ، والتي تتيح لنا إمكانية استشارة وتحليل وإدارة البيانات المخزنة في قاعدة بيانات Sports Open Data. شعار هذه المنظمة هو "بيانات مجانية يتم إنشاؤها بواسطة المستخدمين للمستخدمين".
  • football-data.org: إنها واجهة برمجة تطبيقات RESTful رائعة تحتوي على الكثير من البيانات التي يتم تحديثها باستمرار. يمكنك شراء مفتاح API مجاني فقط عن طريق التسجيل والذي سيمنحك أيضًا دعم CORS. بلا شك ، إنها APi كاملة وناضجة للغاية مع وظيفة رائعة من مبتكرها ، والعديد من الخدمات والتطبيقات تتضمنها بالفعل كمرجع لخدماتهم.

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

من بين الوظائف التي يوفرها لنا لدينا:

/soccerseasons/
/soccerseasons/{id}/ranking
/soccerseasons/{id}/fixtures
/fixtures
/soccerseasons/{id}/teams
/teams/{id}
/teams/{id}/fixtures/

بعض الأمثلة على الاستدعاءات التي تقدمها واجهة برمجة التطبيقات هذه هي:

مثال على إخراج JSON لمعلومات فريق كرة القدم:

{
   "_links":{
      "self":{
         "href":"http://api.football-data.org/v1/teams/5"
      },
      "fixtures":{
         "href":"http://api.football-data.org/v1/teams/5/fixtures"
      },
      "players":{
         "href":"http://api.football-data.org/v1/teams/5/players"
      }
   },
   "name":"FC Bayern München",
   "code":"FCB",
   "shortName":"Bayern",
   "squadMarketValue":"559,100,000 €",
   "crestUrl":"http://upload.wikimedia.org/wikipedia/commons/c/c5/Logo_FC_Bayern_München.svg"
}

بمجرد الانتهاء من هذه المراجعة لكل من واجهات برمجة التطبيقات و Datas التي عرفتها في عالم البرمجيات الحرة ، نبدأ العمل للحصول على نص PHP بسيط ومثالي يسمح لنا برؤية بعض البيانات من فرقنا وأحداثنا المفضلة.

الخطوة الأولى هي تثبيت LAMP ولكن يمكنك أيضًا استخدام ملفات NGINX كخادم ويب ، يجب أن يكون لديك محرر نصوص في متناول اليد ، أنت تعلم أنني أحبه نص سامية على الرغم من أنه ليس مجانيًا ، إلا أنه يعمل على نظام Linux ولكن يمكنك استخدام كل ما تريده مثل nano و notepadqq و atom و scribes وغيرها.

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

الخطوة الأولى التي سنفعلها هي استنساخ المستودع طائرة نفاثة من هذه المكتبة.

git clone git://github.com/dfrt82/phplib-football-data.git

نضع أنفسنا في مجلد المكتبة ونقوم بتحرير ملف config.ini باستخدام KEY API الذي نحصل عليه عندما نسجل في بيانات كرة القدم والتي تصل إلى بريدنا.

cd phplib-football-data/
sudo subl3 config.ini

baseUri = 'http://api.football-data.org/v1/';
authToken = 'YOUR_AUTH_TOKEN';

سيسمح لنا ملف التكوين هذا لاحقًا بتوصيل واجهة برمجة التطبيقات مع تطبيقنا.

تتكون مكتبة النماذج هذه من 5 ملفات مهمة.

  • config.ini: الذي يحفظ معلومات API وأيها قمنا بتحريره بالفعل في هذه الخطوة.
  • FootballData.php: فئة الخدمة هذه تغلف واجهة برمجة تطبيقات REST football-data.org. أي أنه يبني اتصالاً بين التطبيق وواجهة برمجة التطبيقات ، كما أنه يحتوي على عدة طرق تسمح لنا باستشارة البيانات المختلفة من واجهة برمجة التطبيقات ، مثل الموسم الكامل لدوري معين.
  • Socceroason.php: ينفذ هذا الفصل المكالمات المتعلقة بمعلومات المباريات والبطولات.
  • Team.php: ينفذ هذا الفصل المكالمات المتعلقة بمعلومات الفرق.
  • index.php: ما هو الصنف الرئيسي والفئة التي تستدعي كل من الطرق التي يتم تنفيذها في الفئات الموضحة أعلاه. في الأساس هو الفصل الذي يجب أن نلمسه إذا أردنا تغيير البيانات التي سيتم عرضها ، على سبيل المثال ، سنأخذ الهيكل الأولي ونكيفه ببساطة مع EuroCup.

اليورو

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

 

 


محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

تعليق ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   بيدرو سانز قال

    مرحبًا ، لقد قرأت مدونتك ، ويبدو لي أن الصفحة التي تذكرها football-data.org تبدو جيدة لمشروع خدمة الويب الذي نقوم بتصميمه. سؤال كبير يطرح عليّ ولم أتمكن من توضيحه مما قرأته هو: ما مدى حداثة البيانات الموجودة على football-data.org ، فأنا أعطيك مثالاً على ما أعنيه:

    عطلة نهاية الأسبوع ، برشلونة - مباراة ريال مدريد ، لنفترض أن المباراة انتهت في الساعة 22:00 مساء يوم السبت بنتيجة 2-2. لذا ، هل تعرف كيفية توضيح متى ستكون هذه النتيجة متاحة لتقديم طلب إلى واجهة برمجة التطبيقات وتكون قادرًا على استخدام هذه المعلومات في خدمة الويب؟

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

    تحية.
    /نفذ.