国自然大数据平台智能爬虫 - 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
nsfc_spider-0.1.6.tar.gz
(2.1 MB
view details)
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.6.tar.gz.
File metadata
- Download URL: nsfc_spider-0.1.6.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 |
eea0a4d93c6f27c09532433f86a8d04bf375261d0e1e832f668cbfa6c4b45681
|
|
| MD5 |
07e88ec4bfa10c650ac07e32e24f169b
|
|
| BLAKE2b-256 |
b6d9ccac66a4df6dae2c99308e56eb716981313106a6100679d293c42e70771b
|
File details
Details for the file nsfc_spider-0.1.6-py3-none-any.whl.
File metadata
- Download URL: nsfc_spider-0.1.6-py3-none-any.whl
- Upload date:
- Size: 47.7 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 |
18e05ac76295128a1456fedc8d18fcc702002fc72a73d2fc4a3aecc9bee75360
|
|
| MD5 |
a40ac15620df4a181ac0ff3c64942c52
|
|
| BLAKE2b-256 |
2c8769f8a95888a215bf63a1fe433236f8e5f156693411f2c03cec8b801e03a1
|