我正在使用 Discogs API,并且遇到了速率限制问题。我有一个循环来循环浏览我所有的发布 ID,然后拉回进一步的发布信息。速率限制是每 60 秒 25 次调用,但我似乎无法找到一种方法来限制来自 httr 的调用。我想知道 for 循环是否会更理想?
我在下面粘贴了我的代码:
releasedata <- 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()
如果有人可以为此推荐一个适当的循环,我将不胜感激。