Skip to main content
Node.js アプリケーションから、単一ページをスクレイピングし、サイト全体をクロールし、URL をマップできます。SDK がページネーション、リトライ、非同期ジョブのポーリングを処理するため、返されたデータの利用に集中できます。

インストール

Evocrawl の Node SDK をインストールするには、npm を使用します。
Node(Node.js)

使い方

  1. evocrawl.dev から API キーを取得します。
  2. 環境変数 EVOCRAWL_API_KEY に API キーを設定するか、EvocrawlApp クラスにパラメータとして渡します。
エラーハンドリング付きで SDK を使用する例は次のとおりです:
Node

URLをスクレイピングする

エラー処理付きで単一のURLをスクレイプするには、scrapeUrl メソッドを使用します。URLを引数に取り、スクレイプしたデータをディクショナリ(辞書)として返します。
Node

ウェブサイトのクロール

エラーハンドリング込みでウェブサイトをクロールするには、crawlUrl メソッドを使用します。開始URLと任意のパラメータを引数に取ります。params 引数では、クロールする最大ページ数、許可ドメイン、出力フォーマットなど、クロールジョブの追加オプションを指定できます。自動/手動のページネーションや上限設定については Pagination を参照してください。
Node

サイトマップのみクロール

sitemap: "only" を使用すると、サイトマップ内の URL のみをクロールします(開始URLは常に対象に含まれ、HTML リンクの探索は行われません)。
Node

クローリングを開始

startCrawl を使うと待機せずにジョブを開始できます。ステータス確認に使えるジョブの ID が返されます。完了まで処理をブロックするウェイターが必要な場合は crawl を使用してください。ページングの挙動と制限については Pagination を参照してください。
Node

クロールのステータス確認

エラー処理付きでクロールジョブのステータスを確認するには、checkCrawlStatus メソッドを使用します。ID を引数に取り、クロールジョブの現在のステータスを返します。
Node

クロールのキャンセル

クロールジョブをキャンセルするには、cancelCrawl メソッドを使用します。startCrawl のジョブIDを引数に渡すと、キャンセル結果のステータスが返されます。
Node

ウェブサイトのマッピング

エラー処理込みでウェブサイトをマッピングするには、mapUrl メソッドを使用します。開始 URL を引数に取り、マッピング結果をディクショナリとして返します。
Node

WebSocket を使ったサイトのクロール

WebSocket を使ってサイトをクロールするには、crawlUrlAndWatch メソッドを使用します。開始 URL と任意のパラメータを引数に取ります。params 引数では、クロールする最大ページ数、許可ドメイン、出力フォーマットなど、クロールジョブの追加オプションを指定できます。
Node
Evocrawl の /crawl と batch の各エンドポイントは、追加のデータがある場合に next URL を返します。Node SDK はデフォルトで自動ページネーションを行い、すべてのドキュメントを集約します。その場合は nextnull になります。自動ページネーションを無効にしたり、上限を設定したりできます。

クロール

最も手軽なのはウェイター方式の crawl を使うことです。あるいはジョブを開始して、ページングを手動で行ってください。
シンプルなクロール(自動ページ送り、デフォルト)
ページネーション制御付きの手動クロール(単一ページ)
  • ジョブを開始し、autoPaginate: false を指定して1ページずつ取得します。
Node
制限付きの手動クロール(自動ページネーション + 早期停止)
  • 自動ページネーションはオンのまま、maxPagesmaxResults、または maxWaitTime で早めに停止します。
Node

バッチスクレイプ

waiter メソッド batchScrape を使うか、ジョブを開始して手動でページングします。
シンプルなバッチスクレイプ(自動ページネーション、デフォルト)
  • 既定のフローは Batch Scrape を参照してください。
ページネーション制御による手動バッチスクレイプ(単一ページ)
  • ジョブを開始し、autoPaginate: false を指定して1ページずつ取得します。
Node
制限付きの手動バッチスクレイプ(自動ページネーション+早期停止)
  • 自動ページネーションは有効のまま、maxPagesmaxResults、または maxWaitTime で早期停止します。
Node

ブラウザ

クラウドブラウザセッションを起動し、リモートでコードを実行します。

セッションを作成する

Node

コードの実行

Node
Python の代わりに JavaScript を実行する:
Node
agent-browser 経由で Bash を実行する:
Node

プロファイル

ブラウザの状態(Cookie、localStorage など)をセッション間で保存して再利用できます:
Node

CDP 経由で接続する

Playwright をフルに制御するには、CDP URL を使用して直接接続します。
Node

セッションの一覧表示とクローズ

Node

スクレイプに紐づくインタラクティブセッション

スクレイプのジョブIDを使用すると、そのスクレイプで再現されたページコンテキストに対して引き続き操作できます。
  • interact(jobId, {...}) は、スクレイプに紐づくブラウザセッション内でコードを実行します。
  • 最初の interact 呼び出しでは、スクレイプコンテキストからセッションが自動的に初期化されます。
  • 同じジョブIDに対する追加の interact 呼び出しでは、そのライブなブラウザ状態が再利用されます。
  • stopInteraction(jobId) は、操作が完了したらインタラクティブセッションを停止します。
Node

エラーハンドリング

この SDK は EvoCrawl API から返されるエラーを処理し、適切な例外を送出します。リクエスト中にエラーが発生した場合は、わかりやすいエラーメッセージ付きの例外が送出されます。上記の例では、try/catch ブロックを使ってこれらのエラーを処理する方法を示しています。
EvoCrawl API キーが必要な AI agent ですか?自動オンボーディング手順については、evocrawl.dev/agent-onboarding/SKILL.md を参照してください。