python - 使用 python 从 PubMed 获取数据

标签 python text-mining

我有一个 PubMed 条目列表以及 PubMed ID。我想创建一个 python 脚本或使用接受 PubMed id 号作为输入的 python,然后从 PubMed 网站获取摘要。

到目前为止,我已经接触过 NCBI Eutilities 和 Python 中的 importurl 库,但我不知道应该如何编写模板。

任何指针将不胜感激。

谢谢,

最佳答案

使用 Biopython的模块称为 Entrez ,您可以很容易地获得摘要以及所有其他元数据。这将打印摘要:

from Bio.Entrez import efetch

def print_abstract(pmid):
    handle = efetch(db='pubmed', id=pmid, retmode='text', rettype='abstract')
    print handle.read()

这里是一个函数,它将获取 XML 并只返回摘要:

from Bio.Entrez import efetch, read

def fetch_abstract(pmid):
    handle = efetch(db='pubmed', id=pmid, retmode='xml')
    xml_data = read(handle)[0]
    try:
        article = xml_data['MedlineCitation']['Article']
        abstract = article['Abstract']['AbstractText'][0]
        return abstract
    except IndexError:
        return None

附言我实际上需要在实际任务中做这类事情,所以我将代码组织到一个类中 -- see this gist .

关于python - 使用 python 从 PubMed 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17409107/

相关文章:

java - Sharepoint 的文本挖掘和高级搜索解决方案

python - 如何通过gensim在LDA分析中删除单词

python - shlex.split() 和 re.split() 有什么区别?

python - python中不准确的矩形碰撞检测

python - 如何将两个形状为 (2,2) 和 (2,) 的 tf.Variable 类型数组相乘?

machine-learning - 在哪里可以找到用于文本挖掘任务的特定领域语料库?

python - 如何将自定义停用词列表添加到 StopWordsRemover

python - 如何浏览数据框并对文本进行正面或负面分类?

python - 更改 Python 对象的表示

python - 多个 IF 和 ELIF 条件 [Python]