LightCrawl icon

LightCrawl

LightCrawl 是一款可自托管的网页抓取 API 与 MCP 服务器,可将网页转换为干净的 Markdown,适用于本地工具和开发工作流。支持 HTTP 访问、MCP 客户端、article 重点提取、full 全页转换,以及可选的 Redis 爬取。

LightCrawl

概述

LightCrawl 是一款可自托管的网页抓取 API 与 Model Context Protocol(MCP)服务器,可将网页转换为干净的 Markdown。它被设计为一种轻量、单容器的替代方案,适合希望进行页面提取、站点映射和爬取,而不想为每个请求都运行完整浏览器栈的开发者。

该项目强调低资源运行和灵活部署。根据 README,它可以通过 Express API 提供 HTTP 请求服务,通过 stdio 响应 MCP 客户端,并可根据页面在静态抓取与基于浏览器的渲染之间切换。

仓库文档还将 LightCrawl 定位于本地开发、基于 Docker 的部署,以及在需要多个 worker 或排队任务时使用 Redis 支持的分布式爬取。其公开页面将其描述为开源且可自托管,而不是托管式 SaaS 产品。

核心能力

混合抓取模式

先使用轻量级的静态 HTTP 抓取;仅在需要渲染或存在机器人防护时才回退到 Playwright。

快速响应路径

支持 `fast=true` 模式,可跳过滚动延迟,并使用更轻量的 DOM 解析器,以减少 CPU 和内存占用。

动态内容处理

在需要浏览器回退时自动滚动页面并捕获渲染后的 HTML,有助于处理延迟加载内容。

两种提取模式

使用基于 Readability 的 `article` 模式将页面转换为 Markdown,并提供用于完整 HTML 到 Markdown 转换的 `full` 模式。

爬取与映射工作流

查找内部 URL 用于映射,支持递归爬取,并可在 Redis 中运行爬取队列以进行分布式处理。

运维与客户端接口

在 HTTP API 之外,还提供与 Prometheus 兼容的指标、结构化 JSON 日志以及 MCP 服务器接口。

常见用例

  • 将文章转换为可读文本

    当你想将博客文章、新闻报道或文档页面的主要正文提取为干净的 Markdown,供后续处理时,请使用 `article` 模式。

  • 捕获完整页面内容

    当你需要整个页面正文,例如目录页、门户页或搜索结果,而不是只保留主要文章内容时,请使用 `full` 模式。

  • 映射或爬取网站

    使用映射和爬取端点,从目标域名发现内部链接,然后按配置的深度和数量限制递归遍历站点。

  • 在隔离环境中自托管

    当你需要一个隔离的抓取器,并希望将浏览器执行留在客户端机器之外时,可在 Docker 中或以单个自托管容器运行该服务。

  • 使用 Redis 扩展爬取工作负载

    当项目需要跨多个任务共享队列状态或协作式后台 worker 时,启用基于 Redis 的爬取。

Pros and Cons

Pros

  • 将抓取、映射和爬取整合在一个可自托管服务中。
  • 采用轻量的静态优先流程,在页面简单时可避免浏览器渲染。
  • 提供面向文章的提取模式以获得更干净的内容,以及用于更广泛页面转换的 full 模式。
  • 支持基于 Redis 的分布式爬取,适合更大规模的工作负载。
  • 包含诸如与 Prometheus 兼容的指标和结构化日志等可观测性功能。

Cons

  • 源材料除 HTTP API 和 MCP 服务器支持之外,对客户端/库兼容性的说明有限。
  • 某些运维细节,例如确切的输出 schema 和高级集成,仅在所提供的来源中有部分文档说明。

FAQ

LightCrawl 如何部署和访问?

LightCrawl 以自托管服务的形式运行。README 说明它既可作为基于 Express 的 HTTP API,也可作为 MCP 服务器,并支持可配置的访问控制,例如可选的 API 密钥和允许的 IP 列表。

LightCrawl 会从网页中提取什么?

README 说明了两种提取模式:`article` 用于提取主要文章内容,`full` 用于将整个 HTML 正文转换为 Markdown。它还包含用于抓取、映射和爬取的端点。

LightCrawl 支持分布式爬取吗?

该项目同时支持内存队列和基于 Redis 的爬取队列。当设置 `REDIS_URL` 时,它可以使用 Redis 作为分布式队列和状态后端,并可通过 `ENABLE_DISTRIBUTED_WORKER` 启用可选的后台 worker。

LightCrawl 可以在 Docker 中运行吗?

README 列出了 Dockerfile、单容器部署方案,以及针对仅使用 Chromium 的 Playwright 优化的多阶段构建,因此它适合基于容器的自托管。

LightCrawl 本身是付费服务吗?

GitHub 的公开定价页面显示了 Free 计划以及 GitHub 自身提供的付费计划。这表明该项目托管在 GitHub 上,但仓库 README 仍将 LightCrawl 描述为一个可自托管的开源项目,而不是托管式 SaaS 产品。

Quick Facts

类别
开发者工具
产品类型
可自托管的网页抓取 API 和 MCP 服务器
主要输出
将网页转换为 Markdown
部署方式
单容器,适合 Docker
运行时
Node.js 18+},{