У меня есть функция, которая принимает два аргумента, собирает URL-адрес и отправляет запрос GET. Я передаю функции список аргументов (пара аргументов для каждой записи), и все возвращается очень хорошо.Как мне сделать паузу между запросами URL Get?
Однако, я хотел бы быть уверенным, что я отправляю только один запрос за раз. Результат возвращается так быстро, что я не уверен, что я забиваю их сервер или нет.
Вот что у меня есть (ДФ является dataframe с 25 строками, поэтому я представление 25 запросов, в данном случае):
library(RCurl)
block <- function(latty, longy){
url <- paste0("http://data.fcc.gov/api/block/2010/find?latitude=", latty, "&longitude=", longy)
response <- getURL(url)
blockID <- substr(sub(".*Block FIPS=\\\"","",response), 0, 15)
return(blockID)
Sys.sleep(0.25)
}
result <- do.call(block, list(latty=df$lat, longy=df$long))
Когда я запускаю этот скрипт, является его флудерами сервера с запросов, или он проходит через них по скорости Sys.sleep?
Спасибо! Является ли вызов моей функции (do.call) подачей одной пары аргументов за раз? То есть, он представляет пару, дожидается ответа и затем отправляет следующую пару? – Phoebe
@ user1252489 Возможно, вы должны использовать 'mapply' вместо этого? –
@ user1252489 обновите ответ –