Findpapers 是一个 Python 工具,用于同时检索多个学术数据库,覆盖 arXiv、bioRxiv、IEEE、medRxiv、PubMed 和 Scopus,用一次查询完成原本需要在多个平台重复执行的搜索,并对结果去重、导出为结构化格式,便于系统性文献综述。
安装:pip install findpapers
主要能力:通过 findpapers.search 传入 query、since、until、databases、limit_per_database 等参数跨库检索,结果写入 JSON;用 findpapers.load 读取已保存的搜索;用 findpapers.refine 在 Jupyter 或终端中以 relevant、maybe、irrelevant 等类别交互式筛选,也可在代码中按引用数等条件设置 paper.selected;用 generate_bibtex 与 generate_csv 导出,only_selected 可只导出已选文献。
查询语法:支持 AND、OR、NOT 布尔运算符、括号分组,检索词放在方括号中,例如 [deep learning] AND [medical imaging]) AND NOT [survey]。
数据库与密钥:arXiv、PubMed、bioRxiv、medRxiv 无需 API key;IEEE 可选配,Scopus 必须配置,通过环境变量 SCOPUS_API_TOKEN 与 IEEE_API_TOKEN 设置。
命令行用法:findpapers search "search.json" --query "[climate change] AND [adaptation]" --since 2022-01-01 --databases arxiv pubmed;findpapers refine "search.json";findpapers bibtex "search.json" "refs.bib" --only-selected。
适用场景:系统性综述流程中的检索、去重、标题摘要筛选与参考文献导出。限制:Scopus 需 Elsevier API key,IEEE 需 IEEE Xplore API key;各库收录范围与可用文献取决于数据库本身;具体限流与配额资料暂未提供。