我正在将一系列 JSON 文件的 url 下载到列表列表中,以便稍后分析。
baseurl <- "http://zoeken.kvk.nl/Address.ashx?site=handelsregister&partialfields=&q=010"
pages <- list()
for(i in 1:99999){
if(i < 10000){
message("ignoring page ", i)
}
if(i >= 10000){
message("Retrieving page ", i)
mydata <- RJSONIO::fromJSON(paste0(baseurl,i), flatten=TRUE)
pages[[i+1]] <- mydata$resultatenHR
# adding adjustment 1
options(timeout = 4000000)
# adding adjustment 2
if(i %% 100 == 0){Sys.sleep(2)}
if(i %% 1000 == 0){Sys.sleep(10)}
}
}
但是,在不正常的时刻,我得到错误代码:
error in open.connection(con, "rb") : Recv failure: Connection was reset.
或者
Error in file(con, "r") : cannot open the connection
我先尝试了上述调整1,然后调整2,但问题不断出现。如果我尝试在错误点重新启动循环,它会再次工作,直到出现以下不规则错误。
如何构建 R 在错误点自动重新启动循环?
注意我在 open.connection 中看到了关于错误的其他主题,但我不明白给出的答案,或者它不适用于我认为的我的代码类型......
NB2:我也尝试过使用jsonlite
包而不是RJSONIO
,但它在不规则的时刻给出了相同的错误。感谢您的输入。