我使用googleAuthR
软件包通过httr
访问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 API的信息中心会指示客户端错误(403):dailyLimitExceeded - 尽管API管理器指示我在每日限制下大约有一百个查询。有任何建议如何解决?
非常感谢你。
答案 0 :(得分:1)
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceeded",
"message": "Daily Limit Exceeded"
}
],
"code": 403,
"message": "Daily Limit Exceeded"
}
}
如果您收到每日限额错误,那么这基本上意味着您已完成当天的最大请求数。配额将在美国西部时间中午重置。
如果您转到图书馆下的Google Developer控制台,请找到您启用的API,查找“配额”标签。您可以增加部分Google API的每日配额。单击侧面的小铅笔以增加它
注意:Google在计算配额时并不完美。数百可以加减。