用途:在给定 URL、DOI 或 PubMed PMID 时,抓取并保存科学文献网页的原始 HTML,便于后续解析、审计或离线查看。适合需要一致输出目录的批量抓取任务,也支持更安全的白名单抓取模式。
主要能力:支持三类输入 URL、DOI、PubMed PMID;每个输入生成一个 .html 文件并保留原始 HTML;可重复传入多个 --url/--doi/--pmid;默认域名白名单(doi.org、pubmed.ncbi.nlm.nih.gov、ncbi.nlm.nih.gov),可用 --allow-all 显式放开;内置超时与重试,减少网络阻塞。
使用方式:需 Python 3.x,仅用标准库。先做最小验证: python scripts/fulltext_fetcher.py --help 单条抓取示例: python scripts/fulltext_fetcher.py --url "https://example.org/page" python scripts/fulltext_fetcher.py --doi "10.1038/s41586-020-2649-2" python scripts/fulltext_fetcher.py --pmid "23273568" 批量与自定义输出目录: python scripts/fulltext_fetcher.py --url "https://example.org/page1" --url "https://example.org/page2" --doi "10.1038/s41586-020-2649-2" --pmid "23273568" --out-dir "outputs" 放开非白名单公共域名: python scripts/fulltext_fetcher.py --doi "10.1038/s41586-020-2649-2" --allow-all 至少提供一种输入;默认输出目录为 outputs/,可用 --out-dir 修改。
限制:仅面向公开可访问网页,不用于受限或需认证内容;不适用于缺失必要输入、凭证或要求编造结果的场景。第三方依赖版本未显式固定,如需严格环境控制应自行固定。批量并行运行时需使用不同 --out-dir 避免路径冲突。运行后应确认输出目录存在且 .html 文件非空。