Skip to main content
Olostepの/v1/batchesエンドポイントを使用すると、1つのバッチで最大10,000のURLを処理できます。バッチは約5〜8分かかります。非同期的にコンテンツや構造化データを大規模に抽出するために使用してください。
  • バッチごとに最大10,000のURLを送信可能
  • バッチサイズに関係なく、1つのバッチは約5〜8分かかります。バッチは非同期エンドポイントです
  • 多くのバッチを並行して実行し、数百万の同時リクエストにスケールアップ
  • パーサーを使用して構造化されたJSONを返すか、/v1/retrieveを介してmarkdown/htmlを取得
  • 低遅延または同期的に結果を取得したい場合は、スクレイプエンドポイントを使用して多くの同時リクエストを送信してください
APIの詳細はバッチエンドポイントAPIリファレンスを参照してください。
注意: 新しいアカウントでは、バッチは1バッチあたり100アイテムに制限されています。この制限を解除するには、info@olostep.comまでご連絡いただくか、Slackでお問い合わせください。

インストール

バッチを開始

custom_idurlを持つitemsの配列を提供します。これらはバッチで処理されるURLであり、custom_idはURLの内部一意識別子です。 オプションでparserまたはcountryを渡します。parserパラメータを通じて、バッチに使用するパーサーを指定できます。これにより、ページから構造化されたJSONが返されます。
Olostepはオブジェクト指向のアプローチを採用しているため、batchオブジェクトがレスポンスとして返されます。batchオブジェクトにはidstatusなどのプロパティがあります。

バッチステータスを確認

statuscompletedになるまでポーリングします。また、completed_urlsプロパティを確認して、処理されたURLの数を確認することもできます。

コンテンツを取得

各アイテムのretrieve_idを使用して、/v1/retrieveからhtml_contentmarkdown_content、またはjson_contentを取得します。

アイテムをリスト (カーソルでページネーション)

cursorlimitを使用してアイテムを取得します。コンテンツにはretrieve_idを使用して/v1/retrieveを使用することをお勧めします。

レスポンス形式

提供されたサンプルコードを実行すると、次のようなレスポンスが得られます
指定されたパーサーを渡して構造化されたJSONを取得し、JSONのみを印刷しているため、レスポンスには以下が含まれます:
  • json_content 構造化された検索結果を含む:
  • searchParameters: 検索クエリに関する情報
  • knowledgeGraph: 検索対象に関する詳細情報(利用可能な場合)
  • organic: タイトル、リンク、位置、スニペットを含む検索結果のリスト
  • peopleAlsoAsk: ユーザーが一般的に検索する関連質問
  • relatedSearches: 関連する検索クエリの提案
構造化されたJSONではなく、単にmarkdownまたはhtmlを取得したい場合は、retrieveエンドポイントからそれらを取得できます。

Webhooks

バッチステータスをポーリングする代わりに、バッチを作成する際に**webhook** URLを渡すことができます。Olostepはバッチが終了したとき(すべてのアイテムが完了または失敗したとき)にそのURLにHTTP POSTを送信します。 あなたのWebhookエンドポイントは**http://またはhttps://公開可能**である必要があります。localhostやプライベートIPアドレスを指すことはできません。完全なペイロード形状、再試行動作、ベストプラクティス(2xxで迅速に応答し、イベントidを使用して重複を排除)については、Webhooksを参照してください。
パラメータ名: 標準のフィールドはwebhookです。後方互換性のために、**webhook_url**もエイリアスとして受け入れられます。
バッチに対して、batch.completedイベントにはバッチID、ステータス、アイテム数が含まれます。失敗した配信は自動的に再試行されます(30分間で約5回の試行、指数バックオフ)。ハンドラーは各試行で30秒以内2xxステータスを返す必要があります。

メタデータ

バッチにカスタム文字列キーと値のメタデータを添付して、追跡、フィルタリング、独自のシステム(注文ID、プロジェクト名、パイプラインステージなど)との関連付けを行います。メタデータは、メタデータリファレンスと同じルールに従います。 バッチを作成するときに、2つのレベルでメタデータを設定できます:
  • バッチレベルリクエストボディmetadata(バッチ全体に適用)
  • アイテムレベルitems配列内の各オブジェクトmetadata(URLごと)
メタデータは、そのバッチの後続のGETレスポンスで返されます。後でUpdate BatchPATCH)を使用してバッチメタデータをマージ更新できます。追加、上書き、削除の動作については、メタデータガイドを参照してください。
型の強制: 数値とブール値は文字列に変換されます(例:42"42"true"true")。ネストされたオブジェクトと配列は拒否されます。
完全な例とPATCHのセマンティクスについては、メタデータを参照してください。

重要な注意点

構造化されたJSONを取得したい場合は、リクエストを送信する前にAPIに特定のパーサーを渡す必要があります。例えば、Google検索からJSONを取得したい場合は、このパーサーを渡します "parser": {"id": "@olostep/google-search"}。 独自のパーサーを作成して、任意のページから必要なデータを取得できます。詳細を知りたい場合は、info@olostep.comまでお問い合わせください。

結論

バッチエンドポイントは、多くのURLから短時間でデータを取得する必要がある場合に便利です。取得したいURLのリストを既に持っている必要があります。 一般的なアプリケーションには以下が含まれます:
  • 複数のeコマースサイトで製品の価格変動を監視する価格追跡サービス
  • 多数のページでコンテンツの更新をチェックするウェブサイト監視ツール
  • 複数の会場でのチケットの可用性を追跡するコンサートオーガナイザーのためのデータ集約
  • 多くのウェブサイトからコンテンツを収集し、インデックスを作成する検索エンジン
  • 様々