【发布时间】:2016-06-08 08:49:14
【问题描述】:
假设我想从此网页 (https://www.airbnb.com/rooms/6676364) 获取有关设施的信息。它仅适用于可见部分。 但是如何从“+More”按钮中提取其余部分?
我在 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 与页面交互,即单击“+更多”链接以显示完整的设施列表...然后您可以将源从 RSelenium 传递给 xpathSApply,如果你喜欢
-
我也尝试过这种方法,但对我来说它也不起作用。如果可以的话,你能提供一些代码吗?
-
我已经发布了一个答案,解释了我将采取哪些步骤来解决这个问题,即使我不习惯在 R 中编码(只尝试过 RSelenium once)
-
也许我们不应该要求其他人共同违反Terms of Service。只是 b/c 你可以做某事并不意味着你应该做。
标签: r xpath web-scraping