Skip to content

Commit cf687ba

Browse files
committed
feat: Add all 9 data source extractors for football statistics
Created comprehensive data extraction framework with extractors for: - FBref: 44 tables (team/player season & match stats, events, shots) - FotMob: 11 tables (league table, schedule, 7 match stat types) - Understat: 7 tables (xG metrics, shot coordinates, PPDA) - WhoScored: 4 tables (Opta event stream, schedule) - Sofascore: 4 tables (standings, schedule) - ESPN: 3 tables (schedule, matchsheet, lineups) - ClubElo: 2 tables (ELO ratings by date, team history) - MatchHistory: 1 table (betting odds from 13+ bookmakers) - SoFIFA: 6 tables (EA Sports FC player/team ratings) Each extractor: - Extends BaseExtractor abstract class - Implements table configs and extraction methods - Handles data validation and DataFrame conversion - Provides error handling for missing data - Supports UPSERT operations via conflict columns Total: 82+ tables across all data sources
1 parent 465eb4d commit cf687ba

11 files changed

+2388
-0
lines changed

scripts/extractors/__init__.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"""
2+
Data Source Extractors
3+
Extracts data from various football statistics sources
4+
"""
5+
6+
from .base_extractor import BaseExtractor
7+
from .fbref_extractor import FBrefExtractor
8+
from .fotmob_extractor import FotMobExtractor
9+
from .understat_extractor import UnderstatExtractor
10+
from .whoscored_extractor import WhoScoredExtractor
11+
from .sofascore_extractor import SofascoreExtractor
12+
from .espn_extractor import ESPNExtractor
13+
from .clubelo_extractor import ClubEloExtractor
14+
from .matchhistory_extractor import MatchHistoryExtractor
15+
from .sofifa_extractor import SoFIFAExtractor
16+
17+
__all__ = [
18+
'BaseExtractor',
19+
'FBrefExtractor',
20+
'FotMobExtractor',
21+
'UnderstatExtractor',
22+
'WhoScoredExtractor',
23+
'SofascoreExtractor',
24+
'ESPNExtractor',
25+
'ClubEloExtractor',
26+
'MatchHistoryExtractor',
27+
'SoFIFAExtractor',
28+
]

0 commit comments

Comments
 (0)