Bruge R-studio til at downloade samtlige UCL-kampe siden 2001

Author:

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")
  }
}