2016-06-01 8 views
0

Zum Beispiel möchte ich die Daten von dieser Web-Seite (der Raum, Ausstattung, Preise ... und Bewertungen kratzen https://www.airbnb.com/rooms/9985824?guests=1&s=d2dNfFMdRselenium Web-Scraping mit R

ich für diesen Zweck rselenium Paket verwenden möchten . mein Code Dies ist:

url <- "https://www.airbnb.com/rooms/9985824?guests=1&s=d2dNfFMd" 
library('RSelenium') 
pJS <- phantom() 
library('XML') 
shell.exec(paste0("C:\\Users\\Daniil\\Desktop\\R-language,Python\\file.bat")) 
Sys.sleep(10) 

checkForServer() 
startServer() 
remDr <- remoteDriver(browserName="chrome", port=4444) 
remDr$open(silent=T) 

und dann mit Hilfe von SelectorGadget fand ich, glaube ich, richtigen Elemente für Schaben:

var <- remDr$findElements('css selector','#details hr+ .row') 

Meine Frage ist: Wie kann ich es in den Text (Zeichenketten) bringen? Oder vielleicht existiert andere Ansatz mit Rselenium zum Sammeln von Daten.

Vielen Dank

Antwort

0

Ich bin mir nicht sicher, was in file.bat ist, aber es scheint, dass Sie in erster Linie daran interessiert sind, Daten über die Annehmlichkeiten der Auflistung zu sammeln. Früher habe ich firefox einfach und übersprungen die PhantomJS Teile des Codes:

url <- "https://www.airbnb.com/rooms/9985824?guests=1&s=d2dNfFMd" 

library('RSelenium') 

checkForServer() 
startServer() 
remDr <- remoteDriver(browserName="firefox", port=4444) 
remDr$open(silent=T) 
remDr$navigate(url) 

var <- remDr$findElement('css selector','#details hr+ .row') 

print(var$getElementText()) 
[[1]] 
[1] "The Space\nAccommodates: 2\nBathrooms: 1.5\nBed type: Real Bed\nBedrooms: 1\nBeds: 1\nProperty type: Apartment\nRoom type: Private room\nHouse Rules" 

Von hier aus können Sie die Zeichenfolge analysieren oder zusätzliche Datenerfassung durchzuführen.