在 R for 循环中延迟抓取几分钟

delay scrape for few minutes in R for loop

我正在尝试抓取一个网站,但它不允许我抓取超过 9 页,有什么方法可以让我在抓取 9 页后停止循环并中断一两分钟,然后重新开始抓取?

代码如下:

 library(RCurl)
 library(stringr)
 library(XML)

    jt<- c()
for (i in 1:70){
   tryCatch({
    html<- getURL((url[[i]]), followlocation = TRUE)
    doc = htmlParse(html, asText=TRUE)
    new <- xpathSApply(doc, "div/a", 
      xmlValue)
    jt[[i]] <- new},error=function(e){cat("ERROR :",conditionMessage(e), "\n")})}

如果您添加 if(i %% 9 == 0) {Sys.sleep(60)},它将每 9 次迭代暂停 60 秒。 %% 运算符 returns 将 i 除以 9 的余数,因此如果它等于 0,则您已经完成了 9 次迭代。