我正在尝试使用 R 中的 getURLContent() 或 HTMLParse() 从网站获取 html。问题是页面加载缓慢并且分成几个 block 。
这两个选项似乎都在网页的第一个 block 加载后停止并返回代码。这使得 HTML 丢失了在另外 5-10 秒内加载的大部分内容。
我需要一种方法来启动解析,但然后在运行时延迟它以给页面加载时间。我研究了有关这两个选项的文献,但没有找到任何选项可以做到这一点。
有人知道这是否可能或可以解决此问题吗?
谢谢!
最佳答案
通常,这个问题来自于使用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]])
关于html - 从 URL 中获取需要延迟才能完全加载网页的 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37948178/