Написание цикла R для преодоления ограничения API - PullRequest
0 голосов
/ 28 июня 2019

Я использую библиотеку rcrossref в R, чтобы попытаться вызвать Crossref API для извлечения данных уровня статьи для определенного журнала.Однако я сталкиваюсь с проблемами, потому что CrossRef API имеет ограничение в 1000 на запрос, и для многих журналов существует более 1000 статей.Проблема действительно двойная.Одним из них является определение количества статей, а затем создание цикла, чтобы преодолеть ограничение в 1000 запросов.

Я пытался разбить данные на более мелкие куски, вызывая API несколько раз, а затем рекомбинируя позже.Хотя это на самом деле работает, проблема в том, что его сразу становится очень трудно масштабировать.

# import needed libraries

library(rcrossref)

#Begin Harvesting DOIs from journals using Titles (will need to split up by dates in order to collect all articles from given year)
test_harvest1 <- cr_works(filter = c(container_title = 'The Gerontologist', from_pub_date = '2016-01-01', until_pub_date = '2016-02-29'), limit = 1000)
test_harvest2 <- cr_works(filter = c(container_title = 'The Gerontologist', from_pub_date = '2016-03-01', until_pub_date = '2016-04-30'), limit = 1000)
test_harvest3 <- cr_works(filter = c(container_title = 'The Gerontologist', from_pub_date = '2016-05-01', until_pub_date = '2016-06-30'), limit = 1000)
test_harvest4 <- cr_works(filter = c(container_title = 'The Gerontologist', from_pub_date = '2016-07-01', until_pub_date = '2016-08-31'), limit = 1000)
test_harvest5 <- cr_works(filter = c(container_title = 'The Gerontologist', from_pub_date = '2016-09-01', until_pub_date = '2016-10-31'), limit = 1000)
test_harvest6 <- cr_works(filter = c(container_title = 'The Gerontologist', from_pub_date = '2016-11-01', until_pub_date = '2016-12-31'), limit = 1000)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...