网页搜索与内容提取工具

一个基于Python和Firecrawl API的强大网页搜索与内容提取工具,提供高级网页抓取、搜索和内容分析功能。

  • by josemartinrodriguezmortaloni
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 m4s1t4/webSearch-Tools

使用说明

WebSearch-高级网络搜索和内容提取工具

使用Python构建的强大的web搜索和内容提取工具,利用Firecrawl API提供高级的web抓取、搜索和内容分析功能。

🚀 特性

  • 高级网络搜索:使用可定制的参数执行智能网络搜索
  • 内容提取:使用自然语言提示从网页中提取特定信息
  • 网络爬虫:使用可配置的深度和限制抓取网站
  • Web剪贴:抓取支持各种输出格式的网页
  • MCP集成:作为模型上下文协议(MCP)服务器构建,实现无缝集成

📋 先决条件

  • Python 3.8或更高版本
  • uv包管理器
  • Firecrawl API密钥
  • OpenAI API密钥(可选,用于增强功能)
  • Tavilly API密钥(可选,用于其他搜索功能)

🛠️ 安装

  1. 安装紫外线:
# On Windows (using pip)
pip install uv

# On Unix/MacOS
curl -LsSf https://astral.sh/uv/install.sh | sh

# Add uv to PATH (Unix/MacOS)
export PATH="$HOME/.local/bin:$PATH"

# Add uv to PATH (Windows - add to Environment Variables)
# Add: %USERPROFILE%\.local\bin
  1. 克隆存储库:
git clone https://github.com/yourusername/websearch.git
cd websearch
  1. 使用uv创建和激活虚拟环境:
# Create virtual environment
uv venv

# Activate on Windows
.\.venv\Scripts\activate.ps1

# Activate on Unix/MacOS
source .venv/bin/activate
  1. 使用uv安装依赖项:
# Install from requirements.txt
uv sync
  1. 设置环境变量:
# Create .env file
touch .env

# Add your API keys
FIRECRAWL_API_KEY=your_firecrawl_api_key
OPENAI_API_KEY=your_openai_api_key

🎯 用法

使用Claude进行桌面设置

您可以将Claude for Desktop配置为访问WebSearch工具,而不是直接运行服务器:

  1. 查找或创建您的Claude for Desktop配置文件:

    • 窗户: %env:AppData%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 将WebSearch服务器配置添加到 mcpServers 章节:

{
  "mcpServers": {
    "websearch": {
      "command": "uv",
      "args": [
        "--directory",
        "D:\\ABSOLUTE\\PATH\\TO\\WebSearch",
        "run",
        "main.py"
      ]
    }
  }
}
  1. 确保将目录路径替换为WebSearch项目文件夹的绝对路径。

  2. 保存配置文件并重新启动Claude for Desktop。

  3. 配置后,WebSearch工具将出现在Claude for Desktop的工具菜单(锤子图标)中。

可用工具

  1. 搜索

  2. 提取信息

  3. 抓取网站

  4. 废料内容

📚 api参考

搜索

  • query (str):搜索查询
  • 返回:JSON格式的搜索结果

提取

  • urls (List[str]):从中提取信息的URL列表
  • prompt (str):提取说明
  • enableWebSearch (bool):启用补充网络搜索
  • showSources (bool):包含源引用
  • 返回:以指定格式提取的信息

爬行

  • url (str):起始URL
  • maxDepth (int):最大爬行深度
  • limit (int):可抓取的最大页面数
  • 返回:以markdown/HTML格式抓取的内容

刮擦

  • url (str):目标URL
  • 返回:带有可选屏幕截图的抓取内容

🔧 配置

环境变量

该工具需要某些API键才能运行。我们提供 .env.example 可以用作模板的文件:

  1. 复制示例文件:
# On Unix/MacOS
cp .env.example .env

# On Windows
copy .env.example .env
  1. 编辑 .env 使用API密钥文件:
# OpenAI API key - Required for AI-powered features
OPENAI_API_KEY=your_openai_api_key_here

# Firecrawl API key - Required for web scraping and searching
FIRECRAWL_API_KEY=your_firecrawl_api_key_here

获取API密钥

  1. OpenAI API密钥:

    • 访问 OpenAI平台
    • 注册或登录
    • 导航到API密钥部分
    • 创建新的密钥
  2. Firecrawl API密钥:

如果所有配置都正确,您应该会收到一个包含搜索结果的JSON响应。

故障排除

如果遇到错误:

  1. 确保在您的 .env 文件
  2. 验证API密钥是否有效并且尚未过期
  3. 检查一下 .env 文件位于项目的根目录中
  4. 确保环境变量已正确加载

🤝 贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

📝 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📬 联系

何塞·马丁·罗德里格斯·莫塔罗尼- @m4s1t425 - jmrodriguezm13@gmail.com


由以下材料制成❤️ 使用Python和Firecrawl