【问题标题】:“Error in open.connection(x, "rb") : Timeout was reached”“open.connection(x, "rb") 中的错误:已超时”
【发布时间】:2018-05-27 18:50:50
【问题描述】:

当我进行一些网页抓取(使用 for 循环抓取多个页面)时,有时,在抓取 40 个页面中的第 35 个之后,我会遇到以下错误:

“open.connection(x, "rb") 中的错误:已超时”

有时我还会收到以下消息:

“另外:警告信息:关闭未使用的连接 3”

下面是我想澄清的事情列表:

1) 我读过它可能需要明确定义用户代理。我已经尝试过:

read_html(curl('www.link.com', handle = curl::new_handle("useragent" = "Mozilla/5.0")))

但它并没有改变任何东西。

2) 我注意到当我打开 VPN 并更改位置时,有时我的抓取工作没有任何错误。我想知道为什么?

3) 我也读过它可能取决于代理。希望如何理解如何以及为什么?

4)除了我遇到的错误,我想了解这个警告,是否可能是导致了解错误的线索:

警告信息:关闭未使用的连接 3

这是否意味着当我进行网络抓取时,我应该在最后以某种方式调用一个函数来关闭连接?

我已经阅读了stackoverflow上的以下帖子,但没有明确的解决方案:

Iterating rvest scrape function gives: "Error in open.connection(x, "rb") : Timeout was reached"

rvest Error in open.connection(x, "rb") : Timeout was reached

Error in open.connection(x, "rb") : Couldn't connect to server

【问题讨论】:

  • 上......有人吗?
  • .......?

标签: r web-scraping


【解决方案1】:

你试过了吗?

https://stackoverflow.com/a/38463559

library(rvest)
url = "http://google.com"
download.file(url, destfile = "scrapedpage.html", quiet=TRUE)
content <- read_html("scrapedpage.html")

【讨论】:

    猜你喜欢
    • 2016-01-22
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 2015-10-28
    相关资源
    最近更新 更多