国自然大数据平台智能爬虫 - AI驱动的基金项目数据采集工具
Project description
NSFC Spider - 国自然大数据平台智能爬虫
🕷️ AI驱动的国家自然科学基金项目数据采集工具
基于 browser-use 框架,使用大语言模型智能理解网页结构,自动适应页面变化。
特性
- 🤖 AI 驱动:使用 LLM 理解网页,自动适应页面变化
- 💬 对话式 CLI:交互式命令行界面
- 🔧 灵活配置:支持多种 LLM 提供商
- 📊 结构化输出:JSON/CSV/Markdown 格式导出
安装
方式一:使用 pip 安装(推荐)
# 1. 安装包
pip install nsfc-spider
# 2. 安装浏览器
playwright install chromium
方式二:从源码安装
# 1. 克隆仓库
git clone https://github.com/yourusername/nsfc-spider.git
cd nsfc-spider
# 2. 安装依赖
pip install -e .
# 3. 安装 Playwright 浏览器
playwright install chromium
配置
快速配置(推荐)
安装后首次运行,使用交互式配置:
nsfc-spider
在 CLI 中输入 /config 按提示配置 LLM API。
手动配置
创建配置文件 config/.env 或 .env:
# LLM 配置
LLM_PROVIDER=openai
LLM_MODEL=gpt-4o
LLM_API_KEY=your-api-key-here
LLM_BASE_URL=https://api.openai.com/v1
# 浏览器配置
HEADLESS=false
获取 API Key:
- OpenAI: https://platform.openai.com/api-keys
- Anthropic: https://console.anthropic.com/
- DeepSeek: https://platform.deepseek.com/
详细配置说明请查看 配置指南。
快速开始
使用命令行工具
# 安装后直接运行
nsfc-spider
# 或使用 Python 模块方式
python -m nsfc_spider.cli
开发模式运行
# 从源码目录运行
cd nsfc-spider
python run.py
CLI 命令
nsfc> help # 查看帮助
nsfc> config # 配置 LLM 和浏览器
nsfc> search 智慧港口 # 搜索项目
nsfc> search 人工智能 -p 3 # 搜索并爬取3页
nsfc> task <自然语言任务> # 执行自定义任务
nsfc> status # 查看配置状态
nsfc> exit # 退出
支持的 LLM
- OpenAI (gpt-4o, gpt-4o-mini)
- Anthropic (claude-sonnet-4)
- DeepSeek
- Ollama (本地模型)
项目结构
nsfc-spider/
├── src/nsfc_spider/
│ ├── __init__.py
│ ├── agent.py # Agent 封装
│ ├── config.py # 配置管理
│ ├── cli/ # CLI 模块
│ └── tasks/ # 爬取任务
│ ├── direct_scraper.py # 直接爬取
│ ├── nsfc_search.py # AI搜索
│ ├── analyzer.py # 数据分析
│ ├── llm_filter.py # LLM筛选
│ └── review_generator.py # 综述生成
├── config/
│ └── .env.example
├── tests/ # 测试文件
├── docs/ # 文档
├── run.py # 开发入口
├── main.py # 打包入口
└── pyproject.toml # 项目配置
文档
许可证
MIT License - 详见 LICENSE 文件
贡献
欢迎提交 Issue 和 Pull Request!查看 贡献指南 了解详情。
更新日志
查看 CHANGELOG.md 了解版本更新历史。
致谢
- browser-use - 核心浏览器自动化框架
- Playwright - 浏览器控制
- 所有贡献者和用户
联系方式
- 📦 PyPI: https://pypi.org/project/nsfc-spider/
- 🐛 问题反馈: GitHub Issues
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nsfc_spider-0.1.1.tar.gz.
File metadata
- Download URL: nsfc_spider-0.1.1.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
434f4597dfa0de18a8fbe2bab2d81f63e1e3f500d987d47791b61371beddcd32
|
|
| MD5 |
e87b42167179d8f79bec98aef0b3f25d
|
|
| BLAKE2b-256 |
4f08517c3513d00e120d43f59134a52169a65cc02aa6677edd19d6a2d32b4f66
|
File details
Details for the file nsfc_spider-0.1.1-py3-none-any.whl.
File metadata
- Download URL: nsfc_spider-0.1.1-py3-none-any.whl
- Upload date:
- Size: 45.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
225bcc554f8cf24482916b721d712809593050ca14a6c4894225f64f5d03e776
|
|
| MD5 |
7c43406949c667a0e451e57808b67d81
|
|
| BLAKE2b-256 |
c624b525057a25b0e8fa562a2e0a5ed9daa6ac47cb41799e456f371800a7cb2c
|