2017-11-12 2 views
1

ich eine Tabelle/Datenrahmen/csv-Datei zu erstellen Ich versuche, die wie folgt aussieht:rvest: versuchen, eine CSV/Tabelle aus einer Website zu bauen

([City1, State1], OverallScore1, QualityOfLife1, Value1) 
([City2, State2], OverallScore2, QualityOfLife2, Value2) 
... 
([CityN, StateN], OverallScoreN, QualityOfLifeN, ValueN) 

ich nur eine von jedem der Lage bin, zu greifen drei Werte (OverallScore, QualityOfLife und Value) für einen einzigen (City, State) mit dem Code:

library(rvest) 
live_movie <- read_html("https://realestate.usnews.com/places/rankings/best-places-to-live") 
live %>% 
    html_node('#main-well') %>% 
    html_node('.text-large-for-small-only') %>% 
    html_text() 

gibt es eine Möglichkeit alle zuvor genannten Felder in einem Rutsch zu greifen?

+0

@hrbrmstr welcher Teil würde die obige Operation verletzen? – user2205916

+0

@hrbrmstr Diese Daten sind für mich persönlich bestimmt. Ich bin daran interessiert, Informationen über Orte zu sammeln, die ich in Betracht ziehen sollte. – user2205916

Antwort

0

Bitte verwenden Sie den Code gemäß den in den Kommentaren genannten Richtlinien.

library(rvest) 
url<- "https://realestate.usnews.com/places/rankings/best-places-to-live" 
page<-read_html(url) 

overall_score<-html_nodes(page,css=".text-tightest:nth-child(1) .text-coal") %>% html_text() 
overall_score<-as.numeric(gsub(" Overall Score","",overall_score)) 

life_quality<-html_nodes(page, css=".text-tightest:nth-child(2) .text-coal") %>% html_text() 
life_quality<-as.numeric(gsub("[\r\n QualityofLife]", "", life_quality)) 

value<-html_nodes(page, css=".border-left-for-medium-up+ .text-tightest .text-coal") %>% html_text() 
value<-as.numeric(gsub("[\r\n Value]", "", value)) 

heading<-html_nodes(page, css=".heading-large a") %>% html_text() 
city<-sapply(heading,function(x){strsplit(x,split=", ")[[1]][1]}) 
state<-sapply(heading,function(x){strsplit(x,split=", ")[[1]][2]}) 


real_estate<-data.frame(city,state,overall_score,life_quality,value, row.names = NULL) 
Verwandte Themen