Files
valknar 7e4bf2d07c fix: retry failed group subpages, add rate-limit detection in scraper
- Detect Wikipedia plain-text rate-limit response ("You are making too many
  requests") and wait 30s before retrying, rather than silently failing
- Increase inter-attempt delay from 3s to 15s per attempt
- Increase group subpage delay from 1.2s to 3s, year delay from 0.6s to 2s
- Re-scrape 1982, 1998, 2002, 2006 which had failed groups; all groups now
  complete — e.g. 2002 now has 64 matches including Group E (Germany/Klose)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 18:44:54 +02:00

1103 lines
21 KiB
JSON

{
"matches": [
{
"round": "Third-place match",
"date": "1978-06-24",
"time": "15:00",
"team1": "Brazil",
"team2": "Italy",
"score": {
"ft": [
2,
1
]
},
"goals1": [
{
"name": "Nelinho",
"minute": 64
},
{
"name": "Dirceu",
"minute": 71
}
],
"goals2": [
{
"name": "Franco Causio",
"minute": 38
}
],
"ground": "River Plate Stadium, Buenos Aires"
},
{
"round": "Final",
"date": "1978-06-25",
"time": "15:00",
"team1": "Argentina",
"team2": "Netherlands",
"score": {
"ft": [
1,
1
],
"et": [
3,
1
]
},
"goals1": [
{
"name": "Mario Kempes",
"minute": 38
},
{
"name": "Mario Kempes",
"minute": 105
},
{
"name": "Daniel Bertoni",
"minute": 115
}
],
"goals2": [
{
"name": "Dick Nanninga",
"minute": 82
}
],
"ground": "River Plate Stadium, Buenos Aires"
},
{
"round": "Group stage",
"group": "Group 1",
"date": "1978-06-02",
"time": "13:45",
"team1": "Italy",
"team2": "France",
"score": {
"ft": [
2,
1
]
},
"goals1": [
{
"name": "Paolo Rossi",
"minute": 29
},
{
"name": "Renato Zaccarelli",
"minute": 54
}
],
"goals2": [
{
"name": "Bernard Lacombe",
"minute": 1
}
],
"ground": "Estadio José María Minella, Mar del Plata"
},
{
"round": "Group stage",
"group": "Group 1",
"date": "1978-06-02",
"time": "19:15",
"team1": "Argentina",
"team2": "Hungary",
"score": {
"ft": [
2,
1
]
},
"goals1": [
{
"name": "Leopoldo Luque",
"minute": 14
},
{
"name": "Daniel Bertoni",
"minute": 83
}
],
"goals2": [
{
"name": "Károly Csapó",
"minute": 9
}
],
"ground": "Estadio Monumental, Buenos Aires"
},
{
"round": "Group stage",
"group": "Group 1",
"date": "1978-06-06",
"time": "13:45",
"team1": "Italy",
"team2": "Hungary",
"score": {
"ft": [
3,
1
]
},
"goals1": [
{
"name": "Paolo Rossi",
"minute": 34
},
{
"name": "Roberto Bettega",
"minute": 35
},
{
"name": "Romeo Benetti",
"minute": 61
}
],
"goals2": [
{
"name": "András Tóth",
"minute": 81,
"penalty": true
}
],
"ground": "Estadio José María Minella, Mar del Plata"
},
{
"round": "Group stage",
"group": "Group 1",
"date": "1978-06-06",
"time": "19:15",
"team1": "Argentina",
"team2": "France",
"score": {
"ft": [
2,
1
]
},
"goals1": [
{
"name": "Daniel Passarella",
"minute": 45,
"penalty": true
},
{
"name": "Leopoldo Luque",
"minute": 73
}
],
"goals2": [
{
"name": "Michel Platini",
"minute": 60
}
],
"ground": "Estadio Monumental, Buenos Aires"
},
{
"round": "Group stage",
"group": "Group 1",
"date": "1978-06-10",
"time": "14:30",
"team1": "France",
"team2": "Hungary",
"score": {
"ft": [
3,
1
]
},
"goals1": [
{
"name": "Christian Lopez",
"minute": 23
},
{
"name": "Marc Berdoll",
"minute": 38
},
{
"name": "Dominique Rocheteau",
"minute": 42
}
],
"goals2": [
{
"name": "Sándor Zombori",
"minute": 41
}
],
"ground": "Estadio José María Minella, Mar del Plata"
},
{
"round": "Group stage",
"group": "Group 1",
"date": "1978-06-10",
"time": "19:15",
"team1": "Argentina",
"team2": "Italy",
"score": {
"ft": [
0,
1
]
},
"goals2": [
{
"name": "Roberto Bettega",
"minute": 67
}
],
"ground": "Estadio Monumental, Buenos Aires"
},
{
"round": "Group stage",
"group": "Group 2",
"date": "1978-06-01",
"time": "15:00",
"team1": "Germany",
"team2": "Poland",
"score": {
"ft": [
0,
0
]
},
"ground": "Estadio Monumental, Buenos Aires"
},
{
"round": "Group stage",
"group": "Group 2",
"date": "1978-06-02",
"time": "16:45",
"team1": "Tunisia",
"team2": "Mexico",
"score": {
"ft": [
3,
1
]
},
"goals1": [
{
"name": "Ali Kaabi",
"minute": 55
},
{
"name": "Néjib Ghommidh",
"minute": 79
},
{
"name": "Mokhtar Dhouieb",
"minute": 87
}
],
"goals2": [
{
"name": "Arturo Vázquez Ayala",
"minute": 45,
"penalty": true
}
],
"ground": "Estadio Gigante de Arroyito, Rosario"
},
{
"round": "Group stage",
"group": "Group 2",
"date": "1978-06-06",
"time": "16:45",
"team1": "Germany",
"team2": "Mexico",
"score": {
"ft": [
6,
0
]
},
"goals1": [
{
"name": "Dieter Müller",
"minute": 15
},
{
"name": "Hansi Müller",
"minute": 30
},
{
"name": "Karl-Heinz Rummenigge",
"minute": 38
},
{
"name": "Karl-Heinz Rummenigge",
"minute": 73
},
{
"name": "Heinz Flohe",
"minute": 44
},
{
"name": "Heinz Flohe",
"minute": 89
}
],
"ground": "Estadio Chateau Carreras, Córdoba"
},
{
"round": "Group stage",
"group": "Group 2",
"date": "1978-06-06",
"time": "16:45",
"team1": "Poland",
"team2": "Tunisia",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Grzegorz Lato",
"minute": 43
}
],
"ground": "Estadio Gigante de Arroyito, Rosario"
},
{
"round": "Group stage",
"group": "Group 2",
"date": "1978-06-10",
"time": "16:45",
"team1": "Germany",
"team2": "Tunisia",
"score": {
"ft": [
0,
0
]
},
"ground": "Estadio Olímpico Chateau Carreras, Córdoba"
},
{
"round": "Group stage",
"group": "Group 2",
"date": "1978-06-10",
"time": "16:45",
"team1": "Poland",
"team2": "Mexico",
"score": {
"ft": [
3,
1
]
},
"goals1": [
{
"name": "Zbigniew Boniek",
"minute": 43
},
{
"name": "Zbigniew Boniek",
"minute": 84
},
{
"name": "Kazimierz Deyna",
"minute": 56
}
],
"goals2": [
{
"name": "Víctor Rangel",
"minute": 52
}
],
"ground": "Estadio Gigante de Arroyito, Rosario"
},
{
"round": "Group stage",
"group": "Group 3",
"date": "1978-06-03",
"time": "13:45",
"team1": "Austria",
"team2": "Spain",
"score": {
"ft": [
2,
1
]
},
"goals1": [
{
"name": "Walter Schachner",
"minute": 10
},
{
"name": "Hans Krankl",
"minute": 76
}
],
"goals2": [
{
"name": "Dani",
"minute": 21
}
],
"ground": "Estadio José Amalfitani, Buenos Aires"
},
{
"round": "Group stage",
"group": "Group 3",
"date": "1978-06-03",
"time": "13:45",
"team1": "Brazil",
"team2": "Sweden",
"score": {
"ft": [
1,
1
]
},
"goals1": [
{
"name": "Reinaldo",
"minute": 45
}
],
"goals2": [
{
"name": "Thomas Sjöberg",
"minute": 37
}
],
"ground": "Estadio José Maria Minella, Mar del Plata"
},
{
"round": "Group stage",
"group": "Group 3",
"date": "1978-06-07",
"time": "13:45",
"team1": "Austria",
"team2": "Sweden",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Hans Krankl",
"minute": 42,
"penalty": true
}
],
"ground": "Estadio José Amalfitani, Buenos Aires"
},
{
"round": "Group stage",
"group": "Group 3",
"date": "1978-06-07",
"time": "13:45",
"team1": "Brazil",
"team2": "Spain",
"score": {
"ft": [
0,
0
]
},
"ground": "Estadio José Maria Minella, Mar del Plata"
},
{
"round": "Group stage",
"group": "Group 3",
"date": "1978-06-11",
"time": "13:45",
"team1": "Spain",
"team2": "Sweden",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Juan Manuel Asensi",
"minute": 75
}
],
"ground": "Estadio José Amalfitani, Buenos Aires"
},
{
"round": "Group stage",
"group": "Group 3",
"date": "1978-06-11",
"time": "13:45",
"team1": "Brazil",
"team2": "Austria",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Roberto Dinamite",
"minute": 40
}
],
"ground": "Estadio José Maria Minella, Mar del Plata"
},
{
"round": "Group stage",
"group": "Group 4",
"date": "1978-06-03",
"time": "16:45",
"team1": "Peru",
"team2": "Scotland",
"score": {
"ft": [
3,
1
]
},
"goals1": [
{
"name": "César Cueto",
"minute": 43
},
{
"name": "Teófilo Cubillas",
"minute": 71
},
{
"name": "Teófilo Cubillas",
"minute": 77
}
],
"goals2": [
{
"name": "Joe Jordan",
"minute": 14
}
],
"ground": "Chateau Carreras, Córdoba"
},
{
"round": "Group stage",
"group": "Group 4",
"date": "1978-06-03",
"time": "16:45",
"team1": "Netherlands",
"team2": "Iran",
"score": {
"ft": [
3,
0
]
},
"goals1": [
{
"name": "Rob Rensenbrink",
"minute": 40,
"penalty": true
},
{
"name": "Rob Rensenbrink",
"minute": 62
},
{
"name": "Rob Rensenbrink",
"minute": 78,
"penalty": true
}
],
"ground": "Estadio Ciudad de Mendoza, Mendoza"
},
{
"round": "Group stage",
"group": "Group 4",
"date": "1978-06-07",
"time": "16:45",
"team1": "Scotland",
"team2": "Iran",
"score": {
"ft": [
1,
1
]
},
"goals1": [
{
"name": "Andranik Eskandarian",
"minute": 43,
"owngoal": true
}
],
"goals2": [
{
"name": "Iraj Danaeifard",
"minute": 60
}
],
"ground": "Estadio Chateau Carreras, Córdoba"
},
{
"round": "Group stage",
"group": "Group 4",
"date": "1978-06-07",
"time": "16:45",
"team1": "Netherlands",
"team2": "Peru",
"score": {
"ft": [
0,
0
]
},
"ground": "Estadio Ciudad de Mendoza, Mendoza"
},
{
"round": "Group stage",
"group": "Group 4",
"date": "1978-06-11",
"time": "16:45",
"team1": "Peru",
"team2": "Iran",
"score": {
"ft": [
4,
1
]
},
"goals1": [
{
"name": "José Velásquez",
"minute": 2
},
{
"name": "Teófilo Cubillas",
"minute": 36,
"penalty": true
},
{
"name": "Teófilo Cubillas",
"minute": 39,
"penalty": true
},
{
"name": "Teófilo Cubillas",
"minute": 79
}
],
"goals2": [
{
"name": "Hassan Rowshan",
"minute": 41
}
],
"ground": "Estadio Chateau Carreras, Córdoba"
},
{
"round": "Group stage",
"group": "Group 4",
"date": "1978-06-11",
"time": "16:45",
"team1": "Scotland",
"team2": "Netherlands",
"score": {
"ft": [
3,
2
]
},
"goals1": [
{
"name": "Kenny Dalglish",
"minute": 45
},
{
"name": "Archie Gemmill",
"minute": 46,
"penalty": true
},
{
"name": "Archie Gemmill",
"minute": 68
}
],
"goals2": [
{
"name": "Rob Rensenbrink",
"minute": 34,
"penalty": true
},
{
"name": "Johnny Rep",
"minute": 71
}
],
"ground": "Estadio Ciudad de Mendoza, Mendoza"
},
{
"round": "Second group stage",
"group": "Group A",
"date": "1978-06-14",
"time": "13:45",
"team1": "Austria",
"team2": "Netherlands",
"score": {
"ft": [
1,
5
]
},
"goals1": [
{
"name": "Erich Obermayer",
"minute": 80
}
],
"goals2": [
{
"name": "Ernie Brandts",
"minute": 6
},
{
"name": "Rob Rensenbrink",
"minute": 35,
"penalty": true
},
{
"name": "Johnny Rep",
"minute": 36
},
{
"name": "Johnny Rep",
"minute": 53
},
{
"name": "Willy van de Kerkhof",
"minute": 82
}
],
"ground": "Estadio Chateau Carreras, Córdoba"
},
{
"round": "Second group stage",
"group": "Group A",
"date": "1978-06-14",
"time": "13:45",
"team1": "Italy",
"team2": "Germany",
"score": {
"ft": [
0,
0
]
},
"ground": "Estadio Monumental, Buenos Aires"
},
{
"round": "Second group stage",
"group": "Group A",
"date": "1978-06-18",
"time": "16:45",
"team1": "Netherlands",
"team2": "Germany",
"score": {
"ft": [
2,
2
]
},
"goals1": [
{
"name": "Arie Haan",
"minute": 27
},
{
"name": "René van de Kerkhof",
"minute": 82
}
],
"goals2": [
{
"name": "Rüdiger Abramczik",
"minute": 3
},
{
"name": "Dieter Müller",
"minute": 70
}
],
"ground": "Estadio Chateau Carreras, Córdoba"
},
{
"round": "Second group stage",
"group": "Group A",
"date": "1978-06-18",
"time": "16:45",
"team1": "Italy",
"team2": "Austria",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Paolo Rossi",
"minute": 13
}
],
"ground": "Estadio Monumental, Buenos Aires"
},
{
"round": "Second group stage",
"group": "Group A",
"date": "1978-06-21",
"time": "13:45",
"team1": "Austria",
"team2": "Germany",
"score": {
"ft": [
3,
2
]
},
"goals1": [
{
"name": "Berti Vogts",
"minute": 59,
"owngoal": true
},
{
"name": "Hans Krankl",
"minute": 66
},
{
"name": "Hans Krankl",
"minute": 87
}
],
"goals2": [
{
"name": "Karl-Heinz Rummenigge",
"minute": 19
},
{
"name": "Bernd Hölzenbein",
"minute": 68
}
],
"ground": "Estadio Olímpico Chateau Carreras, Córdoba"
},
{
"round": "Second group stage",
"group": "Group A",
"date": "1978-06-21",
"time": "13:45",
"team1": "Italy",
"team2": "Netherlands",
"score": {
"ft": [
1,
2
]
},
"goals1": [
{
"name": "Ernie Brandts",
"minute": 19,
"owngoal": true
}
],
"goals2": [
{
"name": "Ernie Brandts",
"minute": 49
},
{
"name": "Arie Haan",
"minute": 76
}
],
"ground": "Estadio Monumental, Buenos Aires"
},
{
"round": "Second group stage",
"group": "Group B",
"date": "1978-06-14",
"time": "16:45",
"team1": "Brazil",
"team2": "Peru",
"score": {
"ft": [
3,
0
]
},
"goals1": [
{
"name": "Dirceu",
"minute": 15
},
{
"name": "Dirceu",
"minute": 27
},
{
"name": "Zico",
"minute": 72,
"penalty": true
}
],
"ground": "Estadio Malvinas Argentinas, Mendoza"
},
{
"round": "Second group stage",
"group": "Group B",
"date": "1978-06-14",
"time": "19:15",
"team1": "Argentina",
"team2": "Poland",
"score": {
"ft": [
2,
0
]
},
"goals1": [
{
"name": "Mario Kempes",
"minute": 16
},
{
"name": "Mario Kempes",
"minute": 71
}
],
"ground": "Estadio Gigante de Arroyito, Rosario"
},
{
"round": "Second group stage",
"group": "Group B",
"date": "1978-06-18",
"time": "13:45",
"team1": "Peru",
"team2": "Poland",
"score": {
"ft": [
0,
1
]
},
"goals2": [
{
"name": "Andrzej Szarmach",
"minute": 65
}
],
"ground": "Estadio Ciudad de Mendoza, Mendoza"
},
{
"round": "Second group stage",
"group": "Group B",
"date": "1978-06-18",
"time": "19:15",
"team1": "Argentina",
"team2": "Brazil",
"score": {
"ft": [
0,
0
]
},
"ground": "Estadio Gigante de Arroyito, Rosario"
},
{
"round": "Second group stage",
"group": "Group B",
"date": "1978-06-21",
"time": "16:45",
"team1": "Brazil",
"team2": "Poland",
"score": {
"ft": [
3,
1
]
},
"goals1": [
{
"name": "Nelinho",
"minute": 13
},
{
"name": "Roberto Dinamite",
"minute": 58
},
{
"name": "Roberto Dinamite",
"minute": 63
}
],
"goals2": [
{
"name": "Grzegorz Lato",
"minute": 45
}
],
"ground": "Estadio Malvinas Argentinas, Mendoza"
},
{
"round": "Second group stage",
"group": "Group B",
"date": "1978-06-21",
"time": "19:15",
"team1": "Argentina",
"team2": "Peru",
"score": {
"ft": [
6,
0
]
},
"goals1": [
{
"name": "Mario Kempes",
"minute": 21
},
{
"name": "Mario Kempes",
"minute": 49
},
{
"name": "Alberto Tarantini",
"minute": 43
},
{
"name": "Leopoldo Luque",
"minute": 50
},
{
"name": "Leopoldo Luque",
"minute": 72
},
{
"name": "René Houseman",
"minute": 67
}
],
"ground": "Estadio Gigante de Arroyito, Rosario"
}
]
}