for循环跳转错误

For loop skipping error

我想通过 for 循环获取 google 趋势数据。但是,一个错误使我退缩了。在搜索了其他堆栈问题后,我仍然无法使其工作。有问题的循环:

a2p = for (i in dfurlnames$names1)
{ 
    x<- paste(i)
    gtrends_function3(x)
}

在我的 for 循环中出现以下错误:

Error : res$status_code == 200 is not TRUE

我使用以下包和函数:

获取新的gtrendsR; devtools::install_github('PMassicotte/gtrendsR')

library(gtrendsR)

gtrends_function3 <- function(x)
{
    trend1 = gtrends(c(x), geo = c(""), time = "2014-01-05 2014-10-04")
    trend_df1 = ldply(trend1)
    return(as.numeric(trend_df1$hits))        
}

名单:

dfurlnames$names1 = Ang babaeng humayo, The Bad Batch, Une vie, La La Land,               
The Light Between Oceans, El ciudadano ilustre, Spira Mirabilis, La región 
salvaje, Nocturnal Animals

状态码200指的是HTTP协议,表示一切正常。可能是您在 for 循环中请求的速度太快了。添加睡眠命令,例如:

Sys.sleep(1)

在你的 for 循环中减慢速度。或者,使用 tryCatch 绕过:

a2p = for (i in dfurlnames$names1)
{ 
    tryCatch({
       x<- paste(i)
       gtrends_function3(x)
    }, error=function(e) {print(e)})
}