从URL中抓取HTML代码,需要延迟网页完全加载

时间:2016-06-21 15:09:14

标签: html r

我试图在R中使用getURLContent()或HTMLParse()来从网站获取html。问题是页面缓慢加载并以几个块的形式加载。

似乎这两个选项都会在网页的第一个网页加载后停止并返回代码。这使得HTML遗漏了大部分将在另外5-10秒内加载的内容。

我需要一种方法来启动解析,但是在运行时让它延迟,以便给页面加载时间。我已经研究了关于这两个选项的文献,并没有找到任何选项来做到这一点。

是否有人知道它是否可能或可能解决此问题?

谢谢!

1 个答案:

答案 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]])