httr每分钟计数的速率限制

httr每分钟计数的速率限制,r,api,httr,R,Api,Httr,我正在使用Discogs API,试图为我的收藏提取社区信息(有和想要的,最低价格等) 不幸的是,它的速率限制为每分钟25次,我无法找到一种方法将该限制应用到我当前的代码中(见下文)。 我可以使用sys.sleep(),但我不确定代码中会用到什么 communityData <- lapply(as.list(collection$release_id), function(obj){ url <- httr::GET(paste0("https://api.disco

我正在使用Discogs API,试图为我的收藏提取社区信息(有和想要的,最低价格等)

不幸的是,它的速率限制为每分钟25次,我无法找到一种方法将该限制应用到我当前的代码中(见下文)。 我可以使用sys.sleep(),但我不确定代码中会用到什么

communityData <- lapply(as.list(collection$release_id), function(obj){
  url <- httr::GET(paste0("https://api.discogs.com/releases/", obj))
  url <- rjson::fromJSON(rawToChar(url$content))
  data.frame(release_id = obj, 
             label = url$label[[1]]$name %||% NA,
             year = url$year %||% NA, 
             title = url$title %||% NA, 
             artist_name = url$artist[[1]]$name %||% NA, 
             styles = url$styles[[1]] %||% NA,
             genre = url$genre[[1]] %||% NA,
             average_note = url$community$rating$average %||% NA, 
             votes = url$community$rating$count %||% NA, 
             want = url$community$want %||% NA, 
             have = url$community$have %||% NA, 
             lowest_price = url$lowest_price %||% NA, 
             country = url$country %||% NA)
}) %>% do.call(rbind, .) %>% 
  unique()

communityData在返回值之前直接插入sleep命令应该可以。这将为您提供一个查询url、提取信息、睡眠、返回值和重复的模式。Aka,编辑上面的代码块,如下所示:


communityData这项功能非常有效-谢谢!