使用 R (httr) 中的 pubmed api 检索摘要
Working with pubmed api in R (httr) to retrieve abstracts
我正在尝试使用 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)
我也尝试了这个 post (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]
您可以阅读 XML 响应并解析它以收集 pubmed ID,例如:
library(magrittr)
df_op <- op %>% xml2::read_xml() %>% xml2::as_list()
pmids <- df_op$eSearchResult$IdList %>% unlist(use.names = FALSE)
给出:
> pmids
[1] "20113659" "20074456" "20046412" "20021457" "20008883" "20008181" "19912318" "19897276" "19895589"
[10] "19894390" "19852204" "19839969" "19811112" "19757309" "19749079" "19739647" "19706339" "19665766"
[19] "19648384" "19647860"
我正在尝试使用 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)
我也尝试了这个 post (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]
您可以阅读 XML 响应并解析它以收集 pubmed ID,例如:
library(magrittr)
df_op <- op %>% xml2::read_xml() %>% xml2::as_list()
pmids <- df_op$eSearchResult$IdList %>% unlist(use.names = FALSE)
给出:
> pmids
[1] "20113659" "20074456" "20046412" "20021457" "20008883" "20008181" "19912318" "19897276" "19895589"
[10] "19894390" "19852204" "19839969" "19811112" "19757309" "19749079" "19739647" "19706339" "19665766"
[19] "19648384" "19647860"