我试图在R中使用getURLContent()或HTMLParse()来从网站获取html。问题是页面缓慢加载并以几个块的形式加载。
似乎这两个选项都会在网页的第一个网页加载后停止并返回代码。这使得HTML遗漏了大部分将在另外5-10秒内加载的内容。
我需要一种方法来启动解析,但是在运行时让它延迟,以便给页面加载时间。我已经研究了关于这两个选项的文献,并没有找到任何选项来做到这一点。
是否有人知道它是否可能或可能解决此问题?
谢谢!
答案 0 :(得分:1)
通常,这个问题来自使用Ajax的页面(在几个回合中加载页面)。没有更多信息很难说。
通常可行的一种解决方案是使用能够模仿“真实”的RSelenium。用户通过打开firefox / explorer / chrome页面。
# selenium proper
library(RSelenium)
# rvest to convert to xml for easier parsing
library(rvest)
# start a server and open a navigator (firefox by default)
startServer()
driver <- remoteDriver()
driver$open()
# go to google
driver$navigate("http://www.google.com")
# get source code
page <- driver$getPageSource()
# convert to xml for easier parsing
page_xml <- read_html(page[[1]])