跳转到主要内容

概述

Olostep 提供了一个网页抓取 API,可以在电商平台上以可扩展且经济有效的方式实时跟踪数百万产品的价格,定期(例如每隔几小时)更新。 这对于希望监控价格波动、比较多个网站的价格或跟踪竞争对手定价策略的企业非常有用。 在本指南中,我们将看到一个客户如何使用 Olostep 为数百万亚马逊产品设置每日自动价格跟踪。

为什么使用 Olostep 进行价格跟踪?

  • 可扩展性: 每隔几小时跟踪数百万产品的价格。
  • 自动化: 设置预定的抓取任务,在预定义的时间/定期间隔运行。
  • 多种格式: 以 JSON、html 或 markdown 格式检索数据。
  • 自定义解析器: 使用我们的解析器提取仅相关的 JSON 信息,或将您自己的解析器传递给 API。

如何使用 Olostep 跟踪价格

过程设置概述

在大规模跟踪产品时,我们建议使用 Olostep 的 Batches 端点。 此端点允许您发送多个 URL 批次(每个最多 10 万个)以并行处理,然后在 5-8 分钟后检索结果。您可以同时发送多个批次,监控其进度,并在完成后检索结果。这样,您可以在 15-20 分钟内处理数百万个 URL。 使用 Olostep 进行价格跟踪的整体流程如下:
  1. 从数据库读取产品,并将您想要跟踪的 URL 保存到 CSV 文件中。
  2. 从 CSV 文件中读取数据,并使用 Olostep 的批次端点启动一个批次。 这是通过将数据分块发送到端点,每次最多 100,000 个 URL。
  3. 每 60 秒检查批次状态以监控进度。
  4. 批次完成后,读取内容并在您的工作流程中使用。
您可以启动一个批次并返回页面的 html/markdown 内容,然后自行解析以提取所需数据。但我们建议使用解析器启动批次,这样您将返回一个仅包含所需解析数据的 JSON 对象。您可以将自己的解析器传递给 API,或使用我们为一些常见网站(例如亚马逊产品页面、谷歌搜索结果、LinkedIn 个人资料等)预构建的解析器之一。 我们将每个批次的数据存储 7 天,因此如果需要,您可以多次检索。

第 1 步:从数据库导出产品数据

第一步是从数据库中检索产品信息,并将其保存为 CSV 格式。此文件应包含产品标识符、URL 以及跟踪所需的任何附加元数据。

第 2 步:使用 Olostep 启动一个批次

要启动一个批次,从 CSV 中读取产品数据,并将其发送到 Olostep 批次端点。这是通过带有 JSON 负载的 HTTP POST 请求完成的。 每个批次最多可以包含 10 万个 URL。对于大型数据集(>100,000 个 URL),请拆分为多个批次并并行发送。 一个批次由一个项目数组组成,每个项目代表一个要处理的产品 URL。以下是批次请求的结构:

批次数组结构

批次数组中的每个项目应遵循以下结构:
参数
array
必填
要处理的项目数组。每个批次最多 100,000 个 URL。每个项目必须有一个唯一的 custom_id。
string
必填
两个字母的国家代码(例如,意大利的 “IT”)。
string
要使用的自定义解析器的名称(例如,“@olostep/amazon-it-product”)。请通过 info@olostep.com 联系我们以获取预构建解析器的访问权限或创建您自己的解析器。
响应
端点返回一个包含 batch_id 的 JSON 对象,可用于监控状态然后检索结果。 示例用法

第 3 步:监控批次状态

一旦批次启动,您需要监控其状态以确定何时处理完成。API 提供了一个状态端点,可以定期(例如每 60 秒)使用 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 上发布一个开源仓库,提供此示例的完整代码。