Я использую Yelp API в R для закрытия некоторых предприятий. Из того, что я прочитал в документации, вы можете получить до 20 предприятий за вызов API, однако, если вы используете параметр offset=, вы можете получить больше записей.
Что я пытаюсь сделать, так это создать простой цикл для создания нескольких вызовов API с увеличивающимся значением параметра offset=.
Например, первый вызов API будет выглядеть так:
yelpURL <- paste0("http://api.yelp.com/v2/search/?limit=20&offset=20&sort=0&term=food&location=Chicago")
Следующий вызов будет иметь смещение = 20, затем 40, 60, 80 и так далее. Я не знаю, как это написать. Я хотел бы сократить максимальное количество предприятий, которое, как мне кажется, составляет 1000, и добавить их в один фрейм данных. Вот мой полный код ниже:
# yelp credentials
consumerKey = "xxxxxxx"
consumerSecret = "xxxxxxx"
token = "xxxxxxx"
tokenSecret = "xxxxxxx"
require(httr)
myApp <- oauth_app("YELP", key=consumerKey, secret=consumerSecret)
mySignature <- sign_oauth1.0(myApp, token=token, token_secret=tokenSecret)
yelpURL <- paste0("http://api.yelp.com/v2/search/?limit=20&offset=20&sort=0&term=food&location=Chicago")
locationData <- GET(yelpURL, mySignature)
require(jsonlite)
locationDataContent = content(locationData)
locationList=jsonlite::fromJSON(toJSON(locationDataContent))
results <- data.frame(locationList)