【问题标题】:RCurl error: Connection reset by peerRCurl 错误:对等方重置连接
【发布时间】:2015-03-18 11:20:13
【问题描述】:

我正在使用 R 的 XML 和 RCurl 包抓取网站的链接。我需要进行多次调用(数千次)。

我使用的脚本格式如下:

raw <-  getURL("http://www.example.com",encoding="UTF-8",.mapUnicode = F)
parsed <- htmlParse(raw)
links <- xpathSApply(parsed,"//a/@href")

...
...
return(links)

单次使用没有问题。 但是,当应用于 url 列表(使用 sapply)时,我收到以下错误:

函数错误(类型、msg、asError = TRUE):接收失败: 对等方重置连接

如果我稍后重试相同的请求,它通常会返回 ok。 我是 Curl 和网页抓取的新手,不知道如何解决或避免这种情况。

提前谢谢你

【问题讨论】:

    标签: r curl


    【解决方案1】:

    试试这样的

    for(i in 1:length(links)){
    
      try(WebPage <- getURL(links[[i]], ssl.verifypeer = FALSE,curl=curl))
      while((inherits(NivelRegion, "try-error"))){
          Sys.sleep(1)
         try(WebPage <- getURL(links[[i]], ssl.verifypeer = FALSE,curl=curl))
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-07
      • 2017-06-09
      • 1970-01-01
      • 2020-12-22
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多