网络爬虫AI代理

一个基于LangGraph和OpenRouter的交互式CLI AI代理,能够搜索网络、抓取URL并获取最新新闻,适用于需要实时数据检索和处理的场景。

  • by HarshiLMalani07
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 HarshiLMalani07/Agentic_Web_Scraper

使用说明

网络爬虫(AI代理)

一个由以下组件构建的交互式CLI AI代理 LangGraph 和 OpenRouter 它可以搜索网络,抓取任何URL,并获取最新新闻——所有这些都可以通过一个对话提示完成。

代理根据您的要求决定使用哪个工具:


特性

  • 会话式CLI——只需键入您想要的内容;代理人选择了正确的工具。
  • 通过LangGraph实现多工具推理循环(模型可以调用工具,读取结果,然后回答)。
  • 内存检查点,以便代理将上下文保持在会话中。
  • 智能路由:明确的短语,如 “搜索网络”, 查找,或 “最佳实践” 强制进行实时搜索,而不是凭记忆回答。
  • 抓取页面的内容会自动截断,以保持在模型上下文限制范围内。

需求

  • Python 3.12 (建议使用--3.14可能会遇到一些依赖项的构建问题)
  • 一 OpenRouter API密钥(必需)
  • 要启用的工具的可选API密钥:
    • Tavily(网络搜索)
    • Firecrawl(URL抓取)
    • 新闻API(新闻)

安装

1.克隆并进入项目

git clone <your-repo-url>
cd Web_Scraper

2.创建虚拟环境

python3.12 -m venv venv

如果你使用Homebrew Python 3.12:

/opt/homebrew/opt/python@3.12/bin/python3.12 -m venv venv

激活

# macOS / Linux
source venv/bin/activate

# Windows
venv\Scripts\Activate

3.安装依赖项

pip install --upgrade pip
pip install -r requirements.txt

4.配置环境变量

cp .env.example .env

编辑 .env 并设置为最小值:

OPENROUTER_API_KEY=your_openrouter_api_key
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1

添加您拥有的任何可选密钥:

TAVILY_API_KEY=your_tavily_key
FIRECRAWL_API_KEY=your_firecrawl_key
NEWS_API_KEY=your_newsapi_key

跑

从项目根:

source venv/bin/activate
python scraper/scraper.py

在 Enter : 提示,尝试以下操作:

  • search Nobel Prize winners 2025
  • Give me 5 actor names
  • Scrape https://example.com
  • Latest news on tesla

每轮键入一个新查询——代理会记住会话中的对话。


项目结构

Web_Scraper/
├── scraper/
│   ├── scraper.py     # LangGraph agent + CLI loop
│   ├── tools.py       # Tavily, Firecrawl, and NewsAPI tools
│   └── prompts.py     # System prompt that guides tool selection
├── requirements.txt
├── .env.example
└── README.md

可选:使用 uv 更快的安装

紫外线 是一个快速的Python包和项目管理器(比pip快10-100倍)。

安装uv(macOS/Linux):

curl -LsSf https://astral.sh/uv/install.sh | sh

创建环境并安装依赖项:

uv venv .venv --python 3.12
source .venv/bin/activate
uv pip install -r requirements.txt
uv run python scraper/scraper.py

您可以使用 pip+venv 或 紫外线 --两者都工作。


故障排除

  • OPENROUTER_API_KEY 缺失 --确保 .env 存在于项目根目录中并已加载(脚本使用 python-dotenv).
  • 工具返回“未配置API密钥” --在中设置相应的密钥 .env 并重新启动。
  • 安装时生成错误 --切换到Python 3.12;一些依赖项还不支持3.14。

许可证

麻省理工学院——您可以自由使用、修改和构建它。