このプロジェクトについて

Crawl4AIは、ウェブクロールとスクレイピングのためのオープンソースPythonライブラリおよびCLIツールで、LLM向けに最適なクリーンなMarkdown出力を生成するように設計されています。RAGパイプライン、AIエージェント、データ抽出ワークフローの構築に広く使用されています。 ## 概要 Crawl4AIは、ウェブを後続のAI処理に適した構造化されたMarkdownに変換します。プログラマティックなPython使用とコマンドラインインターフェースの両方をサポートし、オプションでLLM駆動の構造化データ抽出やCSS/XPathベースのスキーマ抽出に対応しています。 ## 主な機能 ### Markdown生成 - 見出し、テーブル、コードブロックを含むクリーンで構造化されたMarkdownを生成 - Fit Markdownモードはヒューリスティックフィルタを適用してノイズや無関係なコンテンツを除去 - 参照番号付きの citation-aware 出力でリンクを数値参照に変換 - クエリ関連抽出のためのBM25ベースのコンテンツフィルタリング - プラグイン可能なMarkdown生成戦略 ### 構造化データ抽出 - LiteLLMを通じたLLM駆動抽出。オープンソースおよび商用モデルをサポート - CSSセレクタとXPathを使用したJSONスキーマベース抽出 - ターゲット処理のためのチャンキング戦略(トピックベース、正規表現、文レベル) - セマンティックコンテンツマッチングのためのコサイン類似度検索 ### ブラウザ統合 - Playwrightによる非同期ブラウザプール - 保存された認証状態とCookieを含むユーザー所有ブラウザプロファイルを使用する管理モード - Chrome DevTools Protocol経由のリモートブラウザ制御 - 認証付きプロキシサポート - ボット検出を軽減するステルスモード - 複数ブラウザ対応(Chromium、Firefox、WebKit) - ダイナミックビューポート調整 ### クローリング機能 - ダイナミックコンテンツ向けのasync/sync待機サポート付きJavaScript実行 - クロール中のスクリーンショットキャプチャ - メディア抽出(画像、オーディオ、ビデオ、レスポンシブsrcset/picture形式) - 生HTMLおよびローカルファイル処理 - iframeコンテンツを含む包括的なリンク抽出 - レーゼロード対応と無限スクロールのためのフルページスキャン - 全クロールステップでのフックベースのカスタマイズ - 組み込みキャッシュ ### デプロイメント - APIベースのワークフロー用のDocker化FastAPIサーバー - JWTトークン認証(最近のバージョンではデフォルトで有効) - `/dashboard`および`/playground`でのモニタリングダッシュボードとインタラクティブプレイグラウンド - AIツール接続用のMCP統合 - マルチアーキテクチャDockerイメージ(AMD64/ARM64) - クラウドデプロイメント対応 ## インストール ```bash pip install -U crawl4ai crawl4ai-setup ``` 手動でのPlaywrightインストールの場合: ```bash python -m playwright install --with-deps chromium ``` ## 使用方法 ### Python API ```python import asyncio from crawl4ai import AsyncWebCrawler async def main(): async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://example.com") print(result.markdown) asyncio.run(main()) ``` ### CLI ```bash # 基本的なクローリング crwl https://example.com -o markdown # ディープクローリング crwl https://example.com --deep-crawl bfs --max-pages 10 # LLM抽出 crwl https://example.com -q "Extract all product prices" ``` ### Docker ```bash docker pull unclecode/crawl4ai:latest docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest ``` その後、モニタリングUIの場合は`http://localhost:11235/dashboard`、インタラクティブテスト環境の場合は`http://localhost:11235/playground`にアクセスしてください。 ## プロジェクト詳細 - リポジトリ: unclecode/crawl4ai - PyPI: crawl4ai - ドキュメント: https://docs.crawl4ai.com/ - Discordコミュニティ: https://discord.gg/jP8KfhDhyN - スポンサー: https://github.com/sponsors/unclecode 本プロジェクトはオープンな利用と手頃な価格を重視し、商用ウェブ抽出APIの自ホスト型代替として位置づけられています。50,000以上のGitHubスターを蓄積し、定期的なリリースを通じてセキュリティを積極的に維持しています。