2017-01-12 3 views
1

Я хотел бы, чтобы очистить таблицу статистики НБА команды с rvest, я попытался с помощью:Зачистка таблица статистики НБА с rvest

  1. таблица элементов

    library(rvest) 
    
    url_nba <- "http://stats.nba.com/teams/advanced/#!?sort=TEAM_NAME&dir=-1" 
    
    team_stats <- url_nba %>% read_html %>% html_nodes('table') %>% html_table 
    
  2. в XPath (через Google Chrome проверить)

    team_stats <- url_nba %>% 
         read_html %>% 
         html_nodes(xpath="/html/body/main/div[2]/div/div[2]/div/div/nba-stat-table/div[1]/div[1]/table") %>% 
         html_table 
    
  3. селектор CSS (с помощью Mozilla проверить):

, но не повезло. Любая помощь будет принята с благодарностью.

+0

и ваш поиск google 'r rvest nba' был абсолютно бесплодным? – hrbrmstr

ответ

1

Этот вопрос очень похож на этот: How to select a particular section of JSON Data in R?

Данные, которые вы запрашиваете не хранится в HTML коде, таким образом, неудачи с использованием rvest. Запрашиваемые данные хранятся в виде XHR файл, который и может быть доступен непосредственно:

library(httr) 
library(jsonlite) 

nba<-GET('http://stats.nba.com/stats/leaguedashteamstats?Conference=&DateFrom=&DateTo=&Division=&GameScope=&GameSegment=&LastNGames=0&LeagueID=00&Location=&MeasureType=Advanced&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&PerMode=PerGame&Period=0&PlayerExperience=&PlayerPosition=&PlusMinus=N&Rank=N&Season=2016-17&SeasonSegment=&SeasonType=Regular+Season&ShotClockRange=&StarterBench=&TeamID=0&VsConference=&VsDivision=') 

После того как данные загружены в НБ переменного, используя HTTR и jsonlite по очистке данных:

#access the data 
out<- content(nba, as="text") %>% fromJSON(flatten=FALSE) 

#convert into dataframe. 
# str(out) to determine the structure 
df<-data.frame(out$resultSets$rowSet) 
names(df)<-out$resultSets$headers[[1]] 

Я настоятельно рекомендую прочитать ответ на вопрос, который я связал выше.

Смежные вопросы