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,52 @@
{
"stadiums": [
{
"name": "Kazan Arena",
"city": "Kazan"
},
{
"name": "Fisht Olympic Stadium",
"city": "Sochi"
},
{
"name": "Luzhniki Stadium",
"city": "Moscow"
},
{
"name": "Nizhny Novgorod Stadium",
"city": "Nizhny Novgorod"
},
{
"name": "Cosmos Arena",
"city": "Samara"
},
{
"name": "Rostov Arena",
"city": "Rostov-on-Don"
},
{
"name": "Krestovsky Stadium",
"city": "Saint Petersburg"
},
{
"name": "Otkritie Arena",
"city": "Moscow"
},
{
"name": "Central Stadium",
"city": "Yekaterinburg"
},
{
"name": "Volgograd Arena",
"city": "Volgograd"
},
{
"name": "Mordovia Arena",
"city": "Saransk"
},
{
"name": "Kaliningrad Stadium",
"city": "Kaliningrad"
}
]
}