
关于
直接 REST API 访问 PubMed。高级布尔/MeSH 查询、E-utilities API、批量处理、引文管理。适用于直接 HTTP/REST 工作或自定义 API 实现。
name: pubmed-database description: 直接REST API访问PubMed。高级布尔/MeSH查询、E-utilities API、批量处理、引文管理。Python工作流建议使用biopython(Bio.Entrez)。本技能适用于直接HTTP/REST工作或自定义API实现。 license: Unknown metadata: skill-author: K-Dense Inc. risk: unknown source: community
PubMed数据库
概述
PubMed是美国国家医学图书馆的综合数据库,提供对MEDLINE和生命科学文献的免费访问。使用布尔运算符、MeSH术语和字段标签构建高级查询,通过E-utilities API以编程方式访问数据,用于系统综述和文献分析。
何时使用此技能
此技能应在以下情况使用:
- 搜索生物医学或生命科学研究文章
- 使用布尔运算符、字段标签或MeSH术语构建复杂搜索查询
- 进行系统文献综述或荟萃分析
- 通过E-utilities API以编程方式访问PubMed数据
- 按特定条件查找文章(作者、期刊、发表日期、文章类型)
- 检索引文信息、摘要或全文文章
- 使用PMID(PubMed ID)或DOI
- 创建文献监控或数据提取的自动化工作流
核心功能
1. 高级搜索查询构建
使用布尔运算符、字段标签和专用语法构建复杂的PubMed查询。
基本搜索策略:
- 使用布尔运算符(AND、OR、NOT)组合概念
- 使用字段标签将搜索限制在记录的特定部分
- 使用双引号进行短语搜索以精确匹配
- 使用通配符处理术语变体
- 使用邻近搜索查找指定距离内的术语
查询示例:
# Recent systematic reviews on diabetes treatment
diabetes mellitus[mh] AND treatment[tiab] AND systematic review[pt] AND 2023:2024[dp]
# Clinical trials comparing two drugs
(metformin[nm] OR insulin[nm]) AND diabetes mellitus, type 2[mh] AND randomized controlled trial[pt]
# Author-specific research
smith ja[au] AND cancer[tiab] AND 2023[dp] AND english[la]
何时查阅search_syntax.md:
- 需要可用字段标签的完整列表
- 需要搜索运算符的详细说明
- 构建复杂的邻近搜索
- 理解自动术语映射行为
- 需要日期范围、通配符或特殊字符的具体语法
字段标签的Grep模式:\[au\]|\[ti\]|\[ab\]|\[mh\]|\[pt\]|\[dp\]
2. MeSH术语和受控词汇
使用医学主题词表(MeSH)在生物医学文献中进行精确、一致的搜索。
MeSH搜索:
- [mh]标签搜索MeSH术语并自动包含下位词
- [majr]标签限制为该主题作为主要焦点的文章
- 将MeSH术语与副主题词组合以提高特异性(例如diabetes mellitus/therapy[mh])
常用MeSH副主题词:
- /diagnosis - 诊断方法
- /drug therapy - 药物治疗
- /epidemiology - 疾病模式和患病率
- /etiology - 疾病原因
- /prevention & control - 预防措施
- /therapy - 治疗方法
示例:
# Diabetes therapy with specific focus
diabetes mellitus, type 2[mh]/drug therapy AND cardiovascular diseases[mh]/prevention & control
3. 文章类型和出版物过滤
按出版类型、日期、文本可用性和其他属性过滤结果。
出版类型(使用[pt]字段标签):
- Clinical Trial(临床试验)
- Meta-Analysis(荟萃分析)
- Randomized Controlled Trial(随机对照试验)
- Review(综述)
- Systematic Review(系统综述)
- Case Reports(病例报告)
- Guideline(指南)
日期过滤:
- 单一年份:
2024[dp] - 日期范围:
2020:2024[dp] - 具体日期:
2024/03/15[dp]
文本可用性:
- 免费全文:在查询中添加
AND free full text[sb] - 有摘要:在查询中添加
AND hasabstract[text]
示例:
# Recent free full-text RCTs on hypertension
hypertension[mh] AND randomized controlled trial[pt] AND 2023:2024[dp] AND free full text[sb]
4. 通过E-utilities API编程访问
使用NCBI E-utilities REST API以编程方式访问PubMed数据,实现自动化和批量操作。
核心API端点:
- ESearch - 搜索数据库并检索PMID
- EFetch - 以各种格式下载完整记录
- ESummary - 获取文档摘要
- EPost - 上传UID进行批量处理
- ELink - 查找相关文章和链接数据
基本工作流:
import requests
# Step 1: Search for articles
base_url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/"
search_url = f"{base_url}esearch.fcgi"
params = {
"db": "pubmed",
"term": "diabetes[tiab] AND 2024[dp]",
"retmax": 100,
"retmode": "json",
"api_key": "YOUR_API_KEY" # Optional but recommended
}
response = requests.get(search_url, params=params)
pmids = response.json()["esearchresult"]["idlist"]
# Step 2: Fetch article details
fetch_url = f"{base_url}efetch.fcgi"
fetch_params = {
"db": "pubmed",
"id": ",".join(pmids),
"rettype": "xml",
"retmode": "xml",
"api_key": "YOUR_API_KEY"
}
details = requests.get(fetch_url, params=fetch_params)
兼容工具
Claude CodeCursor
标签
后端开发
