B

BrowserScrape 智能抓取

@Raghu6798/Browser_scrape_mcp
0 Stars 59 次浏览 Raghu6798 更新于 2026-08-23

通过浏览器自动化工具启用智能网络抓取,该工具可以搜索谷歌、导航到网页,并从包括GitHub、Stack Overflow和文档网站在内的各种网站提取内容。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

🤖 浏览器自动化代理

一个使用 MCP(Model Controlled Program)构建的强大浏览器自动化工具,结合了网络爬取功能与由 LLM 驱动的智能。该代理可以搜索 Google、导航到网页,并智能地从包括 GitHub、Stack Overflow 和文档站点等各种网站抓取内容。

🚀 特性

  • 🔍 Google 搜索集成:为任何查询找到并检索顶级搜索结果
  • 🕸️ 智能网络爬取:针对不同类型网站定制的爬取策略:
    • 📂 GitHub 仓库
    • 💬 Stack Overflow 问题和答案
    • 📚 文档页面
    • 🌐 通用网站
  • 🧠 AI 驱动处理:使用 Mistral AI 理解和处理抓取的内容
  • 🥷 隐身模式:实现浏览器指纹保护以避免被检测
  • 💾 内容保存:自动保存从抓取页面中获取的截图和文本内容

🏗️ 架构

该项目使用由 MCP 支持的客户端-服务器架构:

  • 🖥️ 服务器:处理浏览器自动化和网络爬取任务
  • 👤 客户端:使用 Mistral AI 和 LangGraph 提供 AI 接口
  • 📡 通信:使用 stdio 进行客户端-服务器通信

⚙️ 要求

  • 🐍 Python 3.8+
  • 🎭 Playwright
  • 🧩 MCP (Model Controlled Program)
  • 🔑 Mistral AI API 密钥

📥 安装

  1. 克隆仓库:
git clone https://github.com/yourusername/browser-automation-agent.git
cd browser-automation-agent
  1. 安装依赖项:
pip install -r requirements.txt
  1. 安装 Playwright 浏览器:
playwright install
  1. 在项目根目录下创建一个 .env 文件,并添加您的 Mistral AI API 密钥:
MISTRAL_API_KEY=your_api_key_here

📋 使用

运行服务器

python main.py

运行客户端

python client.py

示例交互

当服务器和客户端都运行时:

  1. 根据提示输入您的查询
  2. 代理将:
    • 🔍 在 Google 上搜索相关结果
    • 🧭 导航至最高结果
    • 📊 根据网站类型抓取内容
    • 📸 将截图和内容保存到文件
    • 📤 返回处理后的信息

🛠️ 工具函数

get_top_google_url

🔍 搜索 Google 并返回给定查询的最高结果 URL。

browse_and_scrape

🌐 导航到一个 URL 并根据网站类型抓取内容。

scrape_github

📂 专门用于从 GitHub 仓库提取 README 内容和代码块。

scrape_stackoverflow

💬 从 Stack Overflow 页面提取问题、答案、评论和代码块。

scrape_documentation

📚 优化用于从文档页面提取文档内容和代码示例。

scrape_generic

🌐 从通用网站提取段落文本和代码块。

📁 文件结构

browser-automation-agent/
├── main.py            # MCP server implementation
├── client.py          # Mistral AI client implementation
├── requirements.txt   # Project dependencies
├── .env               # Environment variables (API keys)
└── README.md          # Project documentation

📤 输出文件

代理生成带有时间戳的两种类型的输出文件:

  • 📸 final_page_YYYYMMDD_HHMMSS.png:最终页面状态的截图
  • 📄 scraped_content_YYYYMMDD_HHMMSS.txt:从页面提取的文本内容

⚙️ 自定义

您可以在代码中修改以下参数:

  • 🖥️ 浏览器窗口大小:在 browse_and_scrape 中调整 widthheight
  • 👻 无头模式:设置 headless=True 以进行不可见的浏览器操作
  • 🔢 Google 搜索结果数量:在 get_top_google_url 中更改 num_results

❓ 故障排除

  • 🔌 连接问题:确保服务器和客户端分别在不同的终端中运行
  • 🎭 Playwright 错误:请确保已通过 playwright install 安装了浏览器
  • 🔑 API 密钥错误:验证您的 Mistral API 密钥是否正确设置在 .env 文件中
  • 🛣️ 路径错误:如果需要,请更新 client.py 中指向 main.py 的路径

📜 许可证

MIT License

🤝 贡献

欢迎贡献!请随时提交 Pull Request。


使用 🧩 MCP, 🎭 Playwright, 和 🧠 Mistral AI 构建