LightCrawl icon

LightCrawl

LightCrawlは、WebページをクリーンなMarkdownに変換するセルフホスト可能なWebスクレイピングAPIとMCPサーバー。HTTPアクセス、MCPクライアント、記事抽出、全ページ変換、Redis対応クロールに対応。

LightCrawl

概要

LightCrawlは、WebページをクリーンなMarkdownに変換するセルフホスト可能なWebスクレイピングAPIおよびModel Context Protocol(MCP)サーバーです。各リクエストごとにフルブラウザスタックを起動せずに、ページ抽出、サイトマッピング、クロールを行いたい開発者向けの軽量な単一コンテナ代替として設計されています。

このプロジェクトは、低リソースでの動作と柔軟なデプロイを重視しています。READMEによると、Express APIを通じてHTTPリクエストを処理し、stdio経由でMCPクライアントに応答し、ページに応じて静的取得とブラウザベースのレンダリングを切り替えることができます。

また、リポジトリのドキュメントでは、ローカル開発、Dockerベースのデプロイ、さらに複数のワーカーやキュー化されたジョブが必要な場合のRedis対応分散クロール向けにもLightCrawlが位置づけられています。公開ページでは、ホスト型SaaSではなく、オープンソースでセルフホスト可能な製品として説明されています。

主な機能

ハイブリッド取得モード

まず軽量な静的HTTP取得を行い、レンダリングやボット対策が必要と判断された場合のみPlaywrightにフォールバックします。

高速レスポンス経路

スクロール遅延を省き、より軽量なDOMパーサーを使う`fast=true`モードをサポートし、CPUとメモリ使用量を削減します。

動的コンテンツ処理

ブラウザのフォールバックが必要な場合はページを自動スクロールしてレンダリング済みHTMLを取得し、遅延読み込みコンテンツに対応しやすくします。

2つの抽出モード

Readabilityベースの`article`モードと、完全なHTMLからMarkdownへの変換を行う`full`モードでページをMarkdownに変換します。

クロールとマッピングのワークフロー

マッピング用の内部URLを見つけ、再帰クロールをサポートし、Redisでクロールキューを実行して分散処理できます。

運用およびクライアント向けインターフェース

HTTP APIに加えて、Prometheus互換メトリクス、構造化JSONログ、MCPサーバーインターフェースを提供します。

主なユースケース

  • 記事を読みやすいテキストに変換する

    ブログ記事、ニュース記事、ドキュメントページの本文を、下流処理用のクリーンなMarkdownとして取り出したいときに`article`モードを使います。

  • ページ全体のコンテンツを取得する

    メインの記事コンテンツに絞らず、ディレクトリページ、ポータル、検索結果などページ全体の本文が必要な場合は`full`モードを使います。

  • Webサイトをマッピングまたはクロールする

    マッピングとクロールのエンドポイントを使って対象ドメイン内の内部リンクを検出し、設定した深さと件数の上限までサイトを再帰的に巡回します。

  • 隔離環境でセルフホストする

    クライアントマシン上でブラウザ実行を行わない、隔離されたスクレイパーが必要な場合は、Dockerまたは単一のセルフホストコンテナでサービスを実行します。

  • Redisでクロール負荷をスケールする

    プロジェクトで共有キュー状態や複数ジョブにまたがる協調的なバックグラウンドワーカーが必要な場合は、Redis対応クロールを有効にします。

Pros and Cons

Pros

  • スクレイピング、マッピング、クロールを1つのセルフホスト可能なサービスにまとめています。
  • 軽量な静的優先フローを採用しており、ページが単純な場合はブラウザレンダリングを回避できます。
  • よりクリーンなコンテンツ向けの記事抽出モードと、より広範なページ変換向けのフルモードを提供します。
  • 大規模なワークロード向けにRedis対応の分散クロールをサポートしています。
  • Prometheus互換メトリクスや構造化ログなどの可観測性機能を備えています。

Cons

  • HTTP APIとMCPサーバー対応以外のクライアント/ライブラリ互換性について、ソース資料の記載が限られています。
  • 正確な出力スキーマや高度な統合など、一部の運用詳細は提供資料では部分的にしかドキュメント化されていません。

FAQ

LightCrawlはどのようにデプロイおよびアクセスしますか?

LightCrawlはセルフホスト型サービスとして動作します。READMEによると、ExpressベースのHTTP APIとMCPサーバーの両方として機能し、オプションのAPIキーや許可IPリストなどのアクセス制御を設定できます。

LightCrawlはWebページから何を抽出しますか?

READMEでは2つの抽出モードが説明されています。`article` は主な記事コンテンツ向け、`full` はHTML本文全体をMarkdownに変換するためのものです。また、スクレイピング、マッピング、クロール用のエンドポイントも含まれています。

LightCrawlは分散クロールをサポートしていますか?

このプロジェクトは、メモリ内キューとRedis対応キューの両方によるクロールをサポートしています。`REDIS_URL` が設定されている場合は、Redisを分散キューおよび状態バックエンドとして使用でき、`ENABLE_DISTRIBUTED_WORKER` によってオプションのバックグラウンドワーカーを有効にできます。

LightCrawlはDockerで実行できますか?

READMEには、Dockerfile、シングルコンテナ構成、そしてPlaywright向けにChromiumのみで最適化されたマルチステージビルドが記載されており、コンテナベースのセルフホスティングに適しています。

LightCrawl自体は有料サービスですか?

公開されているGitHubの料金ページには、GitHub自体の無料プランと有料プランが表示されています。これはプロジェクトがGitHub上にあることを示していますが、リポジトリのREADMEでは、LightCrawlをホスト型SaaSではなくセルフホスト可能なオープンソースプロジェクトとして説明しています。

Quick Facts

カテゴリ
開発者向けツール
製品タイプ
セルフホスト可能なWebスクレイピングAPIとMCPサーバー
主な出力
WebページをMarkdownに変換
デプロイ
単一コンテナ、Docker向け
ランタイム
Node.js 18+
ソースドメイン
github.com