使用 Rselenium 进行网页抓取。没有 return 完整信息

Web-scraping with Rselenium. Doesn't return full information

我想从这个网页上抓取所有评论,例如: https://www.airbnb.com/rooms/10597708

我的代码:

library('RSelenium')
library('XML')
library('RCurl')

pJS <- phantom()
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)

Reviews <- remDr$findElement(using = 'id',value = 'reviews')
elem <- Reviews$getElementAttribute("outerHTML")[[1]]
elemxml <- htmlTreeParse(elem, useInternalNodes=T)
e <- xpathApply(elemxml, "//*[(@class = 'row review')]", xmlValue)

但是 returns 我只有 7 条可见评论。如何提取所有评论? 通常在这种情况下我应该做什么(当只有部分信息可见时)

您不能抓取页面上没有的内容。评论以 7 条为一组加载。这就是为什么您没有收到超过 7 条评论的原因。

如果您想获得其他评论,则必须浏览评论页面。下图中的列表包含 select 个不同页面或转到下一页的按钮。

我建议您使用循环来检查页面上是否有下一页按钮(如果不是,则表示您已到达评论的最后一页)。在此循环中,您可以从这些评论中抓取数据。