私は記事の DOI を持っています。ユーザーが PDF を手動でダウンロードしなくても、この DOI に基づいて PDF ファイルをダウンロードできる R 関数があるかどうか疑問に思っています。
2 に答える
URL を作成してヘッダーを取得するhttrことで、DOI が指している場所を確認するために使用できます。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 に変換する方法を教えてもらえますか?
私が見つけることができた最高のものはこれです:
RCurl相互参照コンテンツ ネゴシエーション システムにクエリを実行するには、curl (およびおそらくそのためか何か) を使用できます。これにより、DOI の引用が返されます。そこから PDF にたどり着くのは難しいですが... 少なくとも、そのルートに行きたい場合は、PDF リンクを取得するための URL を取得できます。
これは、jabRef が DOI を引用に変換するために使用するメソッドです。
Mendeley や Zotero などは、Web ページから PDF に変換するパーサーを作成しました。しかし、これを行うための既製のすぐに使用できる方法はないと思います。