メインコンテンツへスキップ

概要

Olostepは、eコマース上の何百万もの製品の価格をリアルタイムで定期的に(例:数時間ごとに)追跡するためのWebスクレイピングAPIを提供します。これにより、スケーラブルでコスト効果の高い方法で価格を監視できます。 これは、価格変動を監視したり、複数のウェブサイトで価格を比較したり、競合他社の価格戦略を追跡したい企業にとって有用です。 このガイドでは、顧客がOlostepを使用して、毎日何百万ものAmazon製品の自動価格追跡を設定する方法を見ていきます。

なぜ価格追跡にOlostepを使用するのか?

  • スケーラビリティ: 数時間ごとに何百万もの製品の価格を追跡します。
  • 自動化: 事前に定義された時間や定期的な間隔で実行されるスケジュールされたスクレイピングタスクを設定します。
  • 複数フォーマット: データをJSON、html、またはmarkdown形式で取得します。
  • カスタムパーサー: パーサーを使用して関連するJSON情報のみを抽出するか、独自のパーサーをAPIに渡します。

Olostepを使用した価格追跡の方法

プロセス設定の概要

大規模に製品を追跡する際には、OlostepのBatchesエンドポイントを使用することをお勧めします。 このエンドポイントを使用すると、最大10万件のURLを含む複数のバッチを並行して処理し、5〜8分後に結果を取得できます。複数のバッチを同時に送信し、進捗を監視し、完了したら結果を取得できます。この方法で、15〜20分で何百万ものURLを処理できます。 Olostepを使用した価格追跡の全体的な流れは次のとおりです:
  1. データベースから製品を読み取り、追跡したいURLをCSVファイルに保存します。
  2. CSVファイルからデータを読み取り、Olostepのバッチエンドポイントを使用してバッチを開始します。 これは、最大100,000のURLを含むチャンクでエンドポイントにデータを投稿することによって行われます。
  3. 60秒ごとにバッチのステータスを確認して進捗を監視します。
  4. バッチが完了したら、コンテンツを読み取り、ワークフローで使用します。
バッチを開始し、ページのhtml/markdownコンテンツを返してもらい、必要なデータを自分で解析することもできますが、パーサーを使用してバッチを開始し、必要な解析済みデータのみを含むJSONオブジェクトを返してもらうことをお勧めします。 独自のパーサーをAPIに渡すことも、一般的なウェブサイト(例:Amazon製品ページ、Google検索結果、LinkedInプロファイルなど)のために用意された事前構築のパーサーを使用することもできます。 各バッチのデータは7日間保存されるため、必要に応じて複数回取得できます。

ステップ1: データベースから製品データをエクスポート

最初のステップは、データベースから製品情報を取得し、CSV形式で保存することです。このファイルには、製品識別子、URL、および追跡に必要な追加のメタデータが含まれている必要があります。

ステップ2: Olostepでバッチを開始

バッチを開始するには、CSVから製品データを読み取り、Olostepのバッチエンドポイントに送信します。これは、JSONペイロードを使用したHTTP POSTリクエストを使用して行われます。 各バッチには最大10万件のURLを含めることができます。大規模なデータセット(>100,000 URL)の場合、複数のバッチに分割して並行して送信します。 バッチは、処理される製品URLを表すアイテムの配列で構成されます。バッチリクエストの構造は次のとおりです:

バッチ配列の構造

batch_arrayの各アイテムは次の構造に従う必要があります:
パラメータ
array
必須
処理するアイテムの配列。バッチごとに最大100,000のURL。各アイテムには一意のcustom_idが必要です。
string
必須
2文字の国コード(例:“IT”はイタリア)。
string
使用するカスタムパーサーの名前(例:“@olostep/amazon-it-product”)。事前構築されたパーサーへのアクセスや独自のパーサーを作成するには、info@olostep.comまでお問い合わせください。
レスポンス
エンドポイントは、バッチのステータスを監視し、結果を取得するために使用できるbatch_idを含むJSONオブジェクトを返します。 使用例

ステップ3: バッチステータスの監視

バッチが開始されたら、処理が完了したかどうかを判断するためにステータスを監視する必要があります。APIは、batch_idを使用して定期的にポーリングできるステータスエンドポイントを提供します
本番環境での使用には、複数のバッチを効率的に処理するために非同期モニタリングを実装することをお勧めします:

ステップ4: 完了したアイテムのIDを取得

バッチが完了とマークされたら、完了したアイテムのリストを取得できます。各アイテムにはretrieve_idがあります。実際のコンテンツが必要な場合は、retrieve_idを渡してretrieveエンドポイントを使用します
これにより、送信された各URLに対してretrieve_idを持つ完了したアイテムが返されます。その後、各URLの抽出データ(html、markdown、またはJSON)を取得して保存するためにretrieveエンドポイントを使用できます。 次のコードを使用して、バッチ内の各アイテムのretrieve_idを取得できます:

ステップ5: 各アイテムのコンテンツを取得

各アイテムのretrieve_idを取得したら、retrieveエンドポイントを使用してそのコンテンツ(HTML、Markdown、またはJSON)を取得できます:

結論

これらのステップに従うことで、Olostepを使用した自動価格追跡システムを設定できます。近日中に、この例の完全なコードを含むオープンソースのGitHubリポジトリを公開する予定です。