html - 从 URL 中获取需要延迟才能完全加载网页的 HTML 代码

标签 html r

我正在尝试使用 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/

相关文章:

php - 简单的 php/mysql 登录表单安全性

r - ggplot : color, geom_point 中的填充和大小

r - 在 ggplot2 的条形图中为分类变量添加阴影替代区域

使用 View() 显示时,删除行会导致出现 "row.names"列

java - 如何在div中执行或加载servlet?

html - 在属于 flex-row 的父 div 中垂直和水平居中两个元素

javascript - IndexedDB - 无法创建多个对象存储并对其进行事务处理

html透明背景

r - R中一个事件与另一事件的时间间隔匹配

将字符 ID 重新编码为数字 ID