Home
Login

高性能なNode.js/TypeScript製ウェブクローラー。LLM向けに最適化されており、複数の検索エンジンからのクローリングと構造化データ抽出をサポート。

MITTypeScript 500any4aiAnyCrawl Last Updated: 2025-07-03

AnyCrawl プロジェクト詳細

🚀 プロジェクト概要

AnyCrawl は、Node.js/TypeScript で構築された高性能なウェブクローラーおよびデータスクレイピングアプリケーションです。このプロジェクトは、大規模言語モデル(LLM)向けに最適化されており、ウェブサイトのコンテンツを LLM が利用可能なデータ形式に変換し、Google、Bing、百度などの検索エンジンから構造化された検索結果ページ(SERP)データを抽出できます。

🎯 コア機能

AnyCrawl は、複数の分野で優れた性能を発揮します。

  • SERP クローリング: 複数の検索エンジンをサポートし、バッチ処理機能を備えています。
  • ウェブページクローリング: 効率的な単一ページコンテンツの抽出。
  • サイトクローリング: インテリジェントな全サイトクローリング機能。
  • 高性能アーキテクチャ: マルチスレッドおよびマルチプロセスアーキテクチャ設計。
  • バッチ処理: 大量のクローリングタスクを効率的に処理。

🏗️ 技術アーキテクチャ

モダンな設計

  • Node.js/TypeScript で構築
  • 大規模言語モデル(LLM)向けに最適化
  • ネイティブマルチスレッドバッチ処理をサポート
  • モダンなアーキテクチャ設計

サポートされているクローリングエンジン

AnyCrawl は、さまざまなクローリングエンジンをサポートしています。

  1. Cheerio: 静的 HTML 解析、最速
  2. Playwright: JavaScript レンダリング、最新エンジンを使用
  3. Puppeteer: JavaScript レンダリング、Chrome エンジンを使用

🚀 クイックスタート

Docker デプロイメント

Docker Compose を使用して迅速に起動します。

docker compose up --build

環境変数設定

変数名 説明 デフォルト値
NODE_ENV 実行時環境 production production, development
ANYCRAWL_API_PORT API サービスポート 8080 8080
ANYCRAWL_HEADLESS ブラウザエンジンがヘッドレスモードを使用するかどうか true true, false
ANYCRAWL_PROXY_URL プロキシサーバー URL(HTTP および SOCKS をサポート) (なし) http://proxy:8080
ANYCRAWL_IGNORE_SSL_ERROR SSL 証明書エラーを無視するかどうか true true, false
ANYCRAWL_KEEP_ALIVE リクエスト間で接続を維持するかどうか true true, false
ANYCRAWL_AVAILABLE_ENGINES 利用可能なクローリングエンジン(カンマ区切り) cheerio,playwright,puppeteer playwright,puppeteer
ANYCRAWL_API_DB_TYPE データベースタイプ sqlite sqlite, postgresql
ANYCRAWL_API_DB_CONNECTION データベース接続文字列/パス /usr/src/app/db/database.db /path/to/db.sqlite
ANYCRAWL_REDIS_URL Redis 接続 URL redis://redis:6379 redis://localhost:6379
ANYCRAWL_API_AUTH_ENABLED API 認証を有効にするかどうか false true, false
ANYCRAWL_API_CREDITS_ENABLED クレジットシステムを有効にするかどうか false true, false

📝 API 使用ガイド

ウェブスクレイピング API

基本的な使い方

curl -X POST http://localhost:8080/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
  "url": "https://example.com",
  "engine": "cheerio"
}'

パラメータの説明

パラメータ タイプ 説明 デフォルト値
url string (必須) スクレイピングする URL。http:// または https:// で始まる有効な URL である必要があります。 -
engine string 使用するスクレイピングエンジン。オプション:cheerio(静的 HTML 解析、最速)、playwright(JavaScript レンダリング、最新エンジン)、puppeteer(JavaScript レンダリング、Chrome エンジン) cheerio
proxy string リクエストのプロキシ URL。HTTP および SOCKS プロキシをサポートします。形式:http://[username]:[password]@proxy:port (なし)

検索エンジンクレイピング API

基本的な使い方

curl -X POST http://localhost:8080/v1/search \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
  "query": "AnyCrawl",
  "limit": 10,
  "engine": "google",
  "lang": "all"
}'

パラメータの説明

パラメータ タイプ 説明 デフォルト値
query string (必須) 実行する検索クエリ -
engine string 使用する検索エンジン。オプション:google google
pages integer 取得する検索結果ページ数 1
lang string 検索結果の言語コード(例:'en'、'zh'、'all') en-US

🧪 テストと開発

Playground

Playground を使用して API をテストし、お好みのプログラミング言語のコード例を生成できます。

💡 注意: AnyCrawl を自己ホストしている場合は、https://api.anycrawl.dev を独自のサーバー URL に置き換えてください。

❓ よくある質問

Q: プロキシを使用できますか?

A: はい、AnyCrawl は HTTP および SOCKS プロキシをサポートしています。ANYCRAWL_PROXY_URL 環境変数を使用して設定します。

Q: JavaScript でレンダリングされたコンテンツを処理するにはどうすればよいですか?

A: AnyCrawl は、JavaScript レンダリングのニーズに対応するために Puppeteer と Playwright をサポートしています。

まとめ

AnyCrawl は、特に AI および機械学習アプリケーションのシナリオにおいて、最新のウェブクローリング技術の最前線を表しています。その高性能、使いやすさ、および豊富な機能により、開発者や企業が大規模なデータスクレイピングタスクを処理するための理想的な選択肢となっています。

Star History Chart