首页 > 解决方案 > 具有完整作者的出版物列表的语法

问题描述

我正在使用 Vitae 包来构建我的简历,并发现它非常有用。但是我无法从网络上提取我的出版物列表。当作者列表很长时,学者包返回不完整的作者列表,并且我使用 get_complete_authors 命令来纠正它没有成功。我需要在数据框中完整的作者列表,以便我可以将它与简历结构一起使用。rorcid 包看起来很棒,但对于像我这样的新手来说却相当神秘(看起来它使用了某种嵌套列表,这有点可怕)!有人可以分享从 orcid 中提取出版历史的语法吗?最好有合适的语法,我可以用我自己的 orcID 来适应我的工作!或者,从具有完整作者列表的学者那里提取出版历史的语法也可以使用。

标签: r

解决方案


Google Scholar 允许您将自己的引文导出到 bibtex 文件。从您自己的个人资料页面,您可以选择任何/所有引用并使用“导出”选项生成适当的.bib文件。.bib然后可以使用此文件vitae::bibliography_entries()将引文添加到您的简历中。

https://scholar.google.com/intl/en/scholar/citations.html#questions

使用该scholar软件包可以帮助实现这一点的自动化,但正如您所经历的那样,它有局限性。这主要是因为 Google 没有向 Google Scholar 提供 API,因此该程序包会从搜索结果中抓取数据。下面的代码将使用完整的列表替换不完整的作者scholar::get_complete_authors(),但是如果您有许多作者的引用,您将遇到速率限制问题。

scholar_id <- "<YOUR ID>"
library(dplyr)
library(stringr)
library(scholar)
pubs <- scholar::get_publications(id = scholar_id)
pubs %>% 
  rowwise() %>% 
  mutate(
    author = case_when(
      str_ends(author, "\\.\\.\\.") ~ get_complete_authors(id = scholar_id, pubid = pubid),
      TRUE ~ author
    )
  )

要从 ORCID 获取出版物,您可以使用该rorcid::orcid_citations()函数。默认情况下,它将以 bibtex 格式提供引文,可以保存和使用:

pubs <- rorcid::orcid_citations("0000-0002-2140-5352")
writeLines(pubs$citation, "publications.bib")
bibliography_entries("publications.bib")

推荐阅读