FBRef

[1]:
import sys

sys.path.append("../../")

import penaltyblog as pb

List available competitions

[2]:
pb.scrapers.FBRef.list_competitions()
[2]:
['BEL First Division A',
 'BEL First Division B',
 'DEU Bundesliga 1',
 'DEU Bundesliga 2',
 'ENG Premier League',
 'ENG Championship',
 'ENG League 1',
 'ENG League 2',
 'ENG Conference',
 'ESP La Liga',
 'ESP La Liga Segunda',
 'FRA Ligue 1',
 'FRA Ligue 2',
 'GRC Super League',
 'ITA Serie A',
 'ITA Serie B',
 'NLD Eredivisie',
 'PRT Liga 1',
 'RUS Premier League',
 'SCO Premier League',
 'SCO Division 1',
 'TUR Super Lig']

Get fixtures

[3]:
fbref = pb.scrapers.FBRef("ENG Premier League", "2022-2023")
df = fbref.get_fixtures()
df.head()
[3]:
competition season datetime week day date time team_home xg_home xg_away team_away attendance venue referee goals_home goals_away
id
1659657600---crystal_palace---arsenal ENG Premier League 2022-2023 2022-08-05 20:00:00 1.0 Fri 2022-08-05 20:00 Crystal Palace 1.2 1.0 Arsenal 25286.0 Selhurst Park Anthony Taylor 0.0 2.0
1659744000---bournemouth---aston_villa ENG Premier League 2022-2023 2022-08-06 15:00:00 1.0 Sat 2022-08-06 15:00 Bournemouth 0.6 0.7 Aston Villa 11013.0 Vitality Stadium Peter Bankes 2.0 0.0
1659744000---everton---chelsea ENG Premier League 2022-2023 2022-08-06 17:30:00 1.0 Sat 2022-08-06 17:30 Everton 0.7 1.5 Chelsea 39254.0 Goodison Park Craig Pawson 0.0 1.0
1659744000---fulham---liverpool ENG Premier League 2022-2023 2022-08-06 12:30:00 1.0 Sat 2022-08-06 12:30 Fulham 1.2 1.2 Liverpool 22207.0 Craven Cottage Andy Madley 2.0 2.0
1659744000---leeds_united---wolves ENG Premier League 2022-2023 2022-08-06 15:00:00 1.0 Sat 2022-08-06 15:00 Leeds United 0.8 1.3 Wolves 36347.0 Elland Road Robert Jones 2.0 1.0

List stats available for this competition

[4]:
fbref.list_stat_types()
[4]:
['standard',
 'goalkeeping',
 'advanced_goalkeeping',
 'shooting',
 'passing',
 'passing_types',
 'goal_shot_creation',
 'defensive_actions',
 'possession',
 'playing_time',
 'misc']

Get stats

[5]:
stats = fbref.get_stats("standard")
[6]:
stats["players"].head()
[6]:
nation pos squad born playing_time_mp playing_time_starts playing_time_min playing_time_90s performance_gls performance_ast ... per_90_minutes_g-pk per_90_minutes_g+a-pk per_90_minutes_xg per_90_minutes_xag per_90_minutes_xg+xag per_90_minutes_npxg per_90_minutes_npxg+xag season competition age_years
player
Aaron Cresswell eng ENG DF West Ham 1989 28.0 24.0 2235.0 24.8 0 1 ... 0.00 0.04 0.01 0.15 0.16 0.01 0.16 2022-2023 ENG Premier League 32.0
Aaron Hickey sct SCO DF Brentford 2002 26.0 23.0 1916.0 21.3 0 1 ... 0.00 0.05 0.02 0.02 0.04 0.02 0.04 2022-2023 ENG Premier League 20.0
Aaron Ramsdale eng ENG GK Arsenal 1998 38.0 38.0 3420.0 38.0 0 0 ... 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2022-2023 ENG Premier League 24.0
Aaron Wan-Bissaka eng ENG DF Manchester Utd 1997 19.0 16.0 1435.0 15.9 0 0 ... 0.00 0.00 0.07 0.06 0.14 0.07 0.14 2022-2023 ENG Premier League 24.0
Abdoulaye Doucouré ml MLI MF Everton 1993 25.0 17.0 1533.0 17.0 5 2 ... 0.29 0.41 0.14 0.13 0.27 0.14 0.27 2022-2023 ENG Premier League 29.0

5 rows × 36 columns

[7]:
stats["squad_for"].head()
[7]:
#_pl age poss playing_time_mp playing_time_starts playing_time_min playing_time_90s performance_gls performance_ast performance_g+a ... per_90_minutes_g+a per_90_minutes_g-pk per_90_minutes_g+a-pk per_90_minutes_xg per_90_minutes_xag per_90_minutes_xg+xag per_90_minutes_npxg per_90_minutes_npxg+xag season competition
squad
Arsenal 26 24.7 59.3 38.0 418.0 3420.0 38.0 84 64 148 ... 3.89 2.13 3.82 1.89 1.41 3.31 1.82 3.23 2022-2023 ENG Premier League
Aston Villa 26 27.0 49.3 38.0 418.0 3420.0 38.0 49 35 84 ... 2.21 1.21 2.13 1.32 1.02 2.34 1.24 2.26 2022-2023 ENG Premier League
Bournemouth 31 26.3 40.4 38.0 418.0 3420.0 38.0 37 24 61 ... 1.61 0.97 1.61 1.02 0.75 1.76 1.02 1.76 2022-2023 ENG Premier League
Brentford 25 26.2 43.8 38.0 418.0 3420.0 38.0 56 36 92 ... 2.42 1.29 2.24 1.49 1.02 2.51 1.33 2.35 2022-2023 ENG Premier League
Brighton 29 26.3 60.2 38.0 418.0 3420.0 38.0 68 46 114 ... 3.00 1.63 2.84 1.93 1.37 3.30 1.81 3.19 2022-2023 ENG Premier League

5 rows × 33 columns

[8]:
stats["squad_against"].head()
[8]:
#_pl age poss playing_time_mp playing_time_starts playing_time_min playing_time_90s performance_gls performance_ast performance_g+a ... per_90_minutes_g+a per_90_minutes_g-pk per_90_minutes_g+a-pk per_90_minutes_xg per_90_minutes_xag per_90_minutes_xg+xag per_90_minutes_npxg per_90_minutes_npxg+xag season competition
squad
vs Arsenal 26 26.7 40.7 38.0 418.0 3420.0 38.0 42 27 69 ... 1.82 1.03 1.74 1.10 0.83 1.93 1.00 1.83 2022-2023 ENG Premier League
vs Aston Villa 26 26.5 50.7 38.0 418.0 3420.0 38.0 42 25 67 ... 1.76 0.97 1.63 1.38 0.95 2.33 1.26 2.21 2022-2023 ENG Premier League
vs Bournemouth 31 26.6 59.6 38.0 418.0 3420.0 38.0 68 49 117 ... 3.08 1.63 2.92 1.68 1.19 2.87 1.54 2.73 2022-2023 ENG Premier League
vs Brentford 25 26.6 56.2 38.0 418.0 3420.0 38.0 43 30 73 ... 1.92 1.08 1.87 1.31 0.97 2.28 1.28 2.25 2022-2023 ENG Premier League
vs Brighton 29 26.5 39.8 38.0 418.0 3420.0 38.0 47 34 81 ... 2.13 1.08 1.97 1.32 0.89 2.21 1.15 2.04 2022-2023 ENG Premier League

5 rows × 33 columns