feat: replace Kaggle CSV with Wikipedia scraper for historical match data
Add scripts/scrape-wikipedia.ts that fetches all 22 World Cups (1930–2022) from English Wikipedia via MediaWiki API, handles group sub-pages, AET/penalty detection, and goal parsing, writing openfootball-format JSON to app/data/openfootball/. Rewrite scripts/seed.ts to read these local JSON files instead of the Kaggle CSV, producing 965 matches and 2716 goals with per-group assignments for all historical tournaments (enabling group standings on tournament pages). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"groups": [
|
||||
{
|
||||
"name": "Group A",
|
||||
"teams": [
|
||||
"Brazil",
|
||||
"Croatia",
|
||||
"Mexico",
|
||||
"Cameroon"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group B",
|
||||
"teams": [
|
||||
"Spain",
|
||||
"Netherlands",
|
||||
"Chile",
|
||||
"Australia"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group C",
|
||||
"teams": [
|
||||
"Colombia",
|
||||
"Greece",
|
||||
"Ivory Coast",
|
||||
"Japan"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group D",
|
||||
"teams": [
|
||||
"Uruguay",
|
||||
"Costa Rica",
|
||||
"England",
|
||||
"Italy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group E",
|
||||
"teams": [
|
||||
"Switzerland",
|
||||
"Ecuador",
|
||||
"France",
|
||||
"Honduras"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group F",
|
||||
"teams": [
|
||||
"Argentina",
|
||||
"Bosnia and Herzegovina",
|
||||
"Iran",
|
||||
"Nigeria"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group G",
|
||||
"teams": [
|
||||
"Germany",
|
||||
"Portugal",
|
||||
"Ghana",
|
||||
"United States"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group H",
|
||||
"teams": [
|
||||
"Belgium",
|
||||
"Algeria",
|
||||
"Russia",
|
||||
"South Korea"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"stadiums": [
|
||||
{
|
||||
"name": "Estádio Mineirão",
|
||||
"city": "Belo Horizonte"
|
||||
},
|
||||
{
|
||||
"name": "Estádio do Maracanã",
|
||||
"city": "Rio de Janeiro"
|
||||
},
|
||||
{
|
||||
"name": "Estádio Castelão",
|
||||
"city": "Fortaleza"
|
||||
},
|
||||
{
|
||||
"name": "Itaipava Arena Pernambuco",
|
||||
"city": "Recife"
|
||||
},
|
||||
{
|
||||
"name": "Estádio Nacional Mané Garrincha",
|
||||
"city": "Brasília"
|
||||
},
|
||||
{
|
||||
"name": "Estádio Beira-Rio",
|
||||
"city": "Porto Alegre"
|
||||
},
|
||||
{
|
||||
"name": "Arena Corinthians",
|
||||
"city": "São Paulo"
|
||||
},
|
||||
{
|
||||
"name": "Itaipava Arena Fonte Nova",
|
||||
"city": "Salvador"
|
||||
},
|
||||
{
|
||||
"name": "Maracanã Stadium",
|
||||
"city": "Rio de Janeiro"
|
||||
},
|
||||
{
|
||||
"name": "Arena de São Paulo",
|
||||
"city": "São Paulo"
|
||||
},
|
||||
{
|
||||
"name": "Arena das Dunas",
|
||||
"city": "Natal"
|
||||
},
|
||||
{
|
||||
"name": "Arena da Amazônia",
|
||||
"city": "Manaus"
|
||||
},
|
||||
{
|
||||
"name": "Arena Pantanal",
|
||||
"city": "Cuiabá"
|
||||
},
|
||||
{
|
||||
"name": "Arena da Baixada",
|
||||
"city": "Curitiba"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user