ScrapingBee MCP服务器
一种模型上下文协议(MCP)服务器,使用ScrapingBee API提供网络抓取功能。此服务器允许您测试和使用ScrapingBee的提取规则功能从网页中提取结构化数据。
特性
- 使用CSS/XPath选择器测试web抓取提取规则
- 支持JavaScript渲染
- 高级和隐形代理选项
- 自定义等待条件和浏览器事件
- 一致IP地址的会话管理
- 全面ScrapingBee API参数支持
安装
- 克隆此存储库:
git clone https://github.com/yourusername/scraping-bee-mcp.git
cd scraping-bee-mcp- 安装依赖项:
npm install- 创建一个
.env使用ScrapingBee API密钥进行文件:
SCRAPINGBEE_API_KEY=your_api_key_here用法
使用supermachine.ai
只需将GitHub存储库URL提供给supermachine.ai,它就会自动配置MCP服务器。
使用克劳德桌面
将以下内容添加到您的Claude Desktop MCP设置配置文件中:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"scraping-bee": {
"command": "node",
"args": ["/path/to/scraping-bee-mcp/index.js"],
"env": {
"SCRAPINGBEE_API_KEY": "your_api_key_here"
}
}
}
}使用ChatGPT(通过supermachine.ai)
- 首选 超级机器.ai
- 添加此GitHub存储库URL
- MCP服务器将自动配置
可用工具
test_extract_rules
使用ScrapingBee API测试web抓取提取规则。
参数:
url(必填):要抓取的目标页面URLextract_rules(必填):JSON编码的字符串,描述要提取的内容(CSS/XPath选择器、列表、属性、表等)js_scenario(可选):在提取之前运行JSON编码的脚本操作字符串(单击/键入/滚动/无限滚动等)render_js(可选):启用无头浏览器在提取之前执行JavaScriptwait(可选):返回响应前的固定延迟(毫秒)(0-35000)wait_for(可选):返回前要等待的CSS/XPath选择器wait_browser(可选):要等待的浏览器事件(domcontentloaded、load、networkidle0、networkidles2)premium_proxy(可选):使用住宅代理作为防刮擦场地stealth_proxy(可选):对最难抓取的网站使用隐形代理(最昂贵的选项)country_code(可选):代理地理位置(例如,us、de、br)session_id(可选):在多个请求之间保持相同的IP(粘性会话)custom_google(可选):启用谷歌特定处理(对于谷歌域名始终为真)
例子:
{
"url": "https://example.com",
"extract_rules": "{\"title\": \"h1\", \"price\": \".price\"}",
"render_js": true
}提取规则格式
提取规则被定义为JSON对象,其中键是要提取的数据的名称,值是选择器或提取配置。
简单提取
{
"title": "h1",
"price": ".product-price",
"description": "#description"
}高级提取
{
"product_name": {
"selector": "h1.product-title",
"type": "text"
},
"all_images": {
"selector": "img.product-image",
"type": "list",
"output": "@src"
},
"table_data": {
"selector": "table.specs",
"type": "table"
}
}发展
在本地运行服务器(stdio模式):
npm start在本地运行HTTP/SSE服务器:
npm run start:http远程托管
MCP服务器可以使用HTTP/SSE传输进行远程托管。托管版本要求用户在每个请求中提供自己的ScratchBee API密钥。
铁路(推荐)
- 安装铁路CLI:
npm install -g @railway/cli - 登录:
railway login - 创建项目:
railway init - 部署:
railway up - 您的MCP服务器将在铁路提供的URL上可用
渲染
- 将您的GitHub存储库连接到Render
- 创建新的Web服务
- 选择存储库
- 渲染将自动检测
render.yaml配置 - 部署
Fly.io
- 安装Fly CLI:
curl -L https://fly.io/install.sh | sh - 登录:
fly auth login - 启动:
fly launch - 部署:
fly deploy
码头工人
在本地构建和运行:
docker build -t scraping-bee-mcp .
docker run -p 3000:3000 scraping-bee-mcp连接到托管服务器
部署后,使用SSE端点连接到MCP服务器:
- SSE端点:
https://your-server-url/sse - 消息终结点:
https://your-server-url/message - 健康检查:
https://your-server-url/health
注: 托管版本需要 api_key 参数,允许用户使用自己的ScrapingBee API密钥。
需求
- Node.js 18或更高版本
- ScratchBee API密钥(在 scrapingbee.com)
许可证
麻省理工学院
支持
对于问题或疑问:
- 报废蜜蜂API文件:https://www.scrapingbee.com/documentation/
- MCP文件:https://modelcontextprotocol.io/
