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:
+84
-84
@@ -18,13 +18,13 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Abegglen",
|
||||
"name": "André Abegglen",
|
||||
"minute": 43
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Gauchel",
|
||||
"name": "Josef Gauchel",
|
||||
"minute": 29
|
||||
}
|
||||
],
|
||||
@@ -44,27 +44,27 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Kohut",
|
||||
"name": "Vilmos Kohut",
|
||||
"minute": 13
|
||||
},
|
||||
{
|
||||
"name": "Toldi",
|
||||
"name": "Géza Toldi",
|
||||
"minute": 15
|
||||
},
|
||||
{
|
||||
"name": "G. Sárosi",
|
||||
"name": "György Sárosi",
|
||||
"minute": 25
|
||||
},
|
||||
{
|
||||
"name": "G. Sárosi",
|
||||
"name": "György Sárosi",
|
||||
"minute": 89
|
||||
},
|
||||
{
|
||||
"name": "Zsengellér",
|
||||
"name": "Gyula Zsengellér",
|
||||
"minute": 30
|
||||
},
|
||||
{
|
||||
"name": "Zsengellér",
|
||||
"name": "Gyula Zsengellér",
|
||||
"minute": 76
|
||||
}
|
||||
],
|
||||
@@ -95,29 +95,29 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Socorro",
|
||||
"name": "Héctor Socorro",
|
||||
"minute": 44
|
||||
},
|
||||
{
|
||||
"name": "Socorro",
|
||||
"name": "Héctor Socorro",
|
||||
"minute": 103
|
||||
},
|
||||
{
|
||||
"name": "Magriñá",
|
||||
"name": "José Magriñá",
|
||||
"minute": 69
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Bindea",
|
||||
"name": "Silviu Bindea",
|
||||
"minute": 35
|
||||
},
|
||||
{
|
||||
"name": "Barátky",
|
||||
"name": "Iuliu Barátky",
|
||||
"minute": 88
|
||||
},
|
||||
{
|
||||
"name": "Dobay",
|
||||
"name": "Ștefan Dobay",
|
||||
"minute": 105
|
||||
}
|
||||
],
|
||||
@@ -137,21 +137,21 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Veinante",
|
||||
"name": "Émile Veinante",
|
||||
"minute": 1
|
||||
},
|
||||
{
|
||||
"name": "Nicolas",
|
||||
"name": "Jean Nicolas",
|
||||
"minute": 16
|
||||
},
|
||||
{
|
||||
"name": "Nicolas",
|
||||
"name": "Jean Nicolas",
|
||||
"minute": 69
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Isemborghs",
|
||||
"name": "Hendrik Isemborghs",
|
||||
"minute": 38
|
||||
}
|
||||
],
|
||||
@@ -175,17 +175,17 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Ferraris",
|
||||
"name": "Pietro Ferraris",
|
||||
"minute": 2
|
||||
},
|
||||
{
|
||||
"name": "Piola",
|
||||
"name": "Silvio Piola",
|
||||
"minute": 94
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Brustad",
|
||||
"name": "Arne Brustad",
|
||||
"minute": 83
|
||||
}
|
||||
],
|
||||
@@ -209,50 +209,50 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Leônidas",
|
||||
"name": "Leônidas da Silva",
|
||||
"minute": 18
|
||||
},
|
||||
{
|
||||
"name": "Leônidas",
|
||||
"name": "Leônidas da Silva",
|
||||
"minute": 93
|
||||
},
|
||||
{
|
||||
"name": "Leônidas",
|
||||
"name": "Leônidas da Silva",
|
||||
"minute": 104
|
||||
},
|
||||
{
|
||||
"name": "Romeu",
|
||||
"name": "Romeu Pellicciari",
|
||||
"minute": 25
|
||||
},
|
||||
{
|
||||
"name": "Perácio",
|
||||
"name": "José Perácio",
|
||||
"minute": 44
|
||||
},
|
||||
{
|
||||
"name": "Perácio",
|
||||
"name": "José Perácio",
|
||||
"minute": 71
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Scherfke",
|
||||
"name": "Friedrich Scherfke",
|
||||
"minute": 23,
|
||||
"penalty": true
|
||||
},
|
||||
{
|
||||
"name": "Wilimowski",
|
||||
"name": "Ernst Wilimowski",
|
||||
"minute": 53
|
||||
},
|
||||
{
|
||||
"name": "Wilimowski",
|
||||
"name": "Ernst Wilimowski",
|
||||
"minute": 59
|
||||
},
|
||||
{
|
||||
"name": "Wilimowski",
|
||||
"name": "Ernst Wilimowski",
|
||||
"minute": 89
|
||||
},
|
||||
{
|
||||
"name": "Wilimowski",
|
||||
"name": "Ernst Wilimowski",
|
||||
"minute": 118
|
||||
}
|
||||
],
|
||||
@@ -276,15 +276,15 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Košťálek",
|
||||
"name": "Josef Košťálek",
|
||||
"minute": 96
|
||||
},
|
||||
{
|
||||
"name": "Nejedlý",
|
||||
"name": "Oldřich Nejedlý",
|
||||
"minute": 111
|
||||
},
|
||||
{
|
||||
"name": "Zeman",
|
||||
"name": "Josef Zeman",
|
||||
"minute": 118
|
||||
}
|
||||
],
|
||||
@@ -304,29 +304,29 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Walaschek",
|
||||
"name": "Eugen Walaschek",
|
||||
"minute": 42
|
||||
},
|
||||
{
|
||||
"name": "Bickel",
|
||||
"name": "Alfred Bickel",
|
||||
"minute": 64
|
||||
},
|
||||
{
|
||||
"name": "Abegglen",
|
||||
"name": "André Abegglen",
|
||||
"minute": 75
|
||||
},
|
||||
{
|
||||
"name": "Abegglen",
|
||||
"name": "André Abegglen",
|
||||
"minute": 78
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Hahnemann",
|
||||
"name": "Wilhelm Hahnemann",
|
||||
"minute": 8
|
||||
},
|
||||
{
|
||||
"name": "Lörtscher",
|
||||
"name": "Ernst Lörtscher",
|
||||
"minute": 22,
|
||||
"owngoal": true
|
||||
}
|
||||
@@ -347,17 +347,17 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Socorro",
|
||||
"name": "Héctor Socorro",
|
||||
"minute": 51
|
||||
},
|
||||
{
|
||||
"name": "Fernández",
|
||||
"name": "Tomás Fernández",
|
||||
"minute": 57
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Dobay",
|
||||
"name": "Ștefan Dobay",
|
||||
"minute": 35
|
||||
}
|
||||
],
|
||||
@@ -377,11 +377,11 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "G. Sárosi",
|
||||
"name": "György Sárosi",
|
||||
"minute": 40
|
||||
},
|
||||
{
|
||||
"name": "Zsengellér",
|
||||
"name": "Gyula Zsengellér",
|
||||
"minute": 89
|
||||
}
|
||||
],
|
||||
@@ -401,35 +401,35 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "H. Andersson",
|
||||
"name": "Harry Andersson",
|
||||
"minute": 9
|
||||
},
|
||||
{
|
||||
"name": "H. Andersson",
|
||||
"name": "Harry Andersson",
|
||||
"minute": 81
|
||||
},
|
||||
{
|
||||
"name": "H. Andersson",
|
||||
"name": "Harry Andersson",
|
||||
"minute": 89
|
||||
},
|
||||
{
|
||||
"name": "Wetterström",
|
||||
"name": "Gustav Wetterström",
|
||||
"minute": 22
|
||||
},
|
||||
{
|
||||
"name": "Wetterström",
|
||||
"name": "Gustav Wetterström",
|
||||
"minute": 37
|
||||
},
|
||||
{
|
||||
"name": "Wetterström",
|
||||
"name": "Gustav Wetterström",
|
||||
"minute": 44
|
||||
},
|
||||
{
|
||||
"name": "Keller",
|
||||
"name": "Tore Keller",
|
||||
"minute": 80
|
||||
},
|
||||
{
|
||||
"name": "Nyberg",
|
||||
"name": "Arne Nyberg",
|
||||
"minute": 84
|
||||
}
|
||||
],
|
||||
@@ -449,21 +449,21 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Colaussi",
|
||||
"name": "Gino Colaussi",
|
||||
"minute": 9
|
||||
},
|
||||
{
|
||||
"name": "Piola",
|
||||
"name": "Silvio Piola",
|
||||
"minute": 51
|
||||
},
|
||||
{
|
||||
"name": "Piola",
|
||||
"name": "Silvio Piola",
|
||||
"minute": 72
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Heisserer",
|
||||
"name": "Oscar Heisserer",
|
||||
"minute": 10
|
||||
}
|
||||
],
|
||||
@@ -487,13 +487,13 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Leônidas",
|
||||
"name": "Leônidas da Silva",
|
||||
"minute": 30
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Nejedlý",
|
||||
"name": "Oldřich Nejedlý",
|
||||
"minute": 65,
|
||||
"penalty": true
|
||||
}
|
||||
@@ -514,17 +514,17 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Leônidas",
|
||||
"name": "Leônidas da Silva",
|
||||
"minute": 57
|
||||
},
|
||||
{
|
||||
"name": "Roberto",
|
||||
"name": "Roberto Emílio da Cunha",
|
||||
"minute": 62
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Kopecký",
|
||||
"name": "Vlastimil Kopecký",
|
||||
"minute": 25
|
||||
}
|
||||
],
|
||||
@@ -544,30 +544,30 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Jacobsson",
|
||||
"name": "Sven Jacobsson",
|
||||
"minute": 19,
|
||||
"owngoal": true
|
||||
},
|
||||
{
|
||||
"name": "Titkos",
|
||||
"name": "Pál Titkos",
|
||||
"minute": 37
|
||||
},
|
||||
{
|
||||
"name": "Zsengellér",
|
||||
"name": "Gyula Zsengellér",
|
||||
"minute": 39
|
||||
},
|
||||
{
|
||||
"name": "Zsengellér",
|
||||
"name": "Gyula Zsengellér",
|
||||
"minute": 85
|
||||
},
|
||||
{
|
||||
"name": "G. Sárosi",
|
||||
"name": "György Sárosi",
|
||||
"minute": 65
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Nyberg",
|
||||
"name": "Arne Nyberg",
|
||||
"minute": 1
|
||||
}
|
||||
],
|
||||
@@ -587,18 +587,18 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Colaussi",
|
||||
"name": "Gino Colaussi",
|
||||
"minute": 51
|
||||
},
|
||||
{
|
||||
"name": "Meazza",
|
||||
"name": "Giuseppe Meazza",
|
||||
"minute": 60,
|
||||
"penalty": true
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Romeu",
|
||||
"name": "Romeu Pellicciari",
|
||||
"minute": 87
|
||||
}
|
||||
],
|
||||
@@ -618,29 +618,29 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Romeu",
|
||||
"name": "Romeu Pellicciari",
|
||||
"minute": 44
|
||||
},
|
||||
{
|
||||
"name": "Leônidas",
|
||||
"name": "Leônidas da Silva",
|
||||
"minute": 63
|
||||
},
|
||||
{
|
||||
"name": "Leônidas",
|
||||
"name": "Leônidas da Silva",
|
||||
"minute": 74
|
||||
},
|
||||
{
|
||||
"name": "Perácio",
|
||||
"name": "José Perácio",
|
||||
"minute": 80
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Jonasson",
|
||||
"name": "Sven Jonasson",
|
||||
"minute": 28
|
||||
},
|
||||
{
|
||||
"name": "Nyberg",
|
||||
"name": "Arne Nyberg",
|
||||
"minute": 38
|
||||
}
|
||||
],
|
||||
@@ -660,29 +660,29 @@
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Colaussi",
|
||||
"name": "Gino Colaussi",
|
||||
"minute": 6
|
||||
},
|
||||
{
|
||||
"name": "Colaussi",
|
||||
"name": "Gino Colaussi",
|
||||
"minute": 35
|
||||
},
|
||||
{
|
||||
"name": "Piola",
|
||||
"name": "Silvio Piola",
|
||||
"minute": 16
|
||||
},
|
||||
{
|
||||
"name": "Piola",
|
||||
"name": "Silvio Piola",
|
||||
"minute": 82
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Titkos",
|
||||
"name": "Pál Titkos",
|
||||
"minute": 8
|
||||
},
|
||||
{
|
||||
"name": "G. Sárosi",
|
||||
"name": "György Sárosi",
|
||||
"minute": 70
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user