WebSearch-高级网络搜索和内容提取工具
使用Python构建的强大的web搜索和内容提取工具,利用Firecrawl API提供高级的web抓取、搜索和内容分析功能。
🚀 特性
- 高级网络搜索:使用可定制的参数执行智能网络搜索
- 内容提取:使用自然语言提示从网页中提取特定信息
- 网络爬虫:使用可配置的深度和限制抓取网站
- Web剪贴:抓取支持各种输出格式的网页
- MCP集成:作为模型上下文协议(MCP)服务器构建,实现无缝集成
📋 先决条件
- Python 3.8或更高版本
- uv包管理器
- Firecrawl API密钥
- OpenAI API密钥(可选,用于增强功能)
- Tavilly API密钥(可选,用于其他搜索功能)
🛠️ 安装
- 安装紫外线:
# 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- 克隆存储库:
git clone https://github.com/yourusername/websearch.git
cd websearch- 使用uv创建和激活虚拟环境:
# Create virtual environment
uv venv
# Activate on Windows
.\.venv\Scripts\activate.ps1
# Activate on Unix/MacOS
source .venv/bin/activate- 使用uv安装依赖项:
# Install from requirements.txt
uv sync- 设置环境变量:
# 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工具,而不是直接运行服务器:
- 查找或创建您的Claude for Desktop配置文件:
- 窗户: %env:AppData%\Claude\claude_desktop_config.json - macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- 将WebSearch服务器配置添加到
mcpServers章节:
{
"mcpServers": {
"websearch": {
"command": "uv",
"args": [
"--directory",
"D:\\ABSOLUTE\\PATH\\TO\\WebSearch",
"run",
"main.py"
]
}
}
}- 确保将目录路径替换为WebSearch项目文件夹的绝对路径。
- 保存配置文件并重新启动Claude for Desktop。
- 配置后,WebSearch工具将出现在Claude for Desktop的工具菜单(锤子图标)中。
可用工具
- 搜索
- 提取信息
- 抓取网站
- 废料内容
📚 api参考
搜索
query(str):搜索查询- 返回:JSON格式的搜索结果
提取
urls(List\[str\]):从中提取信息的URL列表prompt(str):提取说明enableWebSearch(bool):启用补充网络搜索showSources(bool):包含源引用- 返回:以指定格式提取的信息
爬行
url(str):起始URLmaxDepth(int):最大爬行深度limit(int):可抓取的最大页面数- 返回:以markdown/HTML格式抓取的内容
刮擦
url(str):目标URL- 返回:带有可选屏幕截图的抓取内容
🔧 配置
环境变量
该工具需要某些API键才能运行。我们提供 .env.example 可以用作模板的文件:
- 复制示例文件:
# On Unix/MacOS
cp .env.example .env
# On Windows
copy .env.example .env- 编辑
.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密钥
- OpenAI API密钥:
- 访问 OpenAI平台 - 注册或登录 - 导航到API密钥部分 - 创建新的密钥
- Firecrawl API密钥:
- 访问 Firecrawl的网站 - 创建账户 - 导航到您的仪表板 - 生成新的API密钥
如果所有配置都正确,您应该会收到一个包含搜索结果的JSON响应。
故障排除
如果遇到错误:
- 确保在您的
.env文件 - 验证API密钥是否有效并且尚未过期
- 检查一下
.env文件位于项目的根目录中 - 确保环境变量已正确加载
🤝 贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
📝 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📬 联系
何塞·马丁·罗德里格斯·莫塔罗尼- @m4s1t425 - jmrodriguezm13@gmail.com
______________________________________________________________________
由以下材料制成❤️ 使用Python和Firecrawl
