Scrapeando lesiones

Posted by in Programación

Mi gente cercana sabe que he sido operado recientemente de la rodilla, ya que me rompí el menisco jugando al fútbol. Y, a raíz de esto, me picó la curiosidad de conocer las estadísticas de lesiones en jugadores de fútbol profesionales. Así que, se me ocurrió hacer un pequeño script que «scrapeara» los datos de jugadores de la liga BBVA lesionados por jornada, y mostrar un gráfico agrupado por lesiones.

El resultado se puede comprobar en esta web.

Scrapeando lesiones

En cuanto a la parte técnica, el código de la aplicación se puede consultar en mi repositorio de Github:

  • Web-scrapping : Script : He utilizado Selenium con Python, por su sencillez de uso. El IDE que utilizo para debuggear es PyCharm. Los datos se leen desde esta web de goal.com. El script genera un fichero .csv con los datos de los nombres de jugadores y su lesión. Posteriormente, éste será el fichero que se leerá de la web para generar la gráfica de presentación.
  • Chart.js : Para la generación de la gráfica. En concreto, me basé en este ejemplo de pie chart. Muy sencillo y rápido tener la gráfica automáticamente. Lo que me llevó más tiempo fue el procesamiento de los datos: leerlos desde CSV con jquery-csv  y ordernarlos. Los colores son generados siempre aleatoriamente.
  • Bootstrap : Diseño responsive, para que la web se viese correctamente en dispositivos móviles.

Scrapeando lesiones.GIF

En este prototipo, sólo he analizado la última jornada de liga a fecha de hoy (jornada 31). Tuve problemas para encontrar alguna página o servicio que ofreciese datos de jornadas pasadas, para hacer una análisis más extenso. Todos los que encontré, daban sólo los datos de la jornada actual. Por tanto, y a falta de encontrar alguna API que proporcione estos historiales, lo óptimo sería automatizar el proceso para ir recogiendo los datos semana a semana.

Por último, apunto alguno de los «todo’s» que he ido recogiendo a lo largo del micro-proyecto: recoger datos del equipo al que pertenece el jugador, filtros de búsqueda, utilizar D3.js para mejorar la calidad y funcionalidad de las gráficas (leyendas, interactividad, etc.).

Tiempo aproximado de desarrollo: 7 horas

 

Share 🙂Share on FacebookShare on Google+Tweet about this on TwitterEmail this to someoneShare on LinkedInBuffer this pageShare on RedditShare on Tumblr