学术论文抓取技能 是做什么的?
私有 Codex 技能,融合 GAO-pooh/paper-scraper 与 Flyme886/nature-downloader,并配备可配置的已验证本地 DOI API 回退机制(MIT 协议)。
功能概述
- 通用论文抓取:基于 GAO-pooh/paper-scraper 实现,支持通过 DOI 或文章元数据从多个开放获取源抓取 PDF。
- Nature 系列下载:集成 Flyme886/nature-downloader,专门从 nature.com 下载全文。
- 本地 DOI API 回退:当外部大源不可用时,自动切换到已验证的本地 DOI 解析端点,提高成功率。
- 可配置选项:提供 YAML 配置文件(
config.yml),可自定义 API 端点、超时时间、重试次数等。
使用前提
- 系统已安装 Python 3.8+ 及
requests库。 - 若使用本地 DOI API 回退,需提前部署并运行配套的本地服务(参见
local-doi-service/目录)。 - 对于 Nature 下载,可能需要合法的机构访问权限或订阅。
安装
pip install -r requirements.txt
配置
复制 config.example.yml 为 config.yml,并根据需要修改:
doi_api:
primary: "https://api.dx.doi.org/"
fallback: "http://localhost:8080/doi/"
timeout: 10
retries: 3
paper_scraper:
sources:
- "arxiv"
- "core"
- "unpaywall"
max_pages: 5
nature_downloader:
output_dir: "./downloads/nature"
concurrent: 2
使用方法
通过命令行
单次抓取一篇论文(支持 DOI):
python scraping_script.py --doi 10.1038/s41586-023-05800-7
批量抓取列表:
python scraping_script.py --list paper_dois.txt
作为 Codex 技能调用
在 Codex 会话中发送:
/scrape-doi 10.1038/s41586-023-05800-7
依赖
- Python 3.8+
requestspyyamlbeautifulsoup4(用于解析返回的 HTML)tqdm(进度条)
许可
注意事项
- 请尊重版权与访问限制,仅用于个人学习或研究。
- 本地 DOI API 回退端点必须事先部署,否则会引发连接错误。
- 该技能属于私有仓库,未向公众开放。