Como ter o seu propio sistema de resultados de fútbol e estatísticas con software libre

A todos os amantes do fútbol gústanos estar informado, queremos coñecer as estatísticas e os resultados dos nosos equipos favoritos, neste momento está a moverse moita información a nivel dos equipos de fútbol dende que se xoga a Copa América Centenario e a Eurocopa Descubrín o meu propio guión de puntuacións e estatísticas de fútbol. euro 2016

O noso amigo jokecamp Ten unha revisión bastante avanzada sobre o Apis de fútbol de código aberto, polo que obter a información foi un pouco sinxelo, en xeral sabemos de seis datos / desenvolvemento aloxados en github e dúas API gratuítas que nos permiten acceder datos do deporte máis fermoso do mundo e son:

  • Datos de código aberto en github
    • openfootball - football.db
    • jokecamp / FootballData
    • socerstats.us
    • engsoccerdata
    • fútbol incrible
    • fútbol-cli
  • API gratuíta
    • football-data.org (API RESTful)
    • Datos abertos de deportes (Serie A italiana)

Revisarei cada un deles, porque jokecamp Xa fixo un bo repaso, o que me axudou a comezar este camiño máis facilmente e cumprir deste xeito o obxectivo que me propuxen ao principio. Aínda que anticipou que para este caso concreto seleccione football-data.org unha gran API que creou Daniel Freitag, tamén que usarei php, o coñecido entorno LAMP e algunhas clases gratuítas.

Sen máis, falemos de cada un dos datos e Apis gratuítos que temos para extraer información relativa ao fútbol:

  • openfootball - football.db: É unha base de datos de código aberto e gratuíta, que está dispoñible para todos os afeccionados ao fútbol, ​​está composta por datos históricos, calendarios de xogos, equipos e xogadores, é a unión de moitos datos e moitos colaboradores. O seu creador, Gerald Bauer, é un gran creador coa firme intención de converterse no maior dato aberto da historia do fútbol.

Un exemplo dos datos que se poden obter deste repositorio temos:

[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

Do mesmo xeito, fútbol aberto Está composto polos seguintes repositorios:

  1. https://github.com/footballcsv
  2. https://github.com/openfootball
  3. https://github.com/rsssf
  4. https://github.com/footballdata
  • jokecamp / FootballData: É unha base de datos feita por jokecamp e iso permite o acceso á súa información descargando os seus datos a través de CSV ou con solicitudes JSON. Esta base de datos está orientada á Premier League, pero tamén ten moita información sobre a Eurocopa.
  • soccerstats.usÉ unha base de datos que inclúe varios repositorios de Github, na que se divulgan datos de varias ligas mundiais, ademais de todos os campionatos do mundo de fútbol. O analizador de base de datos está escrito en Python e aparentemente extrae información do Rec.Sport.Soccer Statistics Foundation (RSSSF).
  • engsoccerdata: É unha base de datos que inclúe moita información sobre as ligas e campionatos ingleses, do mesmo xeito hai datos de ligas europeas como (España, Alemaña, Italia e Holanda). É un ficheiro csv que ten toda a información e que se actualiza constantemente.
  • fútbol incrible: É unha gran colección de datos de fútbol (equipos nacionais e internacionais, clubs, horarios de partidos, xogadores, estadios, entre outros). Está composto por unha lista de repositorios
  • fútbol-cli: Este sen dúbida debe ser o favorito para os amantes das consolas. Todos os resultados de fútbol da túa terminal, grazas ás marabillas de Python.
  • Datos abertos de deportes: É unha api creada en 2015 por Paolo Riva e Riccardo Quatra, para suplir a falta de datos especializados da Liga italiana e ser totalmente gratuíto. Esta excelente API ofrécenos unha API REST JSON, que nos dá a posibilidade de consultar, analizar e xestionar os datos almacenados na base de datos Sports Open Data. O lema desta organización é "Datos gratuítos creados por usuarios para usuarios".
  • football-data.org: É unha magnífica API RESTful que contén moitos datos que se actualizan constantemente. Podes mercar un CLAVE API gratuíta só rexistrándose o que tamén lle proporcionará apoio a CORS. Sen dúbida, é unha APi extremadamente completa e madura cun gran traballo do seu creador, moitos servizos e aplicacións xa a inclúen como referencia para os seus servizos.

A posibilidade de ter datos organizados e actualizados, de acceso rápido e sinxelo, convérteo nunha das mellores API gratuítas en materia de fútbol. Ademais, os datos de fútbol teñen unha excelente documentación que permite que a túa liña de aprendizaxe sexa moi rápida.

Entre as funcionalidades que nos ofrece temos:

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

Algúns exemplos das chamadas que ofrece esta API son:

Exemplo de saída JSON para a información do equipo de fútbol:

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

Unha vez feita esta revisión para cada unha das API e datos que coñecín no mundo do software libre, poñémonos mans á obra para ter o noso sinxelo e exemplar script PHP que nos permite ver algúns datos dos nosos equipos e eventos favoritos.

O primeiro paso é instala LAMP pero tamén podes usar Nginx como servidor web, debes ter un editor de texto a man, sabes que me gusta texto sublime Aínda que non é gratuíto, funciona en Linux pero vostede é libre de usar o que queira nano, notepadqq, atom, escribas entre outros.

Vou axudarme dunha libraría que acabo de coñecer phplib-football-data e que ten unha base para a comunicación cos datos do fútbol, ​​sinto a verdade, antes de comezar a escribir este artigo pensei que sería máis complicado pero esta biblioteca facilitoume a vida, polo que só explicaremos o exemplo que nos ofrecen e engadiremos algún extra para fins educativos.

O primeiro paso que imos facer é clonar o repositorio ir desta libraría.

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

Localizámonos no cartafol da biblioteca e editamos o ficheiro config.ini coa API KEY que obtemos cando nos rexistramos en football-data e que chega ao noso correo.

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

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

Este ficheiro de configuración permitiranos posteriormente comunicar a API coa nosa aplicación.

Esta biblioteca de mostra está composta por 5 ficheiros importantes.

  • config.ini: que garda a información da API e que neste paso xa editamos.
  • FootballData.php: esta clase de servizo encapsula a API REST football-data.org. Noutras palabras, constrúe comunicación entre a aplicación e a API, tamén contén varios métodos que nos permitirán consultar varios datos da API, como a tempada completa dunha liga específica.
  • Socceroason.php: Esta clase implementa as chamadas relacionadas coa información dos partidos e das ligas.
  • Team.php: Esta clase implementa as chamadas relacionadas coa información dos equipos.
  • index.php: Cal é a clase principal e a que chama a cada un dos métodos que se implementan nas clases explicadas anteriormente. Basicamente é a clase que debemos tocar se queremos cambiar os datos que se amosarán, para o noso exemplo imos tomar a estrutura inicial e simplemente adaptala á EuroCup.

Eurocup

Con esta pequena modificación que fixen, xa podemos ter os resultados de Euro 2016, pero sen dúbida podemos ser máis creativos e engadir funcionalidades, ciclos, consultas a outras API entre outras cousas, que seguramente vos amosarei máis adiante. Polo momento espero que nos mostren as súas creacións.

 

 


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

Un comentario, deixa o teu

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   Pedro Sanz dixo

    Ola, estiven lendo o teu blog e paréceme que a páxina que mencionas football-data.org ten un bo aspecto para un proxecto de servizo web que estamos a deseñar. Unha gran pregunta que me xorde e que non fun quen de aclarar polo que lin é: como están actualizados os datos de football-data.org, douche un exemplo do que quero dicir:

    Fin de semana, Barcelona: partido do Real Madrid, digamos que o partido remata ás 22:00 do sábado pola noite con 2-2. Entón, ¿saberías aclararme cando estaría dispoñible este resultado para facer unha solicitude á API e poder usar esa información no servizo web?

    O tipo de servizo que estamos a deseñar non é que precise información en tempo real, pero se os resultados do día en cuestión están dispoñibles días ou semanas despois de producirse, non sería interesante para nós.

    Un saúdo.
    / Peter.