使用说明
报废MCP服务器
一种模型上下文协议(MCP)服务器,通过集成的隐形感知抓取引擎提供网络抓取功能。建在上面 FastMCP 并利用 报废 图书馆。
概述
报废MCP服务器使AI代理能够:
- 从具有不同级别反机器人保护的网站可靠地获取网络内容
- 必要时渲染JavaScript以访问动态加载的内容
- 通过可配置的隐形设置绕过常见的反机器人措施
- 处理需要身份验证的网站的基于会话的抓取
- 使用CSS选择器从抓取的页面中提取结构化数据
主要特点
| 特性 | 描述 |
|---|---|
| JavaScript渲染 | 基于浏览器的动态内容完整渲染 |
| 隐形模式 | 多个预配置的隐身级别(最低、标准、最高) |
| Cloudflare支持 | 自动检测和解决Cloudflare挑战 |
| 会话管理 | 用于状态抓取的持久会话 |
| 代理旋转 | 支持自动轮换的代理列表 |
| 重试逻辑 | 指数回退,可配置重试尝试 |
| CSS提取 | 使用CSS选择器进行结构化数据提取 |
| URL验证 | 内置SSRF保护和安全检查 |
| MCP集成 | 用于AI代理集成的原生MCP协议支持 |
| Spider框架 | 类似垃圾的API,具有异步回调和并发爬网 |
| 迷彩集成 | 修改了带有隐形补丁的Firefox浏览器 |
安装
# Clone the repository
git clone https://github.com/seszele64/scrapling-mcp.git
cd mcp-scraper
# Install dependencies
pip install -e .
# Or install with dev dependencies
pip install -e ".[dev]"
快速开始
from mcp_scraper.stealth import scrape_with_retry, format_response, get_standard_stealth
async def scrape_example():
# Use standard stealth settings
config = get_standard_stealth()
# Scrape a URL
page = await scrape_with_retry(
url="https://example.com",
config=config,
max_retries=3
)
# Format the response
result = format_response(page, "https://example.com")
print(f"Title: {result.get('title')}")
print(f"Content: {result.get('text')[:200]}...")
可用的MCP工具
| 工具 | 说明 |
|---|---|
scrape_simple |
使用TLS指纹识别的快速HTTP抓取 |
scrape_stealth |
具有可配置隐形功能的浏览器自动化 |
scrape_session |
基于会话的持久状态抓取 |
extract_structured |
使用CSS选择器提取结构化数据 |
scrape_batch |
按顺序处理多个URL |
有关所有工具及其参数的详细文档,请参阅 代理商.md.
文档
- 代理商.md -全面的项目文件
- docs/quickstart.md -快速入门指南
- VDD_测试.md -测试指南
配置
创建一个 .env 文件基于 .env.example:
# Proxy URL for requests (optional)
PROXY_URL=
# Default timeout in seconds (1-300)
DEFAULT_TIMEOUT=30
# Logging level
LOG_LEVEL=INFO
# Maximum retry attempts (0-10)
MAX_RETRIES=3
隐形级别
| 级别 | 用例 | 超时 |
|---|---|---|
| 最小化 | 快速、简单的网站 | 15秒 |
| 标准 | 大多数抓取任务 | 30s |
| 最大 | 受保护的网站,Cloudflare | 60年代 |
许可证
MIT许可证-请参阅 许可证 了解详情。