R循环等待指定的时间

时间:2018-08-17 23:43:27

标签: r api httr discogs-api

我正在使用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()

如果有人可以为此建议一个合适的循环,我将非常感谢您的帮助。

0 个答案:

没有答案