假設我想從本頁面獲得有關設施的信息(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