例如,我想从这个网页(空间,设施,价格......和评论)中删除数据 https://www.airbnb.com/rooms/9985824?guests=1&s=d2dNfFMd
我想用于此目的rselenium包。 这是我的代码:
BoltParallelism
然后在SelectorGadget的帮助下,我发现,我认为正确的抓取元素:
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)
我的问题是:如何将其带入文本(字符串)? 或者也许存在使用rselenium收集数据的其他方法。
非常感谢
答案 0 :(得分:1)
我不确定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"
从这里,您可以解析字符串或执行其他数据收集。