返回博客
指南
Andrei OgiolanLast updated on Mar 31, 20261 min read

学习如何使用 Node.js 抓取 Google 购物的产品规格

学习如何使用 Node.js 抓取 Google 购物的产品规格

在本文中,我们将探讨如何使用我们的 SERP API 配合 Node.js 从 Google 购物中抓取产品规格。内容涵盖从搭建开发环境到提取相关数据,并讨论可能遇到的问题。读完本文后,您将掌握独立抓取 Google 购物产品规格所需的知识和工具。但在深入探讨技术细节之前,让我们先了解一下什么是 Google 购物。

Google Shopping 是一个允许用户搜索并比较来自各大在线零售商产品的平台。它展示了种类繁多的商品及其价格,为消费者寻找最优惠的交易提供了便捷的工具。通过使用网络爬虫技术,我们可以从 Google Shopping 中提取有价值的数据(例如产品规格),从而获得洞察并做出明智的决策。

为何应使用专业爬虫工具而非自行开发?

在进行网页抓取时,许多人会想自己开发抓取方案。然而,使用专业的抓取工具通常是更好的选择。专业的抓取工具由经验丰富的开发人员构建和维护,他们深谙网页抓取的复杂性。这些工具专为应对抓取过程中的挑战而设计,例如验证码、IP封禁以及网站改版。此外,它们还内置了定时任务、数据导出和错误处理等功能。

另一个重要方面是,专业爬虫服务商严格遵守目标网站的抓取政策,并能确保数据使用的合法性——这一点在进行数据抓取时至关重要。

使用专业爬虫工具可节省时间、精力和成本。此外,专业爬虫工具配备了丰富功能,支持大规模爬取、任务排程,甚至可通过代理和VPN进行爬取以规避IP封禁。总而言之,使用专业爬虫工具不仅能节省时间和精力,还能提供更准确可靠的数据,是满足任何网页爬取需求的明智之选。

最后,就我们的具体情况而言,Google Shopping 经常更改其 CSS 类,这要求您进行大量手动更新,尤其在构建更复杂的爬虫时,这会非常耗时。幸运的是,像我们这样的专业爬虫可以解决这个问题,您无需再进行这些更新即可正确获取数据。

什么是 Google 购物产品规格?

Google 购物产品规格指的是在 Google 购物上所列产品的技术细节和信息。这包括产品名称、价格、品牌、图片、描述等详细信息。这些规格可以提供有关产品功能和特性的宝贵见解,可用于就购买或销售该产品做出明智的决策。例如,通过比较类似产品的规格,消费者可以做出明智的选择,确定哪款产品最符合他们的需求。

从 Google 购物抓取产品规格数据可应用于多种场景。例如,电子商务企业可利用这些数据分析竞争对手,并就定价、产品组合及营销活动制定战略决策。零售商也可利用这些信息识别产品线中的缺口,并据此决定应进货哪些产品。此外,研究人员和分析师可利用这些数据研究消费者行为和市场趋势。

我们的目标是什么?

环境搭建

在使用我们的 API 开始抓取 Google 购物产品规格之前,必须确保已正确配置相关工具。主要要求是安装 Node.js——这是一种允许在服务器端执行 JavaScript 的运行时环境,可从其官方网站下载。

此外,还需要一个 API 密钥,您可通过在此处创建账户并激活 SERP 服务来获取。

配置好 Node.js 并获取 API 密钥后,下一步是创建一个 Node.js 脚本文件。可通过运行以下命令实现:

$ touch scraper.js

现在将以下内容粘贴到文件中:

console.log("Hello World!")

然后运行以下命令:

$ node scraper.js

如果终端上显示“Hello World!”消息,则表示 Node.js 已成功安装,现在您可以继续进行实际的抓取操作了。

开始抓取 Google 购物产品规格

环境配置完成后,您就可以使用我们的 API 开始抓取 Google 购物产品详情了。这是一个简单的过程,除了上述内容外,您只需获取您感兴趣的产品的产品 ID 即可。

提示:以下是从 Google 购物中获取商品 ID 的方法:

现在 Node.js、API 密钥和商品 ID 均已准备就绪,您可以开始抓取数据了。要立即开始,请创建一个 js 文件(或使用上一节中创建的文件),并导入 Node.js 内置的 `https` 模块,该模块可让您向我们的 API 发送请求。具体操作如下:

​​const https = require("https");

其次,您需要指定您的 API 密钥以及目标商品的 `product_id` 属性:

const API_KEY = "YOUR-API-KEY-HERE" // You can obtain one by registering here

const PRODUCT_ID = "11607214845071611155"

接下来,您需要将这些信息封装在 options 对象中,以便让我们的 API 知道您要抓取的是哪款产品:

const options = {

 "method": "GET",

 "hostname": "serpapi.webscrapingapi.com",

 "port": null,

 "path": `/v1?engine=google_product&api_key=${API_KEY}&product_id=${PRODUCT_ID}`,

 "headers": {}

};

最后,您需要使用所有这些信息设置对我们 API 的调用:

const req = http.request(options, function (res) {

 const chunks = [];

 res.on("data", function (chunk) {

   chunks.push(chunk);

 });

 res.on("end", function () {

   const body = Buffer.concat(chunks);

   const results = JSON.parse(body.toString());

   const product_specs = results.specs_results;

   console.log(product_specs)

 });

});

req.end();

现在您只需执行创建的脚本并等待结果即可:

​​$ node scraper.js

此时您应已收到结果:

{

  display: {

    native_aspect_ratio: '16:9',

    screen_shape: 'Flat',

    led_backlighting_type: 'Direct-LED',

    display_technology: 'LCD',

    display_resolution: '1920 x 1080 pixels'

  }

}

就这样!您已成功通过我们的 API 抓取了 Google 购物的产品规格,现在可以将获取的数据用于价格比较、市场调研、SEO 优化等多种用途。如需进一步参考资料以及其他六种编程语言的代码示例,请查阅我们的 Google 产品 API 文档

Google 产品规格的局限性

使用 Google 购物产品规格时的一个局限性在于,数据未必总是完整或最新的。并非所有零售商和制造商都会在 Google 购物上列出其产品,或者他们可能未提供所有必要的信息。 此外,部分数据可能存在不准确或过时的情况。这会导致抓取数据出现不一致和不准确之处,进而对基于这些数据进行的任何分析或研究结果产生负面影响。此外,Google 一直在致力于检测和阻止抓取行为,因此随着时间的推移,抓取过程可能会失败或变得更加困难,但使用像我们这样的专业抓取工具可以帮助您克服这一问题。

结论

综上所述,利用 Node.js 抓取 Google 购物的产品规格数据,对于希望深入了解特定市场产品及趋势的企业和研究人员而言,是一项强大的工具。通过使用 Node.js、API 密钥和产品 ID,可以轻松快速地从 Google 购物中收集大量产品规格数据。

关于作者
Andrei Ogiolan, 全栈开发工程师 @ WebScrapingAPI
Andrei Ogiolan全栈开发工程师

安德烈·奥吉奥兰(Andrei Ogiolan)是 WebScrapingAPI 的全栈开发工程师,他在产品各领域均有贡献,并协助为该平台构建可靠的工具和功能。

开始构建

准备好扩展您的数据收集规模了吗?

加入2,000多家企业,使用WebScrapingAPI在无需任何基础设施开销的情况下,以企业级规模提取网络数据。