2017-01-12 3 views
1

とNBAの統計情報のテーブルを掻き取り、私が使用して試してみた:私はrvestでNBAチームの統計情報のテーブルをこすりしたい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のクロムを介して検査)

    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セレクタ(モジラを介して検査):

が、運を持ちます。どんな助けでも大歓迎です。

+0

と 'r rvest nba'のGoogle検索は完全に無駄でしたか? – hrbrmstr

答えて

1

この質問はこの1つに非常に似ています。How to select a particular section of JSON Data in R?

あなたが要求しているデータは、このように障害がrvestを使用して、HTMLコードに格納されていません。

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を使用して、NBA変数にロードされると:

#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]] 
を要求されたデータが直接アクセスすることができるXHRファイルとして保存され

上記のリンク先の質問への回答を読むことを強くお勧めします。

関連する問題