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:
+99
-99
@@ -14,7 +14,7 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Lato",
|
||||
"name": "Grzegorz Lato",
|
||||
"minute": 76
|
||||
}
|
||||
],
|
||||
@@ -25,7 +25,7 @@
|
||||
"date": "1974-07-07",
|
||||
"time": "16:00",
|
||||
"team1": "Netherlands",
|
||||
"team2": "West Germany",
|
||||
"team2": "Germany",
|
||||
"score": {
|
||||
"ft": [
|
||||
1,
|
||||
@@ -34,19 +34,19 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Neeskens",
|
||||
"name": "Johan Neeskens",
|
||||
"minute": 2,
|
||||
"penalty": true
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Breitner",
|
||||
"name": "Paul Breitner",
|
||||
"minute": 25,
|
||||
"penalty": true
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"name": "Gerd Müller",
|
||||
"minute": 43
|
||||
}
|
||||
],
|
||||
@@ -57,7 +57,7 @@
|
||||
"group": "Group 1",
|
||||
"date": "1974-06-14",
|
||||
"time": "16:00",
|
||||
"team1": "West Germany",
|
||||
"team1": "Germany",
|
||||
"team2": "Chile",
|
||||
"score": {
|
||||
"ft": [
|
||||
@@ -67,7 +67,7 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Breitner",
|
||||
"name": "Paul Breitner",
|
||||
"minute": 18
|
||||
}
|
||||
],
|
||||
@@ -88,12 +88,12 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Curran",
|
||||
"name": "Colin Curran",
|
||||
"minute": 58,
|
||||
"owngoal": true
|
||||
},
|
||||
{
|
||||
"name": "Streich",
|
||||
"name": "Joachim Streich",
|
||||
"minute": 72
|
||||
}
|
||||
],
|
||||
@@ -105,7 +105,7 @@
|
||||
"date": "1974-06-18",
|
||||
"time": "16:00",
|
||||
"team1": "Australia",
|
||||
"team2": "West Germany",
|
||||
"team2": "Germany",
|
||||
"score": {
|
||||
"ft": [
|
||||
0,
|
||||
@@ -114,15 +114,15 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Overath",
|
||||
"name": "Wolfgang Overath",
|
||||
"minute": 12
|
||||
},
|
||||
{
|
||||
"name": "Cullmann",
|
||||
"name": "Bernhard Cullmann",
|
||||
"minute": 34
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"name": "Gerd Müller",
|
||||
"minute": 53
|
||||
}
|
||||
],
|
||||
@@ -143,13 +143,13 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Ahumada",
|
||||
"name": "Sergio Ahumada",
|
||||
"minute": 69
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Hoffmann",
|
||||
"name": "Martin Hoffmann",
|
||||
"minute": 55
|
||||
}
|
||||
],
|
||||
@@ -176,7 +176,7 @@
|
||||
"date": "1974-06-22",
|
||||
"time": "19:30",
|
||||
"team1": "East Germany",
|
||||
"team2": "West Germany",
|
||||
"team2": "Germany",
|
||||
"score": {
|
||||
"ft": [
|
||||
1,
|
||||
@@ -185,7 +185,7 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Sparwasser",
|
||||
"name": "Jürgen Sparwasser",
|
||||
"minute": 77
|
||||
}
|
||||
],
|
||||
@@ -221,11 +221,11 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Lorimer",
|
||||
"name": "Peter Lorimer",
|
||||
"minute": 26
|
||||
},
|
||||
{
|
||||
"name": "Jordan",
|
||||
"name": "Joe Jordan",
|
||||
"minute": 34
|
||||
}
|
||||
],
|
||||
@@ -246,39 +246,39 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Bajević",
|
||||
"name": "Dušan Bajević",
|
||||
"minute": 8
|
||||
},
|
||||
{
|
||||
"name": "Bajević",
|
||||
"name": "Dušan Bajević",
|
||||
"minute": 30
|
||||
},
|
||||
{
|
||||
"name": "Bajević",
|
||||
"name": "Dušan Bajević",
|
||||
"minute": 81
|
||||
},
|
||||
{
|
||||
"name": "Džajić",
|
||||
"name": "Dragan Džajić",
|
||||
"minute": 14
|
||||
},
|
||||
{
|
||||
"name": "Šurjak",
|
||||
"name": "Ivica Šurjak",
|
||||
"minute": 18
|
||||
},
|
||||
{
|
||||
"name": "Katalinski",
|
||||
"name": "Josip Katalinski",
|
||||
"minute": 22
|
||||
},
|
||||
{
|
||||
"name": "Bogićević",
|
||||
"name": "Vladislav Bogićević",
|
||||
"minute": 35
|
||||
},
|
||||
{
|
||||
"name": "Oblak",
|
||||
"name": "Branko Oblak",
|
||||
"minute": 61
|
||||
},
|
||||
{
|
||||
"name": "Petković",
|
||||
"name": "Ilija Petković",
|
||||
"minute": 65
|
||||
}
|
||||
],
|
||||
@@ -314,13 +314,13 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Jordan",
|
||||
"name": "Joe Jordan",
|
||||
"minute": 88
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Karasi",
|
||||
"name": "Stanislav Karasi",
|
||||
"minute": 81
|
||||
}
|
||||
],
|
||||
@@ -349,7 +349,7 @@
|
||||
"minute": 66
|
||||
},
|
||||
{
|
||||
"name": "Valdomiro",
|
||||
"name": "Valdomiro Vaz Franco",
|
||||
"minute": 79
|
||||
}
|
||||
],
|
||||
@@ -370,11 +370,11 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Rep",
|
||||
"name": "Johnny Rep",
|
||||
"minute": 7
|
||||
},
|
||||
{
|
||||
"name": "Rep",
|
||||
"name": "Johnny Rep",
|
||||
"minute": 86
|
||||
}
|
||||
],
|
||||
@@ -410,13 +410,13 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Bonev",
|
||||
"name": "Hristo Bonev",
|
||||
"minute": 75
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Pavoni",
|
||||
"name": "Ricardo Pavoni",
|
||||
"minute": 87
|
||||
}
|
||||
],
|
||||
@@ -452,28 +452,28 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Krol",
|
||||
"name": "Ruud Krol",
|
||||
"minute": 78,
|
||||
"owngoal": true
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Neeskens",
|
||||
"name": "Johan Neeskens",
|
||||
"minute": 5,
|
||||
"penalty": true
|
||||
},
|
||||
{
|
||||
"name": "Neeskens",
|
||||
"name": "Johan Neeskens",
|
||||
"minute": 45,
|
||||
"penalty": true
|
||||
},
|
||||
{
|
||||
"name": "Rep",
|
||||
"name": "Johnny Rep",
|
||||
"minute": 71
|
||||
},
|
||||
{
|
||||
"name": "De Jong",
|
||||
"name": "Theo de Jong",
|
||||
"minute": 88
|
||||
}
|
||||
],
|
||||
@@ -494,15 +494,15 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Edström",
|
||||
"name": "Ralf Edström",
|
||||
"minute": 46
|
||||
},
|
||||
{
|
||||
"name": "Edström",
|
||||
"name": "Ralf Edström",
|
||||
"minute": 77
|
||||
},
|
||||
{
|
||||
"name": "Sandberg",
|
||||
"name": "Roland Sandberg",
|
||||
"minute": 74
|
||||
}
|
||||
],
|
||||
@@ -523,21 +523,21 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Rivera",
|
||||
"name": "Gianni Rivera",
|
||||
"minute": 52
|
||||
},
|
||||
{
|
||||
"name": "Benetti",
|
||||
"name": "Romeo Benetti",
|
||||
"minute": 66
|
||||
},
|
||||
{
|
||||
"name": "Anastasi",
|
||||
"name": "Pietro Anastasi",
|
||||
"minute": 79
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Sanon",
|
||||
"name": "Emmanuel Sanon",
|
||||
"minute": 46
|
||||
}
|
||||
],
|
||||
@@ -558,25 +558,25 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Lato",
|
||||
"name": "Grzegorz Lato",
|
||||
"minute": 7
|
||||
},
|
||||
{
|
||||
"name": "Lato",
|
||||
"name": "Grzegorz Lato",
|
||||
"minute": 62
|
||||
},
|
||||
{
|
||||
"name": "Szarmach",
|
||||
"name": "Andrzej Szarmach",
|
||||
"minute": 8
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Heredia",
|
||||
"name": "Ramón Heredia",
|
||||
"minute": 60
|
||||
},
|
||||
{
|
||||
"name": "Babington",
|
||||
"name": "Carlos Babington",
|
||||
"minute": 66
|
||||
}
|
||||
],
|
||||
@@ -597,13 +597,13 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Houseman",
|
||||
"name": "René Houseman",
|
||||
"minute": 20
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Perfumo",
|
||||
"name": "Roberto Perfumo",
|
||||
"minute": 35,
|
||||
"owngoal": true
|
||||
}
|
||||
@@ -625,31 +625,31 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Lato",
|
||||
"name": "Grzegorz Lato",
|
||||
"minute": 17
|
||||
},
|
||||
{
|
||||
"name": "Lato",
|
||||
"name": "Grzegorz Lato",
|
||||
"minute": 87
|
||||
},
|
||||
{
|
||||
"name": "Deyna",
|
||||
"name": "Kazimierz Deyna",
|
||||
"minute": 18
|
||||
},
|
||||
{
|
||||
"name": "Szarmach",
|
||||
"name": "Andrzej Szarmach",
|
||||
"minute": 30
|
||||
},
|
||||
{
|
||||
"name": "Szarmach",
|
||||
"name": "Andrzej Szarmach",
|
||||
"minute": 34
|
||||
},
|
||||
{
|
||||
"name": "Szarmach",
|
||||
"name": "Andrzej Szarmach",
|
||||
"minute": 50
|
||||
},
|
||||
{
|
||||
"name": "Gorgoń",
|
||||
"name": "Jerzy Gorgoń",
|
||||
"minute": 31
|
||||
}
|
||||
],
|
||||
@@ -670,25 +670,25 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Yazalde",
|
||||
"name": "Héctor Yazalde",
|
||||
"minute": 15
|
||||
},
|
||||
{
|
||||
"name": "Yazalde",
|
||||
"name": "Héctor Yazalde",
|
||||
"minute": 68
|
||||
},
|
||||
{
|
||||
"name": "Houseman",
|
||||
"name": "René Houseman",
|
||||
"minute": 18
|
||||
},
|
||||
{
|
||||
"name": "Ayala",
|
||||
"name": "Rubén Ayala",
|
||||
"minute": 55
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Sanon",
|
||||
"name": "Emmanuel Sanon",
|
||||
"minute": 63
|
||||
}
|
||||
],
|
||||
@@ -709,17 +709,17 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Szarmach",
|
||||
"name": "Andrzej Szarmach",
|
||||
"minute": 38
|
||||
},
|
||||
{
|
||||
"name": "Deyna",
|
||||
"name": "Kazimierz Deyna",
|
||||
"minute": 44
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Capello",
|
||||
"name": "Fabio Capello",
|
||||
"minute": 85
|
||||
}
|
||||
],
|
||||
@@ -740,19 +740,19 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Cruyff",
|
||||
"name": "Johan Cruyff",
|
||||
"minute": 11
|
||||
},
|
||||
{
|
||||
"name": "Cruyff",
|
||||
"name": "Johan Cruyff",
|
||||
"minute": 90
|
||||
},
|
||||
{
|
||||
"name": "Krol",
|
||||
"name": "Ruud Krol",
|
||||
"minute": 25
|
||||
},
|
||||
{
|
||||
"name": "Rep",
|
||||
"name": "Johnny Rep",
|
||||
"minute": 73
|
||||
}
|
||||
],
|
||||
@@ -794,7 +794,7 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Brindisi",
|
||||
"name": "Miguel Ángel Brindisi",
|
||||
"minute": 35
|
||||
}
|
||||
],
|
||||
@@ -825,11 +825,11 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Neeskens",
|
||||
"name": "Johan Neeskens",
|
||||
"minute": 7
|
||||
},
|
||||
{
|
||||
"name": "Rensenbrink",
|
||||
"name": "Rob Rensenbrink",
|
||||
"minute": 59
|
||||
}
|
||||
],
|
||||
@@ -850,13 +850,13 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Houseman",
|
||||
"name": "René Houseman",
|
||||
"minute": 20
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Streich",
|
||||
"name": "Joachim Streich",
|
||||
"minute": 14
|
||||
}
|
||||
],
|
||||
@@ -877,11 +877,11 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Neeskens",
|
||||
"name": "Johan Neeskens",
|
||||
"minute": 50
|
||||
},
|
||||
{
|
||||
"name": "Cruyff",
|
||||
"name": "Johan Cruyff",
|
||||
"minute": 65
|
||||
}
|
||||
],
|
||||
@@ -893,7 +893,7 @@
|
||||
"date": "1974-06-26",
|
||||
"time": "16:00",
|
||||
"team1": "Yugoslavia",
|
||||
"team2": "West Germany",
|
||||
"team2": "Germany",
|
||||
"score": {
|
||||
"ft": [
|
||||
0,
|
||||
@@ -902,11 +902,11 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Breitner",
|
||||
"name": "Paul Breitner",
|
||||
"minute": 39
|
||||
},
|
||||
{
|
||||
"name": "Müller",
|
||||
"name": "Gerd Müller",
|
||||
"minute": 82
|
||||
}
|
||||
],
|
||||
@@ -927,7 +927,7 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Lato",
|
||||
"name": "Grzegorz Lato",
|
||||
"minute": 43
|
||||
}
|
||||
],
|
||||
@@ -948,18 +948,18 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Deyna",
|
||||
"name": "Kazimierz Deyna",
|
||||
"minute": 24,
|
||||
"penalty": true
|
||||
},
|
||||
{
|
||||
"name": "Lato",
|
||||
"name": "Grzegorz Lato",
|
||||
"minute": 62
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Karasi",
|
||||
"name": "Stanislav Karasi",
|
||||
"minute": 43
|
||||
}
|
||||
],
|
||||
@@ -970,7 +970,7 @@
|
||||
"group": "Group B",
|
||||
"date": "1974-06-30",
|
||||
"time": "19:30",
|
||||
"team1": "West Germany",
|
||||
"team1": "Germany",
|
||||
"team2": "Sweden",
|
||||
"score": {
|
||||
"ft": [
|
||||
@@ -980,30 +980,30 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Overath",
|
||||
"name": "Wolfgang Overath",
|
||||
"minute": 51
|
||||
},
|
||||
{
|
||||
"name": "Bonhof",
|
||||
"name": "Rainer Bonhof",
|
||||
"minute": 52
|
||||
},
|
||||
{
|
||||
"name": "Grabowski",
|
||||
"name": "Jürgen Grabowski",
|
||||
"minute": 76
|
||||
},
|
||||
{
|
||||
"name": "Hoeneß",
|
||||
"name": "Uli Hoeneß",
|
||||
"minute": 89,
|
||||
"penalty": true
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Edström",
|
||||
"name": "Ralf Edström",
|
||||
"minute": 24
|
||||
},
|
||||
{
|
||||
"name": "Sandberg",
|
||||
"name": "Roland Sandberg",
|
||||
"minute": 53
|
||||
}
|
||||
],
|
||||
@@ -1015,7 +1015,7 @@
|
||||
"date": "1974-07-03",
|
||||
"time": "16:35",
|
||||
"team1": "Poland",
|
||||
"team2": "West Germany",
|
||||
"team2": "Germany",
|
||||
"score": {
|
||||
"ft": [
|
||||
0,
|
||||
@@ -1024,7 +1024,7 @@
|
||||
},
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Müller",
|
||||
"name": "Gerd Müller",
|
||||
"minute": 76
|
||||
}
|
||||
],
|
||||
@@ -1045,17 +1045,17 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Edström",
|
||||
"name": "Ralf Edström",
|
||||
"minute": 29
|
||||
},
|
||||
{
|
||||
"name": "Torstensson",
|
||||
"name": "Conny Torstensson",
|
||||
"minute": 85
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Šurjak",
|
||||
"name": "Ivica Šurjak",
|
||||
"minute": 27
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user