假设我想从本页面获得有关设施的信息(https://www.airbnb.com/rooms/6676364)。它只适用于可见部分。 但是如何从“+更多”按钮提取其余部分?r。如何从(“+更多”等)刮取数据。
我在xpathSApply的帮助下从“源代码”尝试了节点,但它返回“+更多”。 你知道这个问题的解决方案吗?
我RSelenium方法:
url <- "https://www.airbnb.com/rooms/12344760"
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)
remDr$navigate(url)
var <- remDr$findElement('id','details') ### extracting all table###
vartxt <- var$getElementAttribute("outerHTML")[[1]]
varxml <- htmlParse(vartxt, useInternalNodes=T)
Amenities <- xpathSApply(varxml,"//div[@class = expandable-content expandable-content-full']",xmlValue)
也不起作用
您可以使用[RSelenium](https://cran.r-project.org /web/packages/RSelenium/vignettes/RSelenium-basics.html)能够与页面进行交互,即单击“+更多”链接以显示完整的设施列表......然后,您可以将源代码从RSelenium传递到xpathSApply ,如果你喜欢 – har07
我也尝试过这种方法,但对我来说它也行不通。 如果可能的话,你可以提供一些代码吗? – YNWA1992
我已经发布了一个答案,解释了我会做的解决这个问题的步骤,即使我不习惯在R代码(只尝试RSelenium [曾]](http://stackoverflow.com/questions/29713443/scraping- data-from-tripadvisor-using-r/29713938#29713938)) – har07