Как да имате своя собствена система за футболни резултати и статистика със свободен софтуер

Всички любители на футбола обичат да бъдат информирани, ние искаме да знаем статистиката и резултатите на любимите ни отбори, в момента много информация се движи на ниво футболни отбори, тъй като се играят Копа Америка Сентенарио и Еврокопа, така че Измислих собствен сценарий за футболни резултати и статистика. euro2016

Нашият приятел шегаджия Той има доста усъвършенстван преглед за футболен Apis с отворен код, така че получаването на информацията беше малко просто, като цяло знаем за шест разработки / данни, хоствани на github и два безплатни API, които ни позволяват достъп данни за най-красивия спорт в света и са:

  • Данни с отворен код на github
    • openfootball - football.db
    • jokecamp / FootballData
    • soccerstats.us
    • engsoccerdata
    • страхотен футбол
    • футбол-CLI
  • Безплатен API
    • football-data.org (API RESTful)
    • Спортни отворени данни (италианска серия А)

Ще прегледам всеки от тях, защото шегаджия Вече направи страхотен преглед, който ми помогна да започна по-лесно този път и по този начин да изпълня целта, която си поставих в началото. Въпреки че той очакваше, че за този конкретен случай изберете football-data.org страхотен API, който създаде Даниел Фрайтаг, също така, че ще използвам 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

По същия начин, отворен футбол Състои се от следните хранилища:

  1. https://github.com/footballcsv
  2. https://github.com/openfootball
  3. https://github.com/rsssf
  4. https://github.com/footballdata
  • jokecamp / FootballData: Това е база данни, създадена от шегаджия и това позволява достъп до вашата информация или чрез изтегляне на вашите данни чрез CSV или с JSON заявки. Тази база данни е ориентирана към Висшата лига, но има и много информация за EuroCup.
  • soccerstats.usТова е база данни, която включва множество хранилища на Github, в които се разкриват данни от множество световни лиги, в допълнение към всички световни първенства по футбол. Анализаторът на базата данни е написан на Python и очевидно извлича информация от Фондация Rec.Sport.Soccer Statistics (RSSSF).
  • engsoccerdata: Това е база данни, която включва много информация за английските лиги и първенства, по същия начин има данни от европейските лиги като (Испания, Германия, Италия и Холандия). Това е csv файл, който съдържа цялата информация и се актуализира постоянно.
  • страхотен футбол: Това е голяма колекция от футболни данни (национални и международни отбори, клубове, графици на мачове, играчи, стадиони и др.). Съставен е от списък с хранилища
  • футбол-CLI: Това без съмнение трябва да е любимо за любителите на конзолите. Всички футболни резултати от вашия терминал, благодарение на чудесата на python.
  • Спортни отворени данни: Това е API, създаден през 2015 г. от Paolo Riva и Riccardo Quatra, за да компенсира липсата на специализирани данни на Италианската лига и да го направи напълно безплатен. Този отличен API ни предоставя JSON REST API, който ни дава възможност да се консултираме, анализираме и управляваме данните, съхранявани в базата данни Sports Open Data. Мотото на тази организация е „Безплатни данни, създадени от потребители за потребители“.
  • football-data.org: Това е великолепен RESTful API, който съдържа много данни, които постоянно се актуализират. Можете да си купите Безплатен API КЛЮЧ просто като се регистрирате, което също ще ви осигури поддръжка на CORS. Без съмнение това е изключително пълен и зрял 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 като уеб сървър трябва да имате под ръка текстов редактор, знаете, че ми харесва възвишен текст Въпреки че не е безплатно, той работи на Linux, но вие можете да използвате каквото искате нано, notepadqq, atom, писари и др.

Ще си помогна от книжарница, която току-що срещнах phplib-футбол-данни и че има основа за комуникация с футболни данни, ще бъда честен, преди да започна да пиша тази статия, мислех, че ще бъде по-сложно, но тази библиотека улесни живота ми много, затова ще обясним само пример, който ни предлагат и ние ще добавим малко допълнително за образователни цели.

Първата стъпка, която ще направим, е да клонираме хранилището Git от тази книжарница.

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

Ние се намираме в папката на библиотеката и редактираме файла config.ini с API KEY, който получаваме, когато се регистрираме във футболни данни и който достига до нашата поща.

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

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

Този конфигурационен файл по-късно ще ни позволи да комуникираме API с нашето приложение.

Тази примерна библиотека се състои от 5 важни файла.

  • config.ini: Кой запазва информацията за API и коя в тази стъпка вече сме редактирали.
  • FootballData.php: Този клас услуги капсулира REST API на football-data.org. Тоест, той изгражда комуникация между приложението и API, съдържа също няколко метода, които ще ни позволят да се консултираме с различни данни от API, като например целия сезон на конкретна лига.
  • Socceroason.php: Този клас изпълнява повикванията, свързани с информацията за мачове и лиги.
  • Team.php: Този клас изпълнява повикванията, свързани с информацията на екипите.
  • index.php: Кой е основният клас и този, който извиква всеки от методите, внедрени в обяснените по-горе класове. По принцип това е класът, който трябва да докоснем, ако искаме да променим данните, които да се показват, за нашия пример ще вземем първоначалната структура и просто ще я адаптираме към EuroCup.

Еврокъп

С тази малка модификация, която направих, вече можем да имаме резултатите от Евро 2016, но без съмнение можем да станем по-креативни и да добавим функционалности, цикли, заявки към други api, наред с други неща, които със сигурност ще ви покажа по-късно. В момента се надявам да ни покажат своите творения.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Педро Санц каза той

    Здравейте, четох вашия блог и ми се струва, че страницата, която споменавате football-data.org, изглежда добре за проект за уеб услуга, който ние проектираме. Голям въпрос, който ми възниква и който не съм успял да поясня от прочетеното, е: колко актуални са данните на football-data.org, давам ви пример за това, което имам предвид:

    Уикенд, Барселона - мач от Реал Мадрид, да речем, че играта приключва в 22:00 в събота вечер с 2-2. И така, бихте ли знаели как да изясните кога този резултат ще бъде достъпен, за да отправите заявка към API и да можете да използвате тази информация в уеб услугата?

    Типът услуга, която проектираме, не е, че изисква информация в реално време, но ако резултатите от въпросния ден са налични дни или седмици след създаването, тогава това не би било интересно за нас.

    За поздрав.
    / Петър.

  2.   Уеб разработчикът каза той

    Това е изключително интересно, Луиджис, не разбирам как Google няма съдържанието ви на по-високо ниво, тъй като ми беше трудно да намеря качествени препратки към спортни API. Както казва колегата по-долу, Football-Data изглежда много добре. Благодаря много.