any4ai/AnyCrawl
AnyCrawl 🚀: A Node.js/TypeScript crawler that turns websites into LLM-ready data and extracts structured SERP results from Google/Bing/Baidu/etc. Native multi-threading for bulk processing.
AnyCrawl – LLM対応構造化抽出を備えた高速・スケーラブルなWebおよびSERPクローリング
何であるか
AnyCrawlは、高パフォーマンスなWebクローリング、サイトスクレイピング、および検索エンジン結果(SERP)取得を目的としたオープンソースのツールキット(Node.js + TypeScript)です。マルチスレッド/マルチプロセスワーカー、オプションのRedisキャッシュ、およびLLM駆動の構造化データ抽出(JSONスキーマ)を内蔵しています。このサービスは自己ホスティング可能であり、api.anycrawl.dev で公開API経由でも利用可能です。
主要機能
| 機能 | 詳細 |
|---|---|
| SERPクローリング | 現在サポートされているのはGoogleのみ。ページネートされた結果を取得できます。 |
| Webスクレイピング | 単一URLの取得に対し、3つのエンジンオプションを提供:cheerio(高速な静的HTML)、playwright、puppeteer(完全なJavaScriptレンダリング)。 |
| サイトクローリング | 深さ制限付き、ドメイン限定のトラバーサル。制限とパスフィルタをカスタマイズ可能。 |
| バッチジョブ | URLのリストを非同期に一括スクレイピング。ステータスをポーリングし、結果を取得。 |
| LLM抽出 | スクレイピングリクエストに json_options.schema を添付。AnyCrawlはページコンテンツをOpenAI互換LLM(例:Atlas Cloud)に転送し、構造化JSONを返却します。 |
| プロキシサポート | リクエストごとの proxy パラメータ、またはグローバルな ANYCRAWL_PROXY_URL。デフォルトプロキシを提供。住宅用プロキシのスポンサーシップリンクも用意。 |
| スケーラビリティ | ワーカーは複数スレッドまたはプロセスで実行可能。DockerイメージにはCloakBrowserバイナリが事前にインストールされ、ブラウザの効率的な再利用を可能にします。 |
| キャッシュ | 再ダウンロードを避けるため、オプションのRedisまたはS3バックエンドキャッシュをサポート。 |
| APIファースト | すべての機能はREST API(/v1/scrape、/v1/crawl、/v1/search、/v1/batch/scrape)経由で利用可能。 |
一般的な利用例
- LLM学習またはRAG用のデータ収集 – 原始的なWebページを収集し、内蔵のスキーマ抽出機能でインデックス可能なクリーンなJSONを生成。
- 検索エンジン監視 – キーワードセットに対してGoogle SERP結果を定期的に取得。
- 大規模なWebスクレイピングパイプライン – バッチジョブとRedisキャッシュ、マルチプロセスワーカーを組み合わせて高スループットを実現。
- 最新のWebコンテンツが必要なAIエージェント – 自動エージェントからAPIを呼び出し、住宅用プロキシ経由でブロック回避を実現(オプション)。
導入方法
- ホスティングされたAPIを試す – AnyCrawlダッシュボードから無料APIキーを取得し、リードミーの例を参考に直接エンドポイントを呼び出します。
- 自己ホスティング – リポジトリをクローンし、
docker compose up -dを実行(またはローカルでapiサービスを起動)。- キー生成:
pnpm --filter api key:generate(またはdocker exec経由)。 ANYCRAWL_API_AUTH_ENABLED=trueなどの環境変数を設定。プロキシ/Redis設定もオプション。
- キー生成:
- 簡単なスクレイピングの実行:
curl -X POST https://api.anycrawl.dev/v1/scrape \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <YOUR_KEY>' \ -d '{"url":"https://example.com","engine":"cheerio"}' - LLM抽出を追加 – リクエストボディに
json_options.schemaを含め、環境変数(DEFAULT_LLM_MODEL、ATLASCLOUD_API_KEY)でOpenAI互換プロバイダー(例:Atlas Cloud)を設定。
ドキュメントとコミュニティ
- 完全なAPIリファレンスとクイックスタートガイド: https://docs.anycrawl.dev
- インタラクティブなテスト用プレイグラウンド: https://anycrawl.dev/playground
- コントリビューションは歓迎(
CONTRIBUTING.mdを参照)。 - サポーターはOpen Collectiveでプロジェクトを支援できます。
ライセンス MIT – パーミッシブなオープンソースライセンス。
結論 AnyCrawlは、LLMワークフローとスムーズに統合できる、プロダクションレベルのクローリング/スクレイピングサービスを提供します。AI駆動のデータパイプライン、自律エージェント、RAGシステムの実用的な構成要素として最適です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト