项目简介

Scrapling是一个先进的Python Web抓取库,具备自适应、高性能和反爬虫能力。其内置的MCP服务器模块允许LLM(如Claude, Cursor等)通过标准化的JSON-RPC协议调用Scrapling的功能,实现AI辅助的Web内容获取和数据提取,从而优化LLM的上下文理解并降低Token使用成本。

主要功能点

  • 资源托管与数据访问:提供结构化的Web页面内容(Markdown、HTML或纯文本)作为资源,支持CSS选择器进行精准内容提取。
  • 工具注册与执行:注册了多种Web抓取工具,包括:
    • HTTP GET请求:用于普通HTTP请求,适用于防护级别较低的网站。
    • 批量HTTP GET请求:同时对多个URL发起GET请求。
    • 动态抓取 (Fetch):使用Playwright驱动浏览器进行抓取,适用于需要JavaScript渲染的动态网站。
    • 批量动态抓取 (Bulk Fetch):同时使用Playwright抓取多个动态页面。
    • 隐秘抓取 (Stealthy Fetch):利用Camoufox浏览器,提供高级反爬和反指纹识别功能,适用于高防护级别网站。
    • 批量隐秘抓取 (Bulk Stealthy Fetch):同时使用Camoufox隐秘抓取多个页面。
  • 协议支持:通过Stdio和Streamable HTTP传输协议与MCP客户端通信。

安装步骤

  1. 确保您已安装Python 3.10或更高版本。
  2. 安装Scrapling库及AI相关依赖:
    pip install "scrapling[ai]"
  3. 安装浏览器驱动(Playwright和Camoufox需要):
    scrapling install

服务器配置 (供MCP客户端使用)

MCP客户端需要配置与Scrapling MCP服务器建立连接。以下是推荐的JSON格式配置示例,请根据您的实际需求调整'command'和'args':

{
  "server_name": "Scrapling MCP Server",
  "description": "通过Scrapling库为LLM提供强大的Web抓取和数据提取工具,支持自适应抓取和反爬机制。",
  "command": "scrapling",
  "args": ["mcp", "--http", "--host", "0.0.0.0", "--port", "8000"],
  "transport": "streamable-http",
  "endpoint": "http://0.0.0.0:8000"
}

参数注释

  • 'server_name': (字符串) MCP服务器的显示名称。
  • 'description': (字符串) 服务器的简要描述。
  • 'command': (字符串) 启动Scrapling CLI的命令,通常是'scrapling'。
  • 'args': (字符串数组) 传递给'scrapling'命令的参数。
    • 'mcp': 告诉Scrapling启动MCP服务器模式。
    • '--http': (可选) 启用HTTP传输协议。如果不需要HTTP,可以移除此参数。
    • '--host': (可选) 服务器监听的主机地址。默认值为'0.0.0.0',表示监听所有可用网络接口。
    • '--port': (可选) 服务器监听的端口号。默认值为'8000'。
    • 如果'--http'参数被移除,服务器将默认使用Stdio传输协议。
  • 'transport': (字符串) 指定MCP客户端应使用的传输协议。根据'args'中的'--http'参数选择'streamable-http'或'stdio'。
  • 'endpoint': (字符串, 仅当'transport'为'streamable-http'时需要) MCP服务器的访问地址。

基本使用方法

  1. 启动MCP服务器:在终端中运行以下命令。如果希望通过HTTP访问,请添加'--http'参数:

    scrapling mcp --http --host 0.0.0.0 --port 8000

    服务器启动后,它将等待MCP客户端的连接。

  2. (MCP客户端操作):在您的LLM客户端(如Cursor或Claude)中,配置Scrapling MCP服务器的连接信息(参考“服务器配置”部分),然后即可通过LLM调用Scrapling提供的各种Web抓取工具。例如,LLM可能会调用'get'工具来获取某个URL的Markdown内容,或调用'stealthy_fetch'工具来处理高防护网站。

信息

分类

网页与API