download-data.R 649 B

123456789101112131415161718192021222324
  1. library(rvest)
  2. # link to data
  3. webpage <- read_html("https://eightthirtyfour.com/data")
  4. datalinks <- webpage %>%
  5. html_nodes(xpath = '//*[contains(concat( " ", @class, " " ), concat( " ", "centertable", " " ))]') %>%
  6. html_table(fill = TRUE)
  7. # base url for links
  8. base_url <- "https://eightthirtyfour.com/nba/pbp/"
  9. filenames <- datalinks[[1]] %>%
  10. dplyr::filter(Season != "all seasons (zip)") %>%
  11. dplyr::pull(CSV)
  12. download_links <- paste0(base_url, filenames)
  13. if(!"data" %in% list.files()) {fs::dir_create("data")}
  14. purrr::map2(.x = download_links,
  15. .y = paste0("../data/", filenames),
  16. ~download.file(.x, .y))