library(rvest) library(httr) library(dplyr) library(tidyr) library(htmlwidgets) library(highcharter) urls <- c("http://www.baseball-reference.com/players/gl.cgi?id=saundmi01&t=b&year=2016", "http://www.baseball-reference.com/players/gl.cgi?id=tulowtr01&t=b&year=2016", "http://www.baseball-reference.com/players/gl.cgi?id=bautijo02&t=b&year=2016", "http://www.baseball-reference.com/players/gl.cgi?id=donaljo02&t=b&year=2016", "http://www.baseball-reference.com/players/gl.cgi?id=pillake01&t=b&year=2016", "http://www.baseball-reference.com/players/gl.cgi?id=encared01&t=b&year=2016") bind_rows(lapply(urls, function(x) { data.frame(name = read_html(x[1]) %>% html_nodes(css = '#player_name') %>% html_text(), dat = read_html(x[1]) %>% html_nodes(css = 'td:nth-child(4) a') %>% html_text(), ops = read_html(x[1]) %>% html_nodes(css = 'tbody td:nth-child(31)') %>% html_text(), stringsAsFactors = FALSE) })) -> df df$OPS <- as.numeric(df$ops) df$date <- as.Date(df$dat, format = '%b %d') df <- df %>% select(-ops, -dat) dfs <- df %>% filter(date >= "2016-04-17") hchart2 <- hchart(dfs, "line", x = date, y = OPS, group = name) %>% hc_add_theme(hc_theme_google()) saveWidget(hchart2, file="players.html") mvps <- c("http://www.baseball-reference.com/players/gl.cgi?id=troutmi01&t=b&year=2016", "http://www.baseball-reference.com/players/gl.cgi?id=altuvjo01&t=b&year=2016", "http://www.baseball-reference.com/players/gl.cgi?id=donaljo02&t=b&year=2016", "http://www.baseball-reference.com/players/gl.cgi?id=bryankr01&t=b&year=2016", "http://www.baseball-reference.com/players/gl.cgi?id=bettsmo01&t=b&year=2016") bind_rows(lapply(mvps, function(x) { data.frame(name = read_html(x[1]) %>% html_nodes(css = '#player_name') %>% html_text(), dat = read_html(x[1]) %>% html_nodes(css = 'td:nth-child(4) a') %>% html_text(), ops = read_html(x[1]) %>% html_nodes(css = 'tbody td:nth-child(31)') %>% html_text(), stringsAsFactors = FALSE) })) -> dfmvp dfmvp$OPS <- as.numeric(dfmvp$ops) dfmvp$date <- as.Date(dfmvp$dat, format = '%b %d') dfmvp <- dfmvp %>% select(-ops, -dat) dfsmvp <- dfmvp %>% filter(date >= "2016-04-17") hchart.mvp <- hchart(dfsmvp, "line", x = date, y = OPS, group = name) %>% hc_add_theme(hc_theme_google()) saveWidget(hchart.mvp, file="mvps.html")