当服务器繁忙且for循环中不存在url时,R错误捕获

当服务器繁忙且for循环中不存在url时,R错误捕获,r,error-handling,web-scraping,try-catch,rvest,R,Error Handling,Web Scraping,Try Catch,Rvest,我有一个网站,在那里我试图在网页上的几个项目。另外,有多个连续的页面,我想刮取类似的内容,所以我建立了一个for循环来遍历这些页面 有时,服务器可能会恢复繁忙状态,需要重试元素刮取(这可能是随机发生的)。我已经构建了代码,这非常有效 然而,在for循环的范围内,可能存在一些不存在的随机页面。我需要完全跳过这些页面,转到下一页 我在另一个例子中发现了这一点,我在代码中没有成功实现。我将如何为两个实例构建一个try-catch方法,在服务器繁忙时重试,在for循环中不存在当前url时跳到下一个url

我有一个网站,在那里我试图在网页上的几个项目。另外,有多个连续的页面,我想刮取类似的内容,所以我建立了一个for循环来遍历这些页面

有时,服务器可能会恢复繁忙状态,需要重试元素刮取(这可能是随机发生的)。我已经构建了代码,这非常有效

然而,在for循环的范围内,可能存在一些不存在的随机页面。我需要完全跳过这些页面,转到下一页

我在另一个例子中发现了这一点,我在代码中没有成功实现。我将如何为两个实例构建一个try-catch方法,在服务器繁忙时重试,在for循环中不存在当前url时跳到下一个url

下面是我的代码示例(没有太多细节):

库(rvest)
数据集%
html_text())
Scoredf
    library (rvest)

     DatasetAll <- NULL
     urllink <- c(1:100)
     for(i in urllink)
        {
          url <- paste0("http://www.somewebpage/link",i,".html")

          while(TRUE){  
          Name  <- try(url %>%
            read_html() %>%    
            html_nodes(xpath= '//*[contains(concat( " ", @class, " " ), concat( " ", "datarow", " " ))]//td[(((count(preceding-sibling::*) + 1) = 2) and parent::*)]') %>%
            html_text())
          if(!is(OppName, 'try-error')) break}        
          Namedf <- data.frame(Name)


          while(TRUE){
          Score  <- try(url %>%
            read_html() %>%    
            html_nodes(xpath= '//*[contains(concat( " ", @class, " " ), concat( " ", "datarow", " " ))]//td[(((count(preceding-sibling::*) + 1) = 3) and parent::*)]') %>%
            html_text())
          Scoredf <- data.frame(Score)

         Dataset <- cbind(Namedf, Scoredf)    
         other_calculation <-  Transform scraped data
         DatasetAll<-rbind(Dataset,DatasetAll)
        }
    write.table(DatasetAll, file = paste0("C:/My/Location.csv"), sep = ",", row.names=FALSE,qmethod = "double")