我试图从http://google.com抓取内容。 错误信息出来了。
library(rvest)
html("http://google.com")
open.connection错误(x," rb"):
达到超时另外:
警告信息:' html'已弃用。
使用' read_html'来代替。
请参阅帮助("已弃用")
因为我使用公司网络,这可能是由防火墙或代理引起的。我尝试使用set_config,但没有工作。
答案 0 :(得分:24)
在办公室网络中的代理工作后,我遇到了同样的Error in open.connection(x, “rb”) : Timeout was reached
问题。
这对我有用,
library(rvest)
url = "http://google.com"
download.file(url, destfile = "scrapedpage.html", quiet=TRUE)
content <- read_html("scrapedpage.html")
答案 1 :(得分:4)
这可能是你调用read_html(或你的情况下是html)没有正确识别自己尝试从中检索内容的服务器的问题,这是默认行为。使用curl,将用户代理添加到read_html的handle参数中,让您的scraper识别自己。
library(rvest)
library(curl)
read_html(curl('http://google.com', handle = curl::new_handle("useragent" = "Mozilla/5.0")))
答案 2 :(得分:0)
我遇到了这个问题,因为我的VPN已经打开了。在关闭之后,我立即重新尝试,它解决了这个问题。
答案 3 :(得分:0)
我遇到了类似的问题,一个小黑客解决了它。 超链接中有2个字符为我创建了问题。 因此,我将“è”替换为“e”&amp; “é”与“e”并且有效。 但只需确保超链接仍然有效。
答案 4 :(得分:0)
我的笔记本电脑通过wifi连接到路由器时出现错误消息,但是ISP出现了某种故障:
read_html(brand_url)
Error in open.connection(x, "rb") :
Timeout was reached: [somewebsite.com.au] Operation timed out after 10024 milliseconds with 0 out of 0 bytes received
在上述情况下,我的wifi仍然连接到调制解调器,但是无法通过rvest
(也不在浏览器中)加载页面。这是暂时的,持续了约2分钟。
也许还值得注意的是,当wifi完全关闭时会收到不同的错误消息:
brand_page <- read_html(brand_url)
Error in open.connection(x, "rb") :
Could not resolve host: somewebsite.com.au