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 无法完美计算您的配额。你可以正负几百。
我使用 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 无法完美计算您的配额。你可以正负几百。