SoccerData is a collection of scrapers to gather soccer data from popular websites, including Club Elo, ESPN, FBref, FiveThirtyEight, Football-Data.co.uk, SoFIFA and WhoScored. You get Pandas DataFrames with sensible, matching column names and identifiers across datasets. Data is downloaded when needed and cached locally.
import soccerdata as sd
# Create a scraper class instance for the 2018/19 Premier League
five38 = sd.FiveThirtyEight('ENG-Premier League', '1819')
# Fetch data
games = five38.read_games()
forecasts = five38.read_forecasts()
clinches = five38.read_clinches()
To learn how to install, configure and use SoccerData, see the Quickstart guide. For documentation on each of the supported data sources, see the example notebooks and API reference.
Disclaimer: As soccerdata relies on web scraping, any changes to the scraped websites will break the package. Hence, do not expect that all code will work all the time. If you spot any bugs, then please fork it and start a pull request.