כיצד לקבל תוצאות כדורגל משלך ומערכת סטטיסטיקה באמצעות תוכנה חופשית

כל חובבי הכדורגל אוהבים לקבל מידע, אנחנו רוצים לדעת את הסטטיסטיקה והתוצאות של הקבוצות האהובות עלינו, כרגע יש מידע רב ברמת קבוצות הכדורגל מאז משחקים את הקופה אמריקה סנטנריו והיורוקאפ, אז אני העלה ציוני כדורגל ותסריט סטטיסטי משלי. אירו 2016

חבר שלנו jokecamp יש לו סקירה מתקדמת למדי על Apis כדורגל בקוד פתוח, כך שקבלת המידע היה מעט פשוט מבחינתי, באופן כללי ידוע לנו על שישה פיתוח / נתונים המתארחים ב- github ושני ממשקי API חינם המאפשרים לנו גישה הנתונים של הספורט היפה ביותר בעולם והם:

  • נתוני קוד פתוח ב- github
    • כדורגל פתוח - כדורגל.dב
    • jokecamp / FootballData
    • socerstats.us
    • engsoccerdata
    • כדורגל מדהים
    • כדורגל-קלי
  • ממשק API חינם
    • football-data.org (API RESTful)
    • נתונים פתוחים בספורט (סדרה A איטלקית)

אסקור כל אחד מהם, כי jokecamp הוא כבר עשה ביקורת נהדרת, שעזרה לי להתחיל בדרך זו ביתר קלות ובדרך זו לעמוד ביעד שהצבתי בהתחלה. למרות שהוא צפה שבמקרה הספציפי הזה בחר כדורגל- data.org ממשק API נהדר שיצר דניאל פרייטג, גם שאשתמש ב- php, בסביבת LAMP הידועה ובכמה שיעורים בחינם.

ללא התייחסות נוספת, בואו נדבר על כל אחד מהנתונים ו- Apis בחינם שיש לנו להפיק מידע בנוגע לכדורגל:

  • כדורגל פתוח - כדורגל.dב: זהו מאגר קוד פתוח ופתוח, אשר זמין לכל אוהדי הכדורגל, והוא מורכב מנתונים היסטוריים, לוחות זמנים של משחקים, קבוצות ושחקנים, זהו האיחוד של נתונים רבים ומשתפי פעולה רבים. היוצר שלה ג'רלד באואר ליוצר הוא יוצא מן הכלל מתוך כוונה מוצקה להפוך לנתונים הפתוחים הגדולים בתולדות הכדורגל.

דוגמה לנתונים שניתן להשיג ממאגר זה יש לנו:

[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

באותו אופן, פתוח רגליים הוא מורכב ממאגרים הבאים:

  1. https://github.com/footballcsv
  2. https://github.com/openfootball
  3. https://github.com/rsssf
  4. https://github.com/footballdata
  • jokecamp / FootballData: זהו בסיס נתונים שיוצר על ידי jokecamp וזה מאפשר גישה למידע שלך על ידי הורדת הנתונים שלך באמצעות CSV או עם בקשות JSON. מסד נתונים זה מכוון לפרמייר ליג, אך יש בו גם מידע רב על היורוקאפ.
  • כדורגלזהו מאגר הכולל מאגרים מרובים של Github, בהם נחשפים נתונים ממספר ליגות עולמיות, בנוסף לכל אליפויות העולם בכדורגל. מנתח מסד הנתונים כתוב בפייתון וככל הנראה מחלץ מידע מה- קרן סטטיסטיקה Rec.Sport.Soccer (RSSSF).
  • engsoccerdata: זהו בסיס נתונים הכולל מידע רב על הליגות האנגליות והאליפות, באותו אופן יש נתונים מליגות אירופיות כמו (ספרד, גרמניה, איטליה והולנד). זהו קובץ csv שיש בו את כל המידע ומתעדכן כל הזמן.
  • כדורגל מדהים: זהו אוסף גדול של נתוני כדורגל (קבוצות לאומיות ובינלאומיות, מועדונים, לוחות זמנים של משחקים, שחקנים, אצטדיונים, בין היתר). הוא מורכב מרשימת מאגרים
  • כדורגל-קלי: זה ללא ספק חייב להיות המועדף על חובבי הקונסולות. כל תוצאות הכדורגל מהטרמינל שלך, בזכות נפלאות הפיתון.
  • נתונים פתוחים בספורט: זהו ממשק API שנוצר בשנת 2015 על ידי פאולו ריבה וריקרדו קוואטרה, כדי לפצות על המחסור בנתונים מיוחדים של הליגה האיטלקית ולהיות חופשי לחלוטין. ה- API המצוין הזה מספק לנו ממשק API של JSON REST, הנותן לנו אפשרות להתייעץ, לנתח ולנהל את הנתונים המאוחסנים במאגר הנתונים Open Sports. המוטו של ארגון זה הוא "נתונים בחינם שנוצרו על ידי משתמשים עבור משתמשים."
  • כדורגל- data.org: זהו ממשק API מפואר של RESTful שמכיל הרבה נתונים שמתעדכנים כל הזמן. אתה יכול לקנות מפתח API חינם רק על ידי הרשמה שתעניק גם לך תמיכה ב- CORS. ללא ספק, מדובר ב- APi שלם ובוגר במיוחד עם יצירה נהדרת מבית היוצר שלו, שירותים ויישומים רבים כבר כוללים אותו כהפניה לשירותיהם.

האפשרות לקבל נתונים מעודכנים ומאורגנים, עם גישה מהירה וקלה, הופכת אותו לאחד ממשקי ה- API החינמיים הטובים ביותר בנוגע לכדורגל, בנוסף, לנתוני כדורגל יש תיעוד מעולה, המאפשר לקו הלמידה שלך להיות מהיר מאוד.

בין הפונקציות שהוא מציע לנו:

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

כמה דוגמאות לשיחות שמציע API זה הן:

דוגמה לפלט 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"
}

ברגע שסקירה זו נעשית עבור כל אחד מממשקי ה- API והנתונים שהכרתי מעולם התוכנה החופשית, אנו יוצאים לעבודה כדי לקבל את סקריפט ה- PHP הפשוט והמופתי שלנו שמאפשר לנו לראות כמה נתונים מהצוותים והאירועים המועדפים עלינו.

הצעד הראשון הוא התקן את LAMP אבל אתה יכול גם להשתמש nginx כשרת אינטרנט, אתה חייב שיהיה לך עורך טקסט, אתה יודע שאני אוהב את זה טקסט נשגב למרות שזה לא בחינם, זה עובד על לינוקס אבל אתה חופשי להשתמש בכל מה שאתה רוצה בין היתר ננו, notepadqq, atom, סופרים.

אני הולך לעזור לעצמי מחנות ספרים שרק פגשתי 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';

מאוחר יותר קובץ תצורה זה יאפשר לנו לתקשר את ה- API עם היישום שלנו.

ספריית דוגמאות זו מורכבת מחמישה קבצים חשובים.

  • config.ini: מה שומר את מידע ה- API ואילו בשלב זה כבר ערכנו.
  • FootballData.php: מחלקת שירות זו מקפלת את ה- REST API של football-data.org. במילים אחרות, הוא בונה תקשורת בין היישום ל- API, הוא מכיל גם מספר שיטות שיאפשרו לנו להתייעץ עם נתונים שונים מה- API, כמו כל העונה של ליגה ספציפית.
  • Socceroason.php: שיעור זה מיישם את השיחות הקשורות למידע המשחקים והליגות.
  • Team.php: מחלקה זו מיישמת את השיחות הקשורות למידע של הצוותים.
  • index.php: מהי המחלקה הראשית וזאת המכנה כל אחת מהשיטות המיושמות בשיעורים שהוסברו לעיל. בעיקרון זה המעמד שעלינו לגעת בו אם אנו רוצים לשנות את הנתונים שיוצגו, לדוגמא שלנו ניקח את המבנה הראשוני ופשוט נתאים אותו ליורוקאפ.

יורוקאפ

עם השינוי הקטן הזה שביצעתי, אנחנו כבר יכולים לקבל את התוצאות של יורו 2016, אך ללא ספק אנו יכולים להיות יצירתיים יותר ולהוסיף פונקציות, מחזורים, שאילתות ל- API אחר בין היתר, מה שלבטח אראה לך בהמשך. כרגע אני מקווה שהם יראו לנו את יצירותיהם.

 

 


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

תגובה, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   פדרו צאנז דיג'ו

    היי, קראתי את הבלוג שלך ונראה לי שהדף שאתה מזכיר football-data.org נראה טוב עבור פרויקט שירות אינטרנט שאנחנו מעצבים. שאלה גדולה שעולה לי ושלא הצלחתי להבהיר ממה שקראתי היא: עד כמה הנתונים ב- football-data.org עדכניים, אני נותן לך דוגמה למה אני מתכוון:

    סוף שבוע, ברצלונה - משחק ריאל מדריד, נניח שהמשחק מסתיים בשעה 22:00 במוצאי שבת עם 2-2. אז האם היית יודע כיצד להבהיר לי מתי תוצאה זו תהיה זמינה בכדי להגיש בקשה לממשק ה- API ולהיות מסוגלים להשתמש במידע זה בשירות האינטרנט?

    סוג השירות שאנו מעצבים אינו שהוא דורש מידע בזמן אמת, אך אם תוצאות היום המדובר זמינות ימים או שבועות לאחר הפקתו, אז זה לא יהיה מעניין עבורנו.

    ברכה.
    / פיטר.