Skip to main content

概要

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

なぜ価格追跡にOlostepを使うのか?

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

Olostepを使った価格追跡の方法

プロセスセットアップの概要

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

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

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

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

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

バッチ配列の構造

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

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

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

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

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

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

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

結論

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