【发布时间】:2021-09-12 02:18:33
【问题描述】:
我正在尝试使用 httr 直接使用来自 R 的 pubmed api。有一些优秀的包可用,例如RISmed 和easypubmed,但是对于这个特定的任务,我需要直接与 api 交互。
使用这组指令 (https://www.ncbi.nlm.nih.gov/books/NBK25500/),我从这段代码开始,但返回的是一个没有任何详细信息的列表或pmid。任何指导表示赞赏。或者如果您知道在此设置中使用 R 的特定教程。
library(XML)
library(httr)
library(glue)
query = 'asthma[mesh]+AND+leukotrienes[mesh]+AND+2009[pdat]'
reqq = glue ('https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term={query}')
op = GET(reqq)
我也尝试了这篇文章中的代码 (why i get that error : XML content does not seem to be XML),但它给出了这个错误Error in read_xml.raw(x, encoding = encoding, ...) : Opening and ending tag mismatch: meta line 17 and head [76]
【问题讨论】:
-
无法复制。我对
httr::GET(url = glue('https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term={query}'))没有意见 -
您希望得到什么?我运行了这个,得到了 200 个 http 状态码和一个 xml 文档,如
contents(op) -
您的
op包含一个带有 PMID 列表的有效 XML - 您在提取它们时遇到问题吗? -
感谢您的意见。 xml内容查看有困难,但使用
contents(op)后,我可以了。
标签: r xml httr pubmed pubmed-api