Skip to content

Repository files navigation

Auto_PaperFetcher

智能文献抓取与分析工具

English | Français | 日本語


作者: Gaoshan Zeng
邮箱: zenggaoshan05@gmail.com

📖 项目简介

Auto_PaperFetcher 是一个专为科研人员打造的自动化文献工具。它不仅能从主流学术数据库(ArXiv, PubMed, Google Scholar, CrossRef)批量抓取文献元数据,还集成了特定领域的智能分析引擎

通过内置的自然语言处理与正则匹配算法,它能自动从摘要中提取关键科研数据(如材料科学的带隙/化学式、生物医学的P值/样本量、计算机科学的SOTA指标),并支持 PDF 自动下载


✨ 核心功能

  1. 多源数据抓取:支持四大平台:PubMed、ArXiv、Google Scholar、CrossRef。
  2. 🧠 领域自适应分析 (Domain-Specific Analysis)
    • 🧪 材料科学模式 (materials):提取带隙 (Band Gap)、光电转换效率、DFT 计算方法、化学式。
    • 🧬 生物医学模式 (biomed):提取统计学 P 值 (P-value)、样本量 (n=)、置信区间。
    • 💻 计算机科学模式 (cs):提取准确率 (Accuracy)、F1-score、SOTA 声明。
  3. 📊 自动生成报告:运行结束后,自动生成 .txt 格式的详细统计报告,并保留 .json 原始数据。
  4. ⬇️ PDF 自动下载:自动识别 ArXiv 和开放获取链接,批量下载 PDF 到本地。
  5. 智能防爬与去重:内置随机延迟机制防止被封 IP,支持断点续传与重复文献过滤。

💻 本地部署指南 (Windows/Mac/Linux)

本项目推荐使用 Conda 进行环境管理。

第一步:获取代码

git clone [https://github.com/zenggs05/Auto_PaperFetcher.git](https://github.com/zenggs05/Auto_PaperFetcher.git)
cd Auto_PaperFetcher

第二步:创建虚拟环境

建议使用 Python 3.10 版本。

# 1. 创建环境
conda create -n Auto_PaperFetcher python=3.10 -y

# 2. 激活环境
conda activate Auto_PaperFetcher

(注:如果在中国大陆遇到网络问题,请先配置清华大学 Conda 镜像源)

第三步:安装依赖

pip install -r requirements.txt

🚀 使用手册:如何调用不同功能

所有操作均通过命令行 (TerminalCMD) 运行 main.py

1. 基础命令格式

python main.py [参数选项]

2. 针对不同领域的分析调用 (--domain)

本工具支持通过 --domain 参数切换分析引擎。

🧪 场景 A:材料科学 (Materials Science)

目标:搜索 "Perovskite" (钙钛矿),提取带隙和 DFT 方法,并下载 PDF。

python main.py --platform arxiv --keyword "Perovskite solar cell" --analyze --domain materials --download
  • 输出:提取如 1.5 eV, CH3NH3PbI3, HSE06 等数据。

🧬 场景 B:生物医学 (Biomedical)

目标:搜索 "Covid-19 Vaccine" (新冠疫苗),提取样本量和 P 值。

python main.py --platform pubmed --keyword "Covid-19 vaccine efficacy" --analyze --domain biomed
  • 输出:提取如 n=3000, p<0.001 等数据。

💻 场景 C:计算机科学 (Computer Science)

目标:搜索 "Image Classification",寻找 SOTA 模型和准确率。

python main.py --platform arxiv --keyword "Image Classification ResNet" --analyze --domain cs
  • 输出:提取如 Accuracy: 98.5%, SOTA 等信息。

3. 如何调用不同的数据库 (--platform)

使用 --platform 参数指定数据源。

参数值 适用领域 说明
arxiv 物理、CS、数学、材料 推荐。PDF 下载成功率最高,无访问限制。
pubmed 医学、生物、生命科学 需要网络能访问 NCBI 服务器。
google_scholar 全学科 警告:反爬虫极其严格,容易需要验证码,建议配合 VPN 使用。
crossref 通用/DOI检索 适合根据 DOI 或元数据进行广泛搜索。

示例:从 PubMed 搜索

python main.py --platform pubmed --keyword "Diabetes"

4. 如何同时搜索多个数据库?

目前的架构设计为单次运行指定单一平台。若需要同时搜索多个数据库,请在命令行中依次运行多条命令,或编写脚本(Batch/Shell)批量执行。

Windows 批处理示例 (run_all.bat):

python main.py --platform arxiv --keyword "DFT" --json_file_name "arxiv_results.json"
python main.py --platform pubmed --keyword "DFT" --json_file_name "pubmed_results.json"

5. 关键词与过滤参数详解

参数 说明 示例
--keyword 核心搜索词。支持多词组合,用引号括起来。 --keyword "Deep Learning"
--author (可选) 限定作者姓名。 --author "Yoshua Bengio"
--year (可选) 限定发表年份。 --year "2023"
--journal (可选) 限定期刊名称 (PubMed/Scholar有效)。 --journal "Nature"
--max_results 限制最大抓取数量。 --max_results 50
--json_file_name 自定义保存的文件名。 --json_file_name "my_study.json"

📂 输出文件说明

运行成功后,results/ 文件夹下会生成:

  1. xxx.json: 包含所有文献标题、摘要、作者、链接的原始数据。
  2. xxx_report.txt: 智能分析生成的文本报告(含统计图表、提取的数值)。
  3. pdfs/ 文件夹: (如果开启了 --download) 存放下载成功的 PDF 文件。

⚠️ 网络提示:在中国大陆地区使用时,访问 Google Scholar 和 ArXiv 可能不稳定,建议开启系统代理或 VPN。


📝 许可证 (License)

本项目采用 GPL v3 许可证。 这意味着您可以自由使用、修改和分发本项目,但您的衍生项目也必须开源并采用 GPL v3 协议。 详情请参阅 LICENSE 文件。

About

It can automatically retrieve and download the literature to the local area, and at the same time, it will output the analysis results based on the analysis object specified by oneself.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages