使用 Entrez API 进行 PubMed 文献信息提取

使用 Entrez API 进行 PubMed 文献信息提取 PubMed 是一个常用的文献数据库,提供了大量生物医学领域的文献。当需要整理大量文献时,手动搜索可能会非常耗时。 我们可以使用 Entrez API 自动化这一过程。本文将介绍如何使用 Python 和 Entrez API 提取 PubMed 文献信息,并将结果保存为 CSV 文件。 image 20240703184324447 ...
使用 Entrez API 进行 PubMed 文献信息提取

使用 Entrez API 进行 PubMed 文献信息提取

PubMed 是一个常用的文献数据库,提供了大量生物医学领域的文献。当需要整理大量文献时,手动搜索可能会非常耗时。
我们可以使用 Entrez API 自动化这一过程。本文将介绍如何使用 Python 和 Entrez API 提取 PubMed 文献信息,并将结果保存为 CSV 文件。
image-20240703184324447
image-20240703184324447

环境准备

首先,我们需要安装 Biopython,这是一个用于生物信息学的强大工具包,包含了访问 Entrez API 的模块。
此外,还需要一些其他的 Python 库:
为了避免 SSL 证书验证错误,我们可以禁用证书验证和警告:
接下来,设置 NCBI 账户的邮箱(需要在 NCBI 网站上注册一个账户):

提取日期的正则表达式模式

为了处理日期信息,我们定义了一个正则表达式模式:

定义函数

fetch_pubmed_data 函数

这个函数从 PubMed 获取文献信息并保存到 CSV 文件中。
由于 Entrez API 最多只能获取检索到的前 9999 篇(其实在网页上我们也只能看到检索到的文献的前 10000 篇),若使用检索词检索到的文章数量少于 10000 篇,则直接获取文献 PMID 列表;否则,按年份分段进行检索以获取所有文献的 PMID 列表。
这种方法可以应付大多数的情况,即一年发文不超过 9999 篇的情况。但如果你的关键词检索结果显示有些年份的发文数量仍然大于 9999 篇,你可以自行修改此处的逻辑,如按照月份来重构检索词。

fetch_citation_data 函数

这个函数获取文章的引用和参考文献信息:

create_record_dict 函数

这个函数创建一个包含文章详细信息的字典:

运行脚本

在主程序中,我们定义检索词列表和对应的文件名列表,然后调用 `fetch_pubmed_data` 函数:
运行脚本后,符合条件的文献信息将被提取并保存到对应的 CSV 文件中。

完整代码

参考

  • [Entrez Programming Utilities Help](https://www.ncbi.nlm.nih.gov/books/NBK25501/)
  • [我的汉化文档](https://whylim.github.io/E-utilities_zh-CN/)
上一篇
使用网络方法识别疾病模块
下一篇
基于网路的共病分析思路
Loading...