Скачать статью, используя DOI в R
У меня есть DOI для статьи, мне интересно, есть ли функции R, которые могут загружать PDF-файл на основе этого DOI без необходимости загружать PDF-файл вручную?
2 ответа
Ты можешь использовать httr
чтобы увидеть, на что указывает этот DOI, создав URL для doi.org
и получение заголовков:
library(httr)
headers = HEAD("http://doi.org/10.7150/ijms.11309")
headers$url
# [1] "http://www.medsci.org/v12p0264.htm"
В этом случае PDF, кажется, находится в том же месте, что и эта страница, но с .pdf
расширение. Но это не так для всех журналов.
Таким образом, для этого журнала PDF находится по адресу:
sub(".htm$",".pdf",headers$url)
# [1] "http://www.medsci.org/v12p0264.pdf"
Так что я могу тогда сделать:
download.file(sub(".htm$",".pdf",headers$url),"paper.pdf")
чтобы получить PDF.
Частичный ответ:
На самом деле это сложная проблема, и она не связана с R... Можете ли вы показать, как преобразовать DOI в PDF на любом языке или в любой настройке?
Лучшее, что я смог найти, это:
Вы можете использовать curl (и, вероятно, поэтому RCurl
или что-то), чтобы запросить перекрестную систему согласования контента. Это может вернуть цитату для вашего DOI. Оттуда добраться до PDF сложно, хотя... по крайней мере, вы можете получить URL-адрес для поиска PDF-ссылки, если хотите пойти по этому пути.
Это метод, используемый jabRef для преобразования DOI в цитату.
Такие вещи, как Mendeley и Zotero написали парсеры для перехода с веб-страниц в PDF-файлы. Но я не думаю, что есть какой-то готовый способ сделать это.