#' @title Scrape Player IDs From NBA.com
#' @description scrapes all players IDS from nba.com API
#' @keywords NBA stat.nba.com
#' @importFrom magrittr %>%
#' @export
#' @examples
#' get_player_ids()
get_player_ids <- function(baseurl='https://stats.nba.com/stats/commonallplayers/?', league_id = '00',
season = '2018-19',curr_season = 0, save=T) {
url <- paste0(baseurl,
'LeagueID=',league_id,
'&Season=', season,
'&IsOnlyCurrentSeason=', curr_season)
player_info <-
curl::curl(url) %>%
jsonlite::fromJSON(simplifyVector = T)
player_info_df <- data.frame(player_info$resultSets$rowSet[[1]], stringsAsFactors = F)
names(player_info_df) = tolower(player_info$resultSets$headers[[1]])
player_info_df <- player_info_df %>%
dplyr::select(person_id, display_last_comma_first, display_first_last, from_year, to_year) %>%
dplyr::rename(player_id = person_id,
player_name_comma = display_last_comma_first,
player_name = display_first_last,
init_year = from_year,
final_year = to_year) %>%
dplyr::mutate(player_id = as.numeric(player_id),
init_year = as.numeric(init_year),
final_year = as.numeric(final_year),
player_name_comma = tolower(player_name_comma),
player_name = tolower(player_name))
if (save==T) {
utils::write.csv(player_info_df, file = 'data-raw/player_ids.csv', row.names = FALSE)
}
return(player_info_df)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.