Jeg har forsat med at hamstre data. I dag har jeg leget med Uefas hjemmeside. Og der er uanede mængder af fodbolddata at hente.
F.eks. er der samtlige Uefa Champions League kampe siden Ruder Konge var Røv. ..
Sortering af kampe er en mere avanceret opgave, men hamstringen af dataen er så standard som var det Superliga.dk
Det hele handlede om at finde en god matchcenter url via Chrome.
Jeg fandt UefaMatchCenter-basisurl, der giver data fra futsall, U19 kampe og alt muligt andet. Da UCL er nummer 1 pengemaskine hos Uefa, har UCL selvfølgelig ID=1, og derfor var det efterfølgende ingen sag at downloade for 300 mb kampdata om cirka 3-4000 UCL kampe fra kvalstadie til finale fra 2001 og frem til i dag. Har man lyst til at hente data tilbage fra Ruder Kongens tid er dette også muligt.
Jeg benyttede flg. script til opgaven:
library(httr)
library(jsonlite)
library(fs)
# Definer basisinformation
base_url <- "https://match.uefa.com/v5/matches"
competitionId <- "1"
base_folder <- "CL"
# Opret 'CL' mappen, hvis den ikke eksisterer
dir_create(base_folder)
# Definer start- og slutdatoer for perioden
start_year <- 2001
end_year <- 2022
for (year in start_year:end_year) {
fromDate <- paste(year, "-06-15", sep = "")
toDate <- paste(year + 1, "-06-15", sep = "")
# Byg URL
query_url <- sprintf("%s?competitionId=%s&fromDate=%s&toDate=%s&limit=500&offset=0&order=ASC&utcOffset=1",
base_url, competitionId, fromDate, toDate)
# Hent data
response <- GET(query_url)
# Tjek om forespørgslen var succesfuld
if (status_code(response) == 200) {
# Parse JSON-data
data <- content(response, "text", encoding = "UTF-8")
json_data <- fromJSON(data, flatten = TRUE)
# Gem data som JSON-fil
file_name <- paste0(base_folder, "/CL_", year, "_to_", year+1, ".json")
write_json(json_data, path = file_name)
} else {
cat("Failed to retrieve data for season starting in", year, "\n")
}
}