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:
2026-06-15 11:39:53 +02:00
parent 83b1ad3e35
commit 5dcd22ad22
88 changed files with 95625 additions and 127 deletions
@@ -0,0 +1,40 @@
{
"groups": [
{
"name": "Group 1",
"teams": [
"Argentina",
"West Germany",
"Northern Ireland",
"Czechoslovakia"
]
},
{
"name": "Group 2",
"teams": [
"France",
"Paraguay",
"Yugoslavia",
"Scotland"
]
},
{
"name": "Group 3",
"teams": [
"Sweden",
"Mexico",
"Hungary",
"Wales"
]
},
{
"name": "Group 4",
"teams": [
"Brazil",
"Austria",
"Soviet Union",
"England"
]
}
]
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,52 @@
{
"stadiums": [
{
"name": "Malmö Stadion",
"city": "Malmö"
},
{
"name": "Örjans Vall",
"city": "Halmstad"
},
{
"name": "Olympiastadion",
"city": "Helsingborg"
},
{
"name": "Idrottsparken",
"city": "Norrköping"
},
{
"name": "Arosvallen",
"city": "Västerås"
},
{
"name": "Eyravallen",
"city": "Örebro"
},
{
"name": "Tunavallen",
"city": "Eskilstuna"
},
{
"name": "Råsunda Stadium",
"city": "Solna"
},
{
"name": "Jernvallen",
"city": "Sandviken"
},
{
"name": "Rimnersvallen",
"city": "Uddevalla"
},
{
"name": "Ullevi",
"city": "Gothenburg"
},
{
"name": "Ryavallen",
"city": "Borås"
}
]
}