从DOI获取元数据

arg*_*per 32 doi metadata bibtex

数字对象标识符(DOI)是全局唯一的字符串,用于标识电子文档(例如,学术文章的PDF).它本质上提供了一种创建文档永久链接的方法(例如,http://dx.doi.org/10.1145/146585.146609).

是否有Web服务(或任何其他系统)来获取给定DOI的文档的元数据(最好是BibTeX形式)?

编辑添加一些说明信息.

anu*_*umi 13

curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842

  • 还有doi2bib("给我们一个DOI,我们会尽力为你提供BibTeX条目"),网址是http://www.doi2bib.org/#/doi (3认同)
  • @argentpepper:显然这是官方的:https://www.crossref.org/labs/itation-formatting-service/ (2认同)

arg*_*per 11

第5.4.1节 DOI手册的内容协商文件指出,"DOI注册机构正在为其DOI号实施内容协商,特别是为用户提供增值元数据表示." 根据http://crosscite.org的DOI内容协商文档的第4节支持的内容类型,"目前三个DOI注册机构已经为其DOI实施了内容协商:CrossRef,DataCite和mEDRA." 支持的格式列表(取决于注册机构)包括BibTeX via (这是http://doi2bib.org使用的方法)和格式化的参考书目条目(这是@anumi上面提出的方法).使用后一个标头时,必须指定媒体类型参数.Accept: application/x-bibtexAccept: text/bibliographystyle=bibtex

两个相关的mimetypes提供略有不同的表示.请求GET http://dx.doi.org/10.1038/nrd842Accept: 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}
}
Run Code Online (Sandbox Code Playgroud)

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}}
Run Code Online (Sandbox Code Playgroud)


Mih*_*hai 6

看看这些人是如何实现它的: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存储库并尝试构建自己的存储库。

希望能帮助到你!