NCBI E-utilities 客户端:检索 PubMed、获取摘要、下载 PMC 全文。 线程安全;内部使用信号量做速率限制。
PubMedEUtilities
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| Configure | 1 | 配置客户端。建议在程序启动时调用一次。 |
| SetTimeout | 1 | 设置 HTTP 超时(默认 5 分钟)。 |
| SearchAndFetchAsync | 1 | 一站式检索:执行 ESearch → EFetch(pubmed) 解析题录与摘要 → 若存在 PMC ID 则下载 PMC 全文(HTML 或纯文本)。 |
| FetchByPmidAsync | 1 | 根据单个 PMID 获取文献(含摘要,可选 PMC 全文)。 |
| ESearchAsync | 1 | 执行 ESearch,返回 PMID 列表。 使用 retmode=xml 以避免 JSON 依赖。 |
| ESummaryAsync | 1 | 执行 ESummary,返回原始 XML 字符串。 |
| FetchPubmedRecordsAsync | 1 | 调用 EFetch(db=pubmed, retmode=xml) 获取题录与摘要,并解析为 PubMedArticle 列表。 一次最多 200 个 PMID(NCBI 建议值)。 |
| ParsePubmedXml | 1 | 解析 PubMed EFetch XML,返回 PubMedArticle 列表。 |
| FetchPmcFullTextAsync | 1 | 下载 PMC 全文。优先尝试 HTML,失败则回退纯文本。 |
| FetchPmcXmlAsync | 1 | 调用 EFetch(db=pmc, retmode=xml) 获取 PMC 全文 XML。 |
| FindPmcIdByPmidAsync | 1 | 使用 ELINK 检查 PMID 是否有对应的 PMC 全文,返回 PMC ID(无则空)。 |
| ConvertPmcXmlToHtml | 1 | 将 PMC 全文 XML 转换为结构化 HTML 文档。 保留标题、章节、段落、表格(简化)、图说明。 |
| RenderSectionToHtml | 1 | 递归渲染章节为 HTML。 |
| RenderInlineHtml | 1 | 渲染段落内联内容(粗体、斜体、链接、上标、下标)。 |
| ConvertTableElementToHtml | 1 | 将 JATS <table> 元素转为 HTML 表格。 |
| ConvertPmcXmlToText | 1 | 将 PMC 全文 XML 转换为纯文本(去除所有标签,保留段落结构)。 |
| ThrottleAsync | 1 | 速率限制:确保两次请求间隔不小于 _minIntervalMs。 |
| FindAttributeByLocalName | 1 | 按本地名查找属性(忽略命名空间前缀,用于 xlink:href 等)。 |
03 Members
String, String, String)配置客户端。建议在程序启动时调用一次。
| Name | Type | Description |
|---|---|---|
email | String | 联系邮箱(NCBI 要求标注)。 |
apiKey | String | NCBI API Key(可选,可大幅提升速率上限)。 |
toolName | String | 工具名(默认 PubMedFetcher)。 |
TimeSpan)设置 HTTP 超时(默认 5 分钟)。
一站式检索:执行 ESearch → EFetch(pubmed) 解析题录与摘要 → 若存在 PMC ID 则下载 PMC 全文(HTML 或纯文本)。
检索到的文献列表。
String, Boolean, String, String, CancellationToken)根据单个 PMID 获取文献(含摘要,可选 PMC 全文)。
String, Int32, Int32, String, CancellationToken)执行 ESearch,返回 PMID 列表。 使用 retmode=xml 以避免 JSON 依赖。
IEnumerable(Of String), CancellationToken)执行 ESummary,返回原始 XML 字符串。
IEnumerable(Of String), CancellationToken)调用 EFetch(db=pubmed, retmode=xml) 获取题录与摘要,并解析为 PubMedArticle 列表。 一次最多 200 个 PMID(NCBI 建议值)。
String)解析 PubMed EFetch XML,返回 PubMedArticle 列表。
下载 PMC 全文。优先尝试 HTML,失败则回退纯文本。
| Name | Type | Description |
|---|---|---|
article | PubMedArticle | 目标文献(需已填充 PmcId)。 |
preferredFormat | String | "html" 或 "text"。 |
outputDirectory | String | 若非空,则将全文写入该目录。 |
String, CancellationToken)调用 EFetch(db=pmc, retmode=xml) 获取 PMC 全文 XML。
String, CancellationToken)使用 ELINK 检查 PMID 是否有对应的 PMC 全文,返回 PMC ID(无则空)。
String, PubMedArticle)将 PMC 全文 XML 转换为结构化 HTML 文档。 保留标题、章节、段落、表格(简化)、图说明。
XElement, XNamespace, StringBuilder, Int32)递归渲染章节为 HTML。
XElement, XNamespace)渲染段落内联内容(粗体、斜体、链接、上标、下标)。
XElement, XNamespace)将 JATS <table> 元素转为 HTML 表格。
String)将 PMC 全文 XML 转换为纯文本(去除所有标签,保留段落结构)。
CancellationToken)速率限制:确保两次请求间隔不小于 _minIntervalMs。
XElement, String)按本地名查找属性(忽略命名空间前缀,用于 xlink:href 等)。