混合式擷取流程
先嘗試輕量的靜態 HTTP 擷取,只有在頁面看起來是動態或受到保護時,才退回使用無頭瀏覽器。這讓簡單頁面維持快速,同時不犧牲對 JavaScript 密集網站的支援。
LightCrawl 是可自架的 web scraping API 與 MCP server,可將網頁轉成 Markdown,適合需要輕量化容器化爬取、抓取與頁面映射的開發者與 AI 工作流程。
LightCrawl 是一個輕量、單一容器、可自架的 web scraping API 與 Model Context Protocol(MCP)server。它可將網頁轉換為乾淨的 Markdown,並在 repository 中被定位為 Firecrawl 的極簡、低成本替代方案,適用於本機開發與低資源環境。
此專案旨在處理從簡單頁面到較困難目標的各種情境。它會先進行靜態抓取,若偵測到需要 JavaScript 渲染或遇到機器人防護,則退回使用 Playwright,接著再透過 HTTP API 或 MCP 介面輸出結果。README 也描述了以文章為主的擷取、整頁轉換、爬取、網站映射、Redis 支援的分散式佇列,以及可選的基於 Brave Search 的搜尋工具。
此 repository 將服務呈現為一個供開發者與 AI agent 工作流程使用的自架工具,適合需要經過清理的網頁內容,而不是原始瀏覽器存取。其文件強調容器化隔離、Markdown 輸出,以及透過 `PORT`、`API_KEY`、`ALLOWED_IPS`、`REDIS_URL` 和 `MAX_CONCURRENCY` 等環境變數進行設定。
先嘗試輕量的靜態 HTTP 擷取,只有在頁面看起來是動態或受到保護時,才退回使用無頭瀏覽器。這讓簡單頁面維持快速,同時不犧牲對 JavaScript 密集網站的支援。
提供 `article` 與 `full` 兩種擷取模式。`article` 使用 Mozilla Readability 擷取主要內容,而 `full` 則將整個 HTML 主體轉換為 Markdown。
支援 `fast=true` 以跳過較長的瀏覽器等待流程,並使用較輕量的 DOM 解析器。README 將此模式定位為較低的 CPU 與記憶體用量。
同時可作為 Express HTTP API 與透過 stdio 的 MCP server 執行。倉庫也提到使用 Swagger UI 進行 endpoint 文件查閱與測試。
可遞迴爬取網站,並能在已註冊網域內映射內部 URL。它支援記憶體佇列以及基於 Redis 的分散式爬取。
使用帶有 stealth 工具的 Playwright、原生相容 Prometheus 的指標,以及結構化 JSON logs。Docker 映像設計為只安裝 Chromium,以縮小容器體積。
當你希望將網頁標準化為 Markdown 以供後續處理,而不是在自己的應用程式中開啟瀏覽器時,可將它作為本機或伺服器端的抓取層來使用。
當目標是部落格文章、新聞報導或文件頁面,且主要內容比導覽或版面更重要時,使用 article 模式。
當你需要保留整個頁面主體,例如入口網站、目錄清單或搜尋結果時,使用 full 模式。
當你需要探索同一已註冊網域中的相關頁面,並在深度與數量限制內遞迴處理網站時,使用 crawl 與 map endpoints。
當你需要共享爬取佇列、背景 worker,或一個能留在自有基礎架構內的自架服務時,可在 Docker 中搭配可選的 Redis 部署。
LightCrawl 是可自架的 web scraping API 與 MCP server,可將網頁轉換為 Markdown。它也提供 HTTP endpoints 與 Swagger UI,方便進行 API 文件查閱與 endpoint 測試。
README 列出了 HTTP API 與 MCP 的使用方式,而 Dockerfile 顯示其部署方式為以 Playwright 為基礎、並安裝 Chromium 的容器化部署。此專案設計為單一容器執行,並可透過 PORT、API_KEY 和 REDIS_URL 等環境變數進行設定。
README 描述了兩種擷取模式:`article` 會使用 Mozilla Readability 聚焦主要內容,而 `full` 會將整個 HTML 主體轉換為 Markdown。它也提供 `fast=true` 模式,以降低瀏覽器與解析器的額外負擔。
當專案需要將網頁內容轉換為 Markdown 供後續處理時,可先採用輕量的靜態擷取,若偵測到 JavaScript 渲染或反機器人保護,則再退回使用 Playwright。它也提供網站映射、遞迴爬取、Redis 支援的分散式爬取,以及可選的 Brave Search 驅動搜尋工具。
此倉庫與變更記錄顯示該專案為開源且可自架,README 也提到其目標是低成本託管。GitHub 的 pricing 頁面同時顯示儲存庫有免費方案,但專案本身並未公布自己的定價。