Ako mať svoj vlastný futbalový výsledkový a štatistický systém so slobodným softvérom

Všetci milovníci futbalu chcú byť informovaní, chceme poznať štatistiky a výsledky našich obľúbených tímov. V súčasnosti existuje veľa informácií na úrovni futbalových tímov, pretože sa hrá Copa America Centenario a Eurocup, takže Prišiel som s vlastným skriptom futbalových výsledkov a štatistík. euro2016

Náš priateľ jokecamp Má pomerne pokročilú recenziu na futbalový Apis s otvoreným zdrojom, takže získanie informácií z bolo pre mňa trochu jednoduché, všeobecne vieme o šiestich vývojových / údajoch hostovaných na github a dvoch bezplatných API, ktoré nám umožňujú prístup údaje o najkrajšom športe na svete a sú:

  • Údaje otvoreného zdroja na stránkach github
    • openfootball - futbal.db
    • jokecamp / FootballData
    • soccerstats.us
    • engsoccerdata
    • super-futbal
    • futbal-cli
  • API zadarmo
    • football-data.org (RESTful API)
    • Športové otvorené údaje (talianska séria A)

Každú z nich preskúmam, pretože jokecamp Už urobil skvelú kontrolu, ktorá mi pomohla ľahšie sa vydať touto cestou a týmto spôsobom splniť cieľ, ktorý som si stanovil na začiatku. Aj keď predpokladal, že pre tento konkrétny prípad vyberte football-data.org skvelé API, ktoré sa vytvorilo Daniel Freitag, tiež, že použijem php, známe prostredie LAMP a nejaké bezplatné triedy.

Bez ďalších zbytočných rečí, poďme sa baviť o každom z údajov a voľnom Apise, že musíme extrahovať informácie týkajúce sa futbalu:

  • openfootball - futbal.db: Jedná sa o bezplatnú a otvorenú databázu zdrojov, ktorá je k dispozícii všetkým futbalovým fanúšikom, je zložená z historických údajov, rozpisov hier, tímov a hráčov, predstavuje spojenie mnohých údajov a mnohých spolupracovníkov. Jeho tvorca Gerald Bauer pre tvorcu má vynikajúce rande s pevným zámerom stať sa najväčšími otvorenými údajmi v histórii futbalu.

Príklad údajov, ktoré je možné získať z tohto úložiska, máme:

[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

Podobne otvorený futbal Skladá sa z týchto úložísk:

  1. https://github.com/footballcsv
  2. https://github.com/openfootball
  3. https://github.com/rsssf
  4. https://github.com/footballdata
  • jokecamp / FootballData: Je to databáza vytvorená používateľom jokecamp a to umožňuje prístup k vašim informáciám buď stiahnutím údajov prostredníctvom súboru CSV, alebo pomocou požiadaviek JSON. Táto databáza je zameraná na Premier League, ale obsahuje aj veľa informácií o EuroCup.
  • soccerstats.usJedná sa o databázu, ktorá obsahuje viac úložísk Github, v ktorých sa okrem všetkých svetových futbalových šampionátov zverejňujú údaje z viacerých líg sveta. Analyzátor databázy je napísaný v Pythone a zjavne extrahuje informácie z Nadácia štatistík Rec.Sport.Soccer (RSSSF).
  • engsoccerdata: Je to databáza, ktorá obsahuje veľa informácií o anglických ligách a majstrovstvách, rovnako ako údaje z európskych líg, ako napríklad (Španielsko, Nemecko, Taliansko a Holandsko). Je to súbor CSV, ktorý obsahuje všetky informácie a je neustále aktualizovaný.
  • super-futbal: Je to veľká zbierka futbalových údajov (národné a medzinárodné tímy, kluby, rozpisy zápasov, hráči, štadióny a iné). Skladá sa zo zoznamu archívov
  • futbal-cli: Toto musí byť bezpochyby obľúbené pre milovníkov konzol. Všetky futbalové výsledky z vášho terminálu vďaka zázrakom krajta.
  • Športové otvorené údaje: Je to api, ktoré v roku 2015 vytvorili Paolo Riva a Riccardo Quatra s cieľom vyrovnať nedostatok špecializovaných údajov talianskej ligy a urobiť ich úplne zadarmo. Toto vynikajúce rozhranie API nám poskytuje rozhranie JSON REST API, ktoré nám dáva možnosť konzultovať, analyzovať a spravovať údaje uložené v databáze Sports Open Data. Sloganom tejto organizácie je „Bezplatné údaje vytvárané používateľmi pre používateľov.“
  • football-data.org: Je to nádherné RESTful API, ktoré obsahuje veľa údajov, ktoré sa neustále aktualizujú. Môžete si kúpiť a KĽÚČ API zadarmo jednoduchou registráciou, ktorá vám tiež poskytne podporu CORS. Je nepochybné, že ide o mimoriadne kompletné a vyspelé rozhranie APi s vynikajúcim dielom od jeho tvorcu, mnoho služieb a aplikácií ho už obsahuje ako referenciu pre svoje služby.

Možnosť mať aktualizované, organizované údaje s rýchlym a ľahkým prístupom z neho robí jedno z najlepších bezplatných rozhraní API týkajúcich sa futbalu. Futbalové údaje majú navyše vynikajúcu dokumentáciu, vďaka ktorej môže byť vaša učebná linka veľmi rýchla.

Medzi funkciami, ktoré nám ponúka, máme:

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

Niektoré príklady hovorov ponúkaných týmto API sú:

Príklad výstupu JSON pre informácie futbalového tímu:

{
   "_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"
}

Po vykonaní tejto kontroly pre každé z rozhraní API a údajov, ktoré poznám vo svete slobodného softvéru, sa pustíme do práce, aby sme mali k dispozícii náš jednoduchý a ukážkový skript PHP, ktorý nám umožní vidieť niektoré údaje z našich obľúbených tímov a udalostí.

Prvým krokom je nainštalujte LAMP ale môžete tiež použiť nginx ako webový server musíte mať po ruke textový editor, viete, že sa mi páči vznešený text Aj keď to nie je zadarmo, funguje to na Linuxe, ale môžete okrem iného používať čokoľvek, čo chcete, nano, notepadqq, atom, scribes.

Idem si pomôcť z kníhkupectva, ktoré som práve stretol phplib-futbal-data a že má základ pre komunikáciu s futbalovými údajmi, budem úprimný, skôr ako som začal písať tento článok, myslel som si, že to bude komplikovanejšie, ale táto knižnica mi veľmi uľahčila život, takže vysvetlíme iba príklad, ktorý nám ponúkajú, a my pridáme nejaké ďalšie na vzdelávacie účely.

Prvý krok, ktorý urobíme, je klonovanie úložiska ísť tohto kníhkupectva.

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

Nájdeme sa v priečinku knižnice a upravíme súbor config.ini pomocou KEY API, ktoré získame pri registrácii vo futbalových dátach a ktorý sa dostane k našej pošte.

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

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

Tento konfiguračný súbor nám neskôr umožní komunikovať API s našou aplikáciou.

Táto vzorová knižnica pozostáva z 5 dôležitých súborov.

  • config.ini: Ktoré ukladajú informácie o API a ktoré sme v tomto kroku už upravili.
  • FootballData.php: Táto trieda služby zapuzdruje rozhranie REST API football-data.org. To znamená, že buduje komunikáciu medzi aplikáciou a API, obsahuje tiež niekoľko metód, ktoré nám umožnia konzultovať rôzne údaje z API, napríklad celú sezónu konkrétnej ligy.
  • Socceroason.php: Táto trieda implementuje hovory súvisiace s informáciami o zápasoch a ligách.
  • Team.php: Táto trieda implementuje hovory súvisiace s informáciami tímov.
  • index.php: Aká je hlavná trieda a tá, ktorá volá každú z metód, ktoré sú implementované vo vyššie vysvetlených triedach. V zásade je to trieda, ktorej sa musíme dotknúť, ak chceme zmeniť údaje, ktoré sa majú zobraziť, pre náš príklad vezmeme počiatočnú štruktúru a jednoducho ju prispôsobíme EuroCupu.

Eurocup

S touto malou úpravou, ktorú som urobil, už môžeme mať výsledky Euro 2016, ale bezpochyby môžeme byť kreatívnejší a okrem iného pridávať funkcie, cykly, dotazy do iných rozhraní API, ktoré vám určite neskôr ukážem. Momentálne dúfam, že nám ukážu svoje výtvory.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Peter Sanz dijo

    Ahoj, čítal som tvoj blog a zdá sa mi, že stránka, ktorú spomínaš football-data.org, vyzerá dobre pre projekt webových služieb, ktorý navrhujeme. Vyvstáva nado mnou veľká otázka, ktorú som nedokázal objasniť z toho, čo som čítal, je: nakoľko aktualizované sú údaje na football-data.org, uvádzam príklad toho, čo mám na mysli:

    Víkend, Barcelona - zápas Realu Madrid, povedzme, že sa končí v sobotu večer o 22:00 2: 2. Vedeli by ste, ako objasniť, kedy bude tento výsledok k dispozícii, aby ste mohli požiadať o API a mohli tieto informácie použiť vo webovej službe?

    Typ služby, ktorú navrhujeme, nie je taký, že vyžaduje informácie v reálnom čase, ale ak sú výsledky daného dňa k dispozícii dni alebo týždne po vyrobení, nebolo by to pre nás zaujímavé.

    Pozdrav.
    /Peter.

  2.   Webový vývojár dijo

    Toto je mimoriadne zaujímavé Luigys, nechápem, ako Google nemá váš obsah vyššie, keďže som len ťažko hľadal kvalitné referencie na športové API. Ako hovorí kolega nižšie, Football-Data vyzerá veľmi dobre. Mnohokrat dakujem.