LightCrawl logo

LightCrawl

认领

LightCrawl 是一款可自托管的 Web 抓取 API 和 MCP server,可将网页转换为 Markdown。适合开发者与 AI 工作流,提供轻量、容器化的抓取、爬取和页面映射方案。

LightCrawl preview

概述

LightCrawl 是一款轻量、单容器、可自托管的 Web 抓取 API 和 Model Context Protocol(MCP)server。它可将网页转换为干净的 Markdown,并在仓库中被定位为 Firecrawl 的一个最小化、低成本替代方案,适用于本地开发和低资源环境。

该项目旨在同时处理简单页面和更难抓取的目标。它会先进行静态抓取,在检测到需要 JavaScript 渲染或存在反爬保护时回退到 Playwright,然后通过 HTTP API 或 MCP 接口返回结果。README 还描述了面向文章的提取、整页转换、爬取、站点映射、基于 Redis 的分布式队列,以及可选的基于 Brave Search 的搜索工具。

该仓库将此服务定位为面向开发者和 AI agent 工作流的自托管工具,适合获取已清洗的网页内容,而不是原始浏览器访问。其文档强调容器化隔离、Markdown 输出,以及通过环境变量进行配置,例如 `PORT`、`API_KEY`、`ALLOWED_IPS`、`REDIS_URL` 和 `MAX_CONCURRENCY`。

功能

混合抓取流水线

先尝试轻量级的静态 HTTP 抓取,仅在页面看起来是动态页面或受保护时才回退到无头浏览器。这样既能让简单页面保持快速,又不会放弃对 JavaScript 密集型网站的支持。

两种内容提取模式

提供 `article` 和 `full` 两种提取模式。`article` 使用 Mozilla Readability 提取主要内容,而 `full` 会将整个 HTML body 转换为 Markdown。

用于轻量运行的快速模式

支持 `fast=true`,可跳过较长的浏览器等待路径,改用更轻量的 DOM 解析器。README 将此模式定位于更低的 CPU 和内存占用。

双 API 与 MCP 接口

同时作为 Express HTTP API 和通过 stdio 运行的 MCP server。仓库还提到了用于端点文档和测试的 Swagger UI。

爬取与站点映射

可递归抓取网站,并能映射已注册域名中的内部 URL。它同时支持内存队列和基于 Redis 的分布式爬取。

自托管运维工具

使用带隐身工具的 Playwright、原生兼容 Prometheus 的指标和结构化 JSON 日志。Docker 镜像只安装 Chromium,以尽量减小容器体积。

使用场景

  • AI 与自动化流水线

    当你希望将网页标准化为 Markdown 供后续处理,而不是在自己的应用中打开浏览器时,可以将其作为本地或服务端抓取层来运行。

  • 从内容页面中提取文章

    当目标是博客文章、新闻报道或文档页面,且主要内容比导航或布局更重要时,可使用 article 模式。

  • 用于结构化页面的整页转换

    当你需要保留整个页面正文时,例如门户、目录列表或搜索结果页面,可使用 full 模式。

  • 站点发现与递归爬取

    当你需要发现同一已注册域名中的相关页面,并在深度和数量限制内递归处理站点时,可使用 crawl 和 map 端点。

  • 自托管抓取基础设施

    当你需要共享爬取队列、后台 worker,或需要始终运行在自有基础设施内的自托管服务时,可结合可选 Redis 以 Docker 方式部署。

Pros and Cons

Pros

  • 单容器、自托管设计使部署保持简单。
  • Markdown 输出专为下游自动化和 LLM 工作流而设计。
  • 混合抓取逻辑在页面可通过静态方式处理时可避免启动浏览器。
  • 同一服务同时支持 HTTP API 和 MCP 访问。
  • 包含爬取、站点映射,以及可选的基于 Redis 的分布式能力,适用于更大规模任务。

Cons

  • 仓库文档是主要信息来源;在可用文本中,某些端点行为和输出细节只作了部分说明。
  • 分布式爬取和 Brave Search 工具等高级能力依赖可选配置或外部密钥,因此基础设置可能无法覆盖所有工作流。

FAQ

LightCrawl 用于什么?

LightCrawl 是一款可自托管的 Web 抓取 API 和 MCP server,可将网页转换为 Markdown。它还提供 HTTP 端点和 Swagger UI,用于 API 文档和端点测试。

LightCrawl 如何部署?

README 列出了 HTTP API 和 MCP 的用法,Dockerfile 显示其部署为基于 Playwright 且已安装 Chromium 的容器。该项目设计为单容器运行,并可通过 PORT、API_KEY 和 REDIS_URL 等环境变量进行配置。

它支持哪些输出和抓取模式?

README 描述了两种提取模式:`article` 使用 Mozilla Readability 聚焦于主要内容,`full` 则将整个 HTML body 转换为 Markdown。它还提供 `fast=true` 模式,以降低浏览器和解析器开销。

什么时候应该选择 LightCrawl,而不是简单的页面抓取器?

该项目先进行轻量级静态抓取,然后在检测到 JavaScript 渲染或反爬保护时回退到 Playwright。它还提供网站映射、递归爬取、基于 Redis 的分布式爬取,以及可选的基于 Brave Search 的搜索工具。

LightCrawl 是付费服务吗?

仓库和更新日志表明该项目是开源且可自托管的,README 中也提到了以最低成本托管为目标。GitHub 的定价页面还显示仓库有免费层级,而项目本身并未公布自己的定价。

Quick Facts

类别
开发者工具
主要形式
自托管服务
接口
HTTP API 和 MCP server
内容输出
Markdown
部署
单容器 Docker 镜像
来源域名
github.com