- Rust 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| src | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| SHA256SUMS | ||
PubMed 全文下载器
批量下载用于检索和分析的论文全文 XML。Windows 和 Linux 均无需安装 Python、Rust、SQLite 或 OpenSSL。
下载
当前版本:0.1.1。
| 系统 | 下载包 |
|---|---|
| Windows 10 / 11,x64 | 下载 Windows ZIP |
| Linux,x64 | 下载 Linux tar.gz |
版本与校验文件。下载与阅读不需要账号。 压缩包包含程序、使用说明和许可证。解压后在终端运行,程序没有图形界面。
Windows
解压 ZIP,在解压目录打开 PowerShell,先试下载 20 个文章版本:
.\pubmed-bulk.exe download --all --limit 20 --out .\sample
确认可用后,用一个新目录开始全量下载:
.\pubmed-bulk.exe download --all --out D:\papers\pubmed
Linux
tar -xzf pubmed-bulk-0.1.1-linux-x64.tar.gz
cd pubmed-bulk-0.1.1-linux-x64
./pubmed-bulk download --all --limit 20 --out ./sample
./pubmed-bulk download --all --out /data/pubmed
程序是 x64 musl 静态二进制,不依赖系统 glibc 版本。
中断后继续
Ctrl+C 可以停止。再次运行原命令,或指定同一输出目录恢复:
.\pubmed-bulk.exe download --resume --out D:\papers\pubmed
.\pubmed-bulk.exe status --out D:\papers\pubmed
.\pubmed-bulk.exe verify --out D:\papers\pubmed
status 查看进度;verify 检查已经完成的文件,将缺失或损坏的文件放回队列,之后用
download --resume 修复。完成文件会跳过,未完成文件支持续传。
Linux 使用同样的参数,把程序名替换成 ./pubmed-bulk,并使用 Linux 输出路径。
下载范围与空间
全文来自 PMC 官方可批量获取的数据集,默认仅下载有 PubMed PMID 的文章版本。 PubMed 的每条题录不一定有可下载的全文。程序不会把摘要当成全文,也不会绕过付费访问限制。
全量模式先保存官方每日清单,再下载正文。它是百万级版本的任务;请将输出目录放到容量足够的存储。
--limit 20 限制纳入清单的版本数,筛选后成功数可能少于 20。试跑与全量下载必须使用不同目录。
同一文章的多个版本分别保存;对应 JSON 保留 DOI、许可、作者稿和撤稿等元数据。
若也需要没有 PMID 的 PMC 文章,创建新任务时加 --include-without-pmid。
按主题下载
.\pubmed-bulk.exe download --query 'cancer AND 2020:2025[pdat]' --out .\cancer
.\pubmed-bulk.exe download --pmids .\pmids.txt --out .\selected
pmids.txt 一行一个 PMID,或用空格、逗号分隔。全量清单模式不需要 NCBI API key。
主题检索建议设置联系邮箱 NCBI_EMAIL;有 key 时可设置环境变量 NCBI_API_KEY,不用写入命令。
常用选项
| 参数 | 用途 |
|---|---|
--workers 8 |
默认最多同时处理 8 个文章任务 |
--cloud-rps 20 |
默认 S3 请求限速,可按网络条件调整 |
--index-only |
只保存清单,之后用 --resume 开始正文下载 |
--format pdf / --format txt |
改为 PDF 或纯文本;仅下载官方提供的格式,需新输出目录 |
export --out <目录> |
导出逐篇结果 results.jsonl |
系统代理与 HTTP(S) 代理环境变量均可使用;单位代理可通过 --ca-bundle 指定可信 CA 文件。
全文完成前会核对官方 MD5,并检查 XML 结构。
许可
程序使用 MIT 许可,见压缩包内 LICENSE。第三方组件的许可文本在 licenses/ 与
THIRD_PARTY_NOTICES.txt。论文使用条件以每篇文章自身的许可为准。