unclecode/crawl4ai
Open-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key.
Crawl4AI – LLMフレンドリーなWebクローラー&スクレイパー
Crawl4AIは、任意のWebページを、RAG(検索拡張生成)、自律エージェント、またはダウンストリームのデータパイプラインに適した、クリーンで構造化されたMarkdownに変換するオープンソースのPythonライブラリ(およびDockerサービス)です。高速で非同期駆動のヘッドレスブラウザバックエンド(Playwright)と、オプションのLLMガイド付き抽出を組み合わせることで、開発者はクロール、コンテンツフィルタリング、出力フォーマットを細かく制御できます。
機能概要
| 機能 | 仕組み |
|---|---|
| Markdown生成 | ヒューリスティックフィルター(Pruning, BM25)が raw および fit Markdownを生成し、番号付き引用を追加し、見出し、テーブル、コードブロックを保持します。 |
| 構造化抽出 | 内蔵のLLM駆動型抽出(任意のLLM API)に加え、CSS/XPathベースのスキーマ抽出によりJSONオブジェクトを出力します。 |
| ブラウザ統合 | セッション、プロキシ、ヘッダー、ユーザースクリプトをサポートする管理されたPlaywrightブラウザ(Chromium, Firefox, WebKit)を使用。ヘッドレスまたはリモートのChrome DevToolsセッションで実行可能です。 |
| ディープ / 動的クロール | JavaScriptを実行し、遅延読み込み、無限スクロール、スクリーンショット、メディアダウンロードを処理し、BFS/DFS戦略でリンクを辿ることができます。 |
| デプロイ性 | pipインストール可能なライブラリであり、JWT認証、監視ダッシュボード、クラウド対応設定を備えたFastAPIベースのDockerイメージを提供します。 |
| セキュリティ | 最近のリリースでは、Docker APIの強化(デフォルトで認証有効、SSRF緩和、環境変数の分離)に重点を置いています。 |
クイックスタート (Python)
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(
url="https://www.nbcnews.com/business",
)
print(result.markdown) # LLMにそのまま渡せるクリーンなMarkdown
asyncio.run(main())
クイックスタート (CLI)
# インストール
pip install -U crawl4ai
crawl4ai-setup # Playwrightブラウザのインストール
# 基本クロール → markdown
crwl https://www.nbcnews.com/business -o markdown
# ディープクロール (BFS, 最大10ページ)
crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
# LLMガイド付き抽出 (質問ベース)
crwl https://example.com/products -q "Extract all product prices"
インストールオプション
| 方法 | コマンド | 備考 |
|---|---|---|
| Pip (非同期, デフォルト) | pip install -U crawl4ai |
Playwrightをインストールし、crawl4ai-setupでブラウザを設定します。 |
| Pip (同期 – 非推奨) | pip install crawl4ai[sync] |
Seleniumを使用。将来のリリースで削除予定です。 |
| Docker | docker pull unclecode/crawl4ai:latest && docker run -d -p 11235:11235 unclecode/crawl4ai:latest |
FastAPIサーバー、JWT認証、監視ダッシュボード、プレイグラウンドを提供します。 |
| 開発 / 拡張機能 | pip install -e .[torch,transformer,cosine,all] |
オプションのMLライブラリ、コサイン類似度ユーティリティなどを追加します。 |
主な機能 (要約)
- LLM対応Markdown – クリーンな見出し、テーブル、コードブロック、番号付き引用。
- 高速非同期クロール – ブラウザプール、キャッシュ、プリフェッチモード(URL発見が5〜10倍高速)。
- 完全な制御 – カスタムヘッダー、Cookie、プロキシ、ユーザースクリプト、ステップごとのフック。
- 適応型インテリジェンス – サイトパターンを学習し、不要なコンテンツを削除し、クエリ駆動型のチャンク化をサポート。
- メディア&PDF処理 – 画像、音声、動画を抽出し、PDFをレンダリング可能。
- Docker化API – JWT保護されたエンドポイント、リアルタイムダッシュボード、マルチアーキテクチャサポート。
- セキュリティ優先リリース – 最近のバージョンではSSRF、RCE、XSS、環境漏洩バグを修正。
Crawl4AIの活用シーン
- 多くのサイトからクリーンなMarkdownが必要な RAGパイプライン の構築。
- Webを閲覧し、構造化された出力を必要とする 自律エージェント の実行。
- カスタムSeleniumコードを書かずに、JavaScriptを多用する動的ページをスクレイピング。
- ファイアウォールの背後で セルフホスト型のクロールサービス をデプロイ (Docker API)。
- CSS/XPathスキーマを使用して、繰り返されるページパターンから 構造化JSON を抽出。
詳細情報
- ドキュメントサイト: https://docs.crawl4ai.com/
- Colabデモ: https://colab.research.google.com/drive/1SgRPrByQLzjRfwoRNq1wSGE9nYY_EE8C
- GitHubリポジトリ: https://github.com/unclecode/crawl4ai (Issue、例、リリースノート)
- コミュニティ: Discord, X (旧Twitter), LinkedIn (READMEにリンクあり)。
ライセンスとコミュニティ
Crawl4AIは MIT License の下でリリースされており、積極的にメンテナンスされています(頻繁なセキュリティパッチ、v0.9.xシリーズ)。5万以上のスターを獲得しており、個人および企業向けのスポンサーシッププログラムがあります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト