refactor: consolidate data/ into single root directory, fix historical player names
Merge data/wikipedia/{year}/ into data/{year}/ so there is a single
canonical location for World Cup JSON files. Update scrape and seed
scripts to use data/ instead of data/wikipedia/.
Re-scraped all 22 years (1930-2022) with fixed player name extraction
(full name from <a title="..."> rather than abbreviated display text)
so historical goals now show e.g. "Thomas Müller" not "Müller".
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+56
-265
@@ -18,7 +18,7 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Espárrago",
|
||||
"name": "Víctor Espárrago",
|
||||
"minute": 117
|
||||
}
|
||||
],
|
||||
@@ -38,26 +38,26 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Guzmán",
|
||||
"name": "Javier Guzmán",
|
||||
"minute": 25,
|
||||
"owngoal": true
|
||||
},
|
||||
{
|
||||
"name": "Riva",
|
||||
"name": "Gigi Riva",
|
||||
"minute": 63
|
||||
},
|
||||
{
|
||||
"name": "Riva",
|
||||
"name": "Gigi Riva",
|
||||
"minute": 76
|
||||
},
|
||||
{
|
||||
"name": "Rivera",
|
||||
"name": "Gianni Rivera",
|
||||
"minute": 70
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "González",
|
||||
"name": "José Luis González Dávila",
|
||||
"minute": 13
|
||||
}
|
||||
],
|
||||
@@ -95,11 +95,11 @@
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Gallardo",
|
||||
"name": "Alberto Gallardo",
|
||||
"minute": 28
|
||||
},
|
||||
{
|
||||
"name": "Cubillas",
|
||||
"name": "Teófilo Cubillas",
|
||||
"minute": 70
|
||||
}
|
||||
],
|
||||
@@ -109,7 +109,7 @@
|
||||
"round": "Quarter-finals",
|
||||
"date": "1970-06-14",
|
||||
"time": "12:00",
|
||||
"team1": "West Germany",
|
||||
"team1": "Germany",
|
||||
"team2": "England",
|
||||
"score": {
|
||||
"ft": [
|
||||
@@ -123,25 +123,25 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Beckenbauer",
|
||||
"name": "Franz Beckenbauer",
|
||||
"minute": 68
|
||||
},
|
||||
{
|
||||
"name": "Seeler",
|
||||
"name": "Uwe Seeler",
|
||||
"minute": 82
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"name": "Gerd Müller",
|
||||
"minute": 108
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Mullery",
|
||||
"name": "Alan Mullery",
|
||||
"minute": 31
|
||||
},
|
||||
{
|
||||
"name": "Peters",
|
||||
"name": "Martin Peters",
|
||||
"minute": 49
|
||||
}
|
||||
],
|
||||
@@ -175,7 +175,7 @@
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Cubilla",
|
||||
"name": "Luis Cubilla",
|
||||
"minute": 19
|
||||
}
|
||||
],
|
||||
@@ -186,7 +186,7 @@
|
||||
"date": "1970-06-17",
|
||||
"time": "16:00",
|
||||
"team1": "Italy",
|
||||
"team2": "West Germany",
|
||||
"team2": "Germany",
|
||||
"score": {
|
||||
"ft": [
|
||||
1,
|
||||
@@ -199,34 +199,34 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Boninsegna",
|
||||
"name": "Roberto Boninsegna",
|
||||
"minute": 8
|
||||
},
|
||||
{
|
||||
"name": "Burgnich",
|
||||
"name": "Tarcisio Burgnich",
|
||||
"minute": 98
|
||||
},
|
||||
{
|
||||
"name": "Riva",
|
||||
"name": "Gigi Riva",
|
||||
"minute": 104
|
||||
},
|
||||
{
|
||||
"name": "Rivera",
|
||||
"name": "Gianni Rivera",
|
||||
"minute": 111
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Schnellinger",
|
||||
"name": "Karl-Heinz Schnellinger",
|
||||
"minute": 90,
|
||||
"offset": 2
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"name": "Gerd Müller",
|
||||
"minute": 94
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"name": "Gerd Müller",
|
||||
"minute": 110
|
||||
}
|
||||
],
|
||||
@@ -236,7 +236,7 @@
|
||||
"round": "Third-place match",
|
||||
"date": "1970-06-20",
|
||||
"time": "16:00",
|
||||
"team1": "West Germany",
|
||||
"team1": "Germany",
|
||||
"team2": "Uruguay",
|
||||
"score": {
|
||||
"ft": [
|
||||
@@ -246,7 +246,7 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Overath",
|
||||
"name": "Wolfgang Overath",
|
||||
"minute": 26
|
||||
}
|
||||
],
|
||||
@@ -278,13 +278,13 @@
|
||||
"minute": 71
|
||||
},
|
||||
{
|
||||
"name": "Carlos Alberto",
|
||||
"name": "Carlos Alberto Torres",
|
||||
"minute": 86
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Boninsegna",
|
||||
"name": "Roberto Boninsegna",
|
||||
"minute": 37
|
||||
}
|
||||
],
|
||||
@@ -320,15 +320,15 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Van Moer",
|
||||
"name": "Wilfried Van Moer",
|
||||
"minute": 12
|
||||
},
|
||||
{
|
||||
"name": "Van Moer",
|
||||
"name": "Wilfried Van Moer",
|
||||
"minute": 54
|
||||
},
|
||||
{
|
||||
"name": "Lambert",
|
||||
"name": "Raoul Lambert",
|
||||
"minute": 79,
|
||||
"penalty": true
|
||||
}
|
||||
@@ -350,25 +350,25 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Byshovets",
|
||||
"name": "Anatoliy Byshovets",
|
||||
"minute": 14
|
||||
},
|
||||
{
|
||||
"name": "Byshovets",
|
||||
"name": "Anatoliy Byshovets",
|
||||
"minute": 63
|
||||
},
|
||||
{
|
||||
"name": "Asatiani",
|
||||
"name": "Kakhi Asatiani",
|
||||
"minute": 57
|
||||
},
|
||||
{
|
||||
"name": "Khmelnytskyi",
|
||||
"name": "Vitaliy Khmelnytskyi",
|
||||
"minute": 76
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Lambert",
|
||||
"name": "Raoul Lambert",
|
||||
"minute": 86
|
||||
}
|
||||
],
|
||||
@@ -389,19 +389,19 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Valdivia",
|
||||
"name": "Javier Valdivia",
|
||||
"minute": 45
|
||||
},
|
||||
{
|
||||
"name": "Valdivia",
|
||||
"name": "Javier Valdivia",
|
||||
"minute": 46
|
||||
},
|
||||
{
|
||||
"name": "Fragoso",
|
||||
"name": "Javier Fragoso",
|
||||
"minute": 58
|
||||
},
|
||||
{
|
||||
"name": "Basaguren",
|
||||
"name": "Juan Ignacio Basaguren",
|
||||
"minute": 83
|
||||
}
|
||||
],
|
||||
@@ -422,11 +422,11 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Byshovets",
|
||||
"name": "Anatoliy Byshovets",
|
||||
"minute": 51
|
||||
},
|
||||
{
|
||||
"name": "Byshovets",
|
||||
"name": "Anatoliy Byshovets",
|
||||
"minute": 74
|
||||
}
|
||||
],
|
||||
@@ -447,7 +447,7 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Peña",
|
||||
"name": "Gustavo Peña",
|
||||
"minute": 14,
|
||||
"penalty": true
|
||||
}
|
||||
@@ -469,11 +469,11 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Maneiro",
|
||||
"name": "Ildo Maneiro",
|
||||
"minute": 23
|
||||
},
|
||||
{
|
||||
"name": "Mujica",
|
||||
"name": "Juan Mujica",
|
||||
"minute": 50
|
||||
}
|
||||
],
|
||||
@@ -494,7 +494,7 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Domenghini",
|
||||
"name": "Angelo Domenghini",
|
||||
"minute": 10
|
||||
}
|
||||
],
|
||||
@@ -530,13 +530,13 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Turesson",
|
||||
"name": "Tom Turesson",
|
||||
"minute": 53
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Spiegler",
|
||||
"name": "Mordechai Spiegler",
|
||||
"minute": 56
|
||||
}
|
||||
],
|
||||
@@ -557,7 +557,7 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Grahn",
|
||||
"name": "Ove Grahn",
|
||||
"minute": 90
|
||||
}
|
||||
],
|
||||
@@ -593,7 +593,7 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Hurst",
|
||||
"name": "Geoff Hurst",
|
||||
"minute": 65
|
||||
}
|
||||
],
|
||||
@@ -632,7 +632,7 @@
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Petráš",
|
||||
"name": "Ladislav Petráš",
|
||||
"minute": 11
|
||||
}
|
||||
],
|
||||
@@ -653,18 +653,18 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Neagu",
|
||||
"name": "Alexandru Neagu",
|
||||
"minute": 52
|
||||
},
|
||||
{
|
||||
"name": "Dumitrache",
|
||||
"name": "Florea Dumitrache",
|
||||
"minute": 75,
|
||||
"penalty": true
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Petráš",
|
||||
"name": "Ladislav Petráš",
|
||||
"minute": 5
|
||||
}
|
||||
],
|
||||
@@ -720,11 +720,11 @@
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Dumitrache",
|
||||
"name": "Florea Dumitrache",
|
||||
"minute": 34
|
||||
},
|
||||
{
|
||||
"name": "Dembrovschi",
|
||||
"name": "Emerich Dembrovschi",
|
||||
"minute": 84
|
||||
}
|
||||
],
|
||||
@@ -745,221 +745,12 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Clarke",
|
||||
"name": "Allan Clarke",
|
||||
"minute": 50,
|
||||
"penalty": true
|
||||
}
|
||||
],
|
||||
"ground": "Estadio Jalisco, Guadalajara"
|
||||
},
|
||||
{
|
||||
"round": "Group stage",
|
||||
"group": "Group 4",
|
||||
"date": "1970-06-02",
|
||||
"time": "16:00",
|
||||
"team1": "Peru",
|
||||
"team2": "Bulgaria",
|
||||
"score": {
|
||||
"ft": [
|
||||
3,
|
||||
2
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Gallardo",
|
||||
"minute": 50
|
||||
},
|
||||
{
|
||||
"name": "Chumpitaz",
|
||||
"minute": 55
|
||||
},
|
||||
{
|
||||
"name": "Cubillas",
|
||||
"minute": 73
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Dermendzhiev",
|
||||
"minute": 13
|
||||
},
|
||||
{
|
||||
"name": "Bonev",
|
||||
"minute": 49
|
||||
}
|
||||
],
|
||||
"ground": "Estadio Nou Camp, León"
|
||||
},
|
||||
{
|
||||
"round": "Group stage",
|
||||
"group": "Group 4",
|
||||
"date": "1970-06-03",
|
||||
"time": "16:00",
|
||||
"team1": "West Germany",
|
||||
"team2": "Morocco",
|
||||
"score": {
|
||||
"ft": [
|
||||
2,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Seeler",
|
||||
"minute": 56
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"minute": 80
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Jarir",
|
||||
"minute": 21
|
||||
}
|
||||
],
|
||||
"ground": "Estadio Nou Camp, León"
|
||||
},
|
||||
{
|
||||
"round": "Group stage",
|
||||
"group": "Group 4",
|
||||
"date": "1970-06-06",
|
||||
"time": "16:00",
|
||||
"team1": "Peru",
|
||||
"team2": "Morocco",
|
||||
"score": {
|
||||
"ft": [
|
||||
3,
|
||||
0
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Cubillas",
|
||||
"minute": 65
|
||||
},
|
||||
{
|
||||
"name": "Cubillas",
|
||||
"minute": 75
|
||||
},
|
||||
{
|
||||
"name": "Challe",
|
||||
"minute": 67
|
||||
}
|
||||
],
|
||||
"ground": "Estadio Nou Camp, León"
|
||||
},
|
||||
{
|
||||
"round": "Group stage",
|
||||
"group": "Group 4",
|
||||
"date": "1970-06-07",
|
||||
"time": "12:00",
|
||||
"team1": "West Germany",
|
||||
"team2": "Bulgaria",
|
||||
"score": {
|
||||
"ft": [
|
||||
5,
|
||||
2
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Libuda",
|
||||
"minute": 20
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"minute": 27
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"minute": 52,
|
||||
"penalty": true
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"minute": 88
|
||||
},
|
||||
{
|
||||
"name": "Seeler",
|
||||
"minute": 70
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Nikodimov",
|
||||
"minute": 12
|
||||
},
|
||||
{
|
||||
"name": "Kolev",
|
||||
"minute": 89
|
||||
}
|
||||
],
|
||||
"ground": "Estadio Nou Camp, León"
|
||||
},
|
||||
{
|
||||
"round": "Group stage",
|
||||
"group": "Group 4",
|
||||
"date": "1970-06-10",
|
||||
"time": "16:00",
|
||||
"team1": "West Germany",
|
||||
"team2": "Peru",
|
||||
"score": {
|
||||
"ft": [
|
||||
3,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Müller",
|
||||
"minute": 19
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"minute": 26
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"minute": 39
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Cubillas",
|
||||
"minute": 44
|
||||
}
|
||||
],
|
||||
"ground": "Estadio Nou Camp, León"
|
||||
},
|
||||
{
|
||||
"round": "Group stage",
|
||||
"group": "Group 4",
|
||||
"date": "1970-06-11",
|
||||
"time": "16:00",
|
||||
"team1": "Bulgaria",
|
||||
"team2": "Morocco",
|
||||
"score": {
|
||||
"ft": [
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Zhechev",
|
||||
"minute": 40
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Ghazouani",
|
||||
"minute": 61
|
||||
}
|
||||
],
|
||||
"ground": "Estadio Nou Camp, León"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user