网页抓取服务器

Scrapling MCP Server是一个提供网页抓取能力的服务器,集成了隐身感知的抓取引擎,支持JavaScript渲染和反机器人绕过。

  • by seszele64
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 seszele64/scrapling-mcp

使用说明

报废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.

文档

配置

创建一个 .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许可证-请参阅 许可证 了解详情。