ハイブリッドなフェッチパイプライン
軽量な静的HTTPフェッチを最初に試し、ページが動的または保護されているように見える場合にのみヘッドレスブラウザへフォールバックします。これにより、JavaScript中心のサイトでも対応しつつ、シンプルなページは高速に処理できます。
LightCrawlは、WebページをMarkdownに変換する自己ホスト型のWebスクレイピングAPIとMCPサーバーです。開発者向けの軽量なコンテナ型代替を提供します。
LightCrawlは、軽量な単一コンテナの自己ホスト型WebスクレイピングAPIおよびModel Context Protocol(MCP)サーバーです。WebページをクリーンなMarkdownに変換し、リポジトリ内ではローカル開発や低リソース環境向けの、Firecrawlに代わる最小構成・低コストの代替として位置づけられています。
このプロジェクトは、単純なページからより難しい対象まで対応するよう設計されています。静的フェッチから始め、JavaScriptレンダリングの必要性やボット対策を検出するとPlaywrightにフォールバックし、その結果をHTTP APIまたはMCPインターフェース経由で公開します。READMEでは、記事向け抽出、ページ全体変換、クロール、サイトマッピング、Redis対応の分散キュー、Brave Searchベースの任意の検索ツールについても説明しています。
このリポジトリは、未加工のブラウザアクセスではなく、整形済みのWebコンテンツを必要とする開発者やAIエージェントのワークフロー向けの自己ホスト型ツールとしてサービスを提示しています。ドキュメントでは、コンテナ化による分離、Markdown出力、`PORT`、`API_KEY`、`ALLOWED_IPS`、`REDIS_URL`、`MAX_CONCURRENCY` などの環境変数による設定を強調しています。
軽量な静的HTTPフェッチを最初に試し、ページが動的または保護されているように見える場合にのみヘッドレスブラウザへフォールバックします。これにより、JavaScript中心のサイトでも対応しつつ、シンプルなページは高速に処理できます。
`article` と `full` の2つの抽出モードを提供します。`article` はMozilla Readabilityを使って主要コンテンツを抽出し、`full` はHTML本文全体をMarkdownに変換します。
`fast=true` をサポートしており、長いブラウザ待機の経路を省き、より軽量なDOMパーサーを使用します。READMEでは、このモードはCPUとメモリ使用量の削減向けとされています。
ExpressベースのHTTP APIと、stdio経由のMCPサーバーの両方として動作します。リポジトリでは、エンドポイントのドキュメント表示とテスト用にSwagger UIにも言及しています。
サイトを再帰的にクロールし、登録済みドメイン内の内部URLをマッピングできます。インメモリキューに加え、Redis対応の分散クロールもサポートします。
Playwrightにステルス機能を組み合わせ、Prometheus互換のネイティブメトリクスと構造化JSONログを使用します。Dockerイメージは、コンテナを小さく保つためにChromiumのみをインストールするように構築されています。
自分のアプリ内でブラウザを開く代わりに、Webページを下流処理向けにMarkdownへ正規化したい場合に、ローカルまたはサーバー側のスクレイピング層として実行します。
対象がブログ記事、ニュース記事、またはドキュメントページで、ナビゲーションやレイアウトよりも本文が重要な場合にarticleモードを使用します。
ポータル、ディレクトリ一覧、検索結果など、ページ本文全体を保持する必要がある場合にfullモードを使用します。
同じ登録済みドメイン内の関連ページを見つけ、深さと件数の制限内でサイトを再帰的に処理する必要がある場合に、crawlおよびmapエンドポイントを使用します。
共有クロールキュー、バックグラウンドワーカー、または自社インフラ内にとどまる自己ホスト型サービスが必要な場合に、オプションのRedisとともにDockerでデプロイします。
LightCrawlは、WebページをMarkdownに変換する自己ホスト型のWebスクレイピングAPIおよびMCPサーバーです。また、APIドキュメントとエンドポイントのテスト用にHTTPエンドポイントとSwagger UIも提供します。
READMEにはHTTP APIとMCPの利用方法が記載されており、DockerfileではChromiumをインストールしたPlaywrightベースのコンテナ型デプロイが示されています。このプロジェクトは単一コンテナでの実行を想定しており、PORT、API_KEY、REDIS_URLなどの環境変数で設定できます。
READMEでは2つの抽出モードが説明されています。`article`はMozilla Readabilityを使って主要コンテンツに絞り込み、`full`はHTML本文全体をMarkdownに変換します。また、ブラウザ処理やパーサーのオーバーヘッドを抑える`fast=true`モードも提供されています。
このプロジェクトは、まず軽量な静的フェッチを行い、JavaScriptレンダリングやボット対策が検出された場合にPlaywrightへフォールバックします。また、サイトマッピング、再帰的クロール、Redis対応の分散クロール、Brave Searchを利用した検索ツールも提供します。
リポジトリと変更履歴によると、このプロジェクトはオープンソースで自己ホスト可能であり、READMEでは低コストのホスティング対象が示されています。GitHubの料金ページにはリポジトリ向けの無料枠も表示されていますが、プロジェクト自体は独自の料金を公開していません。