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)です。マルチスレッド/マルチプロセスワーカー、組み込みキャッシュ、およびオプションのLLM駆動のJSON抽出機能を備えており、最新のWebデータが必要なAIエージェントのための即戦力バックエンドとして最適です。
主な機能
- SERPクローリング – Google(および将来の他の検索エンジン)に対してクエリを送信し、バッチで構造化された結果を取得。
- Webスクレイピング – 単一ページの取得を3つのエンジンから選択可能:
cheerio(静的HTML、最速)playwright(ヘッドレスChromium、現代的なJSレンダリング対応)puppeteer(Chromeベースのレンダリング)
- サイトクローリング – ルートURLから開始し、深さ、制限、スコープ制御(
same-domain、same-hostnameなど)でリンクをたどる。 - バッチジョブ – 複数のURLを一度に送信し、ジョブIDを取得、ステータスをポーリングし、ページネートされた結果を取得。
- LLM抽出 – JSONスキーマを提供;AnyCrawlはOpenAI互換のLLM(例:Atlas Cloud)を呼び出して、生のページコンテンツを構造化されたJSONに変換。
- スケーラビリティ – マルチスレッド、マルチプロセス、Redisバックエンドキュー、Docker対応イメージを活用し、水平スケーリングを実現。
- プロキシサポート – リクエスト単位またはグローバルなプロキシ設定;スポンサーを通じて高品質の住宅用プロキシを提供。
- キャッシュレイヤー – オプションでローカル、S3、またはRedisキャッシュを使用し、変更のないページの再ダウンロードを回避。
一般的なワークフロー
- セルフホスティング(または
https://api.anycrawl.devで公開APIを使用)。 - APIキーを生成(
pnpm --filter api key:generate)。 - URL、エンジン、制限、およびオプションの
json_options(LLM抽出用)を含むJSONペイロードで、適切なエンドポイント(/v1/scrape、/v1/crawl、/v1/search、または/v1/batch/scrape)を呼び出す。 - 生のHTML/テキスト、オプションの抽出フィールド、メタデータ(ステータス、キャッシュ情報など)を含むJSONレスポンスを受信。
導入方法
- ドキュメント: https://docs.anycrawl.dev
- プレイグラウンド: https://anycrawl.dev/playground(インタラクティブなAPIテストツール)。
- Docker:
docker compose upで起動後、コンテナ内でキーを生成(docker compose exec api pnpm --filter api key:generate)。 - CLI: リポジトリにはキー生成およびテスト用の
pnpmスクリプトが提供されています。
誰が使うか
- 新鮮なWebコンテンツが必要なAIエージェント(例:リトリーバー拡張生成パイプライン)。
- Webからトレーニングデータセットを構築するデータサイエンスチーム。
- SERP結果をスクレイピングするSEO/マーケットリサーチツール。
- 可靠でスケーラブルなスクレイピングとオプションのLLMベース構造化を必要とする自動化プラットフォーム。
ライセンス – MIT(許容性が高く、商用利用も可能)。
Any4AIチームによって開発。AIエコシステムに信頼性と統合しやすさを提供するクローリングサービスを実現するため。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト