数字对象标识符(DOI) 是一个全球唯一的字符串,用于标识电子文档(例如,学术文章的 PDF)。它本质上提供了一种创建文档永久链接的方法(例如,http://dx.doi.org/10.1145/146585.146609)。
是否有 Web 服务(或任何其他系统)可以从给定 DOI 获取文档的元数据(最好是 BibTeX 形式)?
编辑添加一些说明性信息。
数字对象标识符(DOI) 是一个全球唯一的字符串,用于标识电子文档(例如,学术文章的 PDF)。它本质上提供了一种创建文档永久链接的方法(例如,http://dx.doi.org/10.1145/146585.146609)。
是否有 Web 服务(或任何其他系统)可以从给定 DOI 获取文档的元数据(最好是 BibTeX 形式)?
编辑添加一些说明性信息。
DOI 手册文档的第 5.4.1 节内容协商指出,“DOI 注册机构正在为其 DOI 名称实施内容协商,特别是为用户提供增值元数据表示。” 根据http://crosscite.org的 DOI 内容协商文档的第 4 节支持的内容类型,“目前三个 DOI 注册机构已经为其 DOI 实施了内容协商:CrossRef、DataCite 和 mEDRA。” 支持的格式列表(取决于注册机构)包括 BibTeX via (这是http://doi2bib.org使用的方法)和格式化的书目条目 via (这是@anumi 建议的方法Accept: application/x-bibtex
Accept: text/bibliography
以上)。使用后一种标头时,必须指定style=bibtex
媒体类型参数。
两种相关的 mimetype 提供了稍微不同的表示。一个请求GET http://dx.doi.org/10.1038/nrd842
产生Accept: application/x-bibtex
响应
@article{Atkins_2002,
doi = {10.1038/nrd842},
url = {http://dx.doi.org/10.1038/nrd842},
year = 2002,
month = {jul},
publisher = {Springer Nature},
volume = {1},
number = {7},
pages = {491--492},
author = {Joshua H. Atkins and Leland J. Gershell},
title = {From the analyst{\textquotesingle}s couch: Selective anticancer drugs},
journal = {Nature Reviews Drug Discovery}
}
与Accept: text/bibliography; style=bibtex
@article{Atkins_2002, title={From the analyst’s couch: Selective anticancer drugs}, volume={1}, ISSN={1474-1784}, url={http://dx.doi.org/10.1038/nrd842}, DOI={10.1038/nrd842}, number={7}, journal={Nature Reviews Drug Discovery}, publisher={Springer Nature}, author={Atkins, Joshua H. and Gershell, Leland J.}, year={2002}, month={Jul}, pages={491–492}}
curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
看看这些人是如何实现它的:www.doi2bib.org。
我在我的一个项目中做了什么:
url
请求结构:http://www.doi2bib.org/doi2bib
++ 。?id=
{your doi here}
API
地获取数据(例如http://www.doi2bib.org/doi2bib?id=10.1016%2Fj.actpsy.2016.09.007)并且响应是:
@article{Leinen_2016,
doi = {10.1016/j.actpsy.2016.09.007},
url = {http://dx.doi.org/10.1016/j.actpsy.2016.09.007},
year = 2016,
month = {nov},
publisher = {Elsevier {BV}},
volume = {171},
pages = {36--46},
author = {Peter Leinen and Stefan Panzer and Charles H. Shea},
title = {Hemispheric asymmetries of a motor memory in a recognition test after learning a movement sequence},
journal = {Acta Psychologica}
}
这帮助我完成了我需要做的事情。但是,最好的方法是查看他们的GitHub存储库并尝试构建自己的存储库。
希望能帮助到你!
CrossRef有一个 API,您可以使用 API 密钥,该密钥可以从http://www.crossref.org/requestaccount/免费获得。