吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 486|回复: 1
上一主题 下一主题
收起左侧

[学习记录] Pubmed 根据关键词获取文献详情页内容

[复制链接]
跳转到指定楼层
楼主
13955925361 发表于 2024-5-23 18:00 回帖奖励
本帖最后由 13955925361 于 2024-5-23 20:20 编辑

首先我们使用Bio库中的Entrez模块,提供我们的联系邮箱和API密钥。

接下来,我们指定数据库为PubMed,以关键词"Esp & wheat"为例进行搜索,读者可自行输入。

我们使用esearch方法进行搜索,限定返回结果的数量为10条。

最后,我们打印出返回的ID列表,这些ID对应着PubMed中与搜索关键词相关的文献。



然后调用
pubmed-mapper:
( PubMed XML 映射到 Python 对象的 Python 库)

调用Article使用library功能获取相应pmid文献一一对应的具体信息


代码如下:(如有错误可以指出)另外我还使用drissionpage 自动化技术获取了10余个文献网站新发表的文章信息,包含文章title,pubdata,journal,abstract.如有需要我可以继续发帖,谢谢大家。

[Python] 纯文本查看 复制代码
from Bio import Entrez
from pubmed_mapper import Article
Entrez.email = "123@example.com"

import re
def name(ab):
    t=[]
    for i in ab:
        a = str(i).split()
        del a[1]
        b = " ".join(a)
        t.append(b)
        c=",".join(t)
    return c

def huoqu(can):
    article = Article.parse_pmid(can)
    PubMedID = article.pmid
    Doilist = article.ids
    Title = article.title
    Abstract = article.abstract
    Keywords = article.keywords
    Journal = article.journal
    Authors = article.authors
    Pubdate = article.pubdate
    c = {i.id_type: i.id_value for i in Doilist}
    Doi = c.get('doi')
    Author=name(Authors)
    Ino = [Title, Doi, Journal, Author, Pubdate]
    return Ino



keyword=input('关键词:')
handle = Entrez.esearch(db='pubmed', term=keyword, retmax=10)
record = Entrez.read(handle)
handle.close()
pmids = record["IdList"]

print(pmids)
for i in pmids:
    print(huoqu(i))


如果想保存至本地,可使用如下代码添加进huoqu函数:
df = pd.DataFrame(Ino)
df.to_csv('test2.csv', mode='a', index=False, header=False)
另外记住在一开始import pandas as pd

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
xxs1234 发表于 2024-5-23 19:23
测试一下,哈哈哈
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 13:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表