Client error: automated custom google search with R

Client error: automated custom google search with R

我使用 httr 包通过 googleAuthR 访问 Google 自定义搜索 API 以自动搜索 Google 随机创建的字符串,例如数字。我的条件是每秒 100 次搜索和每天 10.000 次搜索。我创建一个列表并发送我的请求,例如:

random.search.string<- function(n = 10000)
    {randomNumbers <- c(1:n)
    for (i in 1:n)
    {randomNumbers[i] <- paste(sample(0:9, 9), collapse = "")}
    return(randomNumbers)}

mydata<-cbind.data.frame(as.factor(random.search.string()))
mydata[ , 2]<- c(1:length(random.search.string()))

使用这个数据框,我创建了查询:

cs1<-"https://www.googleapis.com/customsearch/v1?key="
API_Key<-"myAPI-Key"
ENGINE_ID<-"mySecret"
cs2<-"&googlehost=.de&num=1"

query <- vector()
for (i in mydata[, 2]) query[i] <- paste(cs1, API_Key, "&cx=", ENGINE_ID, "&q=", mydata[i, 1], cs2, sep = "")

我通过以下方式接收输出:

output<-list()
for (k in query) {output[k] <- content(GET(k))$items[[1]]$link[1]; flush.console(); Sys.sleep(0.5)}

输出包含有结果的所有搜索链接。但是,有时 Google APIs 的仪表板会指示客户端错误 (403):dailyLimitExceeded - 虽然 API 经理指示我的每日限制下有大约一百个查询。有什么解决方法的建议吗?

非常感谢您。

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "dailyLimitExceeded",
        "message": "Daily Limit Exceeded"
      }
    ],
    "code": 403,
    "message": "Daily Limit Exceeded"
  }
}

如果您收到每日限制错误,那么这基本上意味着您已达到当天的最大请求数。配额将在美国西部时间午夜重置。

如果您转到库下的 Google 开发人员控制台,找到您启用的 API,查找配额选项卡。您可以增加某些 Google API 的每日配额。点击旁边的小铅笔增加它

注意:Google 无法完美计算您的配额。你可以正负几百。