2016-06-01 11 views
0

Например, я хочу, чтобы очистить данные из этой веб-страницы (пространство, удобство, цены ... и отзывы https://www.airbnb.com/rooms/9985824?guests=1&s=d2dNfFMdRselenium веб-соскоб с R

я хочу использовать для этой цели rselenium пакета . Это мой код:

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) 

, а затем с помощью SelectorGadget я нашел, я думаю, правильные элементы для соскабливания:

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

Мой вопрос: как я могу привести его в текст (символьные строки)? Возможно, существует другой подход с rselenium для сбора данных.

Большое спасибо

ответ

0

Я не уверен, что в file.bat, но в этом случае вы в первую очередь заинтересованы в сборе данных о прелестях перечисления. Я просто использовал Firefox и пропускаюсь над phantomjs частями коды:

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" 

Здесь вы можете разобрать строку или выполнить дополнительный сбор данных.