Google 刚刚为依赖自然搜索流量的商家发布了一项重要公告:现在可以实时更新自然搜索结果中的产品列表了!
广告主在 Google Shopping 上早已具备此功能。如今,企业可以将相同的产品数据源用于自然搜索,且无需支付任何费用。
商家现在可以在 Google Merchant Center 中使用产品数据源来优化自然搜索结果。点击图片以放大。
如果您在 Google Shopping 上投放广告并且拥有包含有效产品的数据源,则无需额外付费(目前仅支持美国境内产品销售)。2月22日的公告指出:
上传至 Google Merchant Center 的产品数据源将符合在 Search 和 Google Images 等展示位显示的条件。这些产品信息仅根据与用户查询的相关性进行排名,无需也不接受任何付费以获得展示资格。我们首先在美国推出这一扩展功能,其他国家的支持将在今年晚些时候公布。
如果您未在 Google Shopping 上花费资金且无此计划,可能就没有 Google 产品数据源。本文将解释如何从 XML 站点地图创建一个。
产品数据源
注册 Google Merchant Center 后,请按照以下步骤操作:
- 在“Products”下,点击“Feeds”,然后点击蓝色方块中的浮动 + 号。
- "Country of sale" 选择美国(目前仅限),然后在 "Content language" 下拉菜单中选择 English。保留勾选 "Surfaces across Google";若不在 Google Shopping 上做广告,请取消勾选 "Shopping ads"。
- 为您的 feed 命名,并选择 "Google Sheets" 作为数据源。
- 最后,选择 "Generate a new Google spreadsheet from a template."
下方的示例 Google Sheet 使用假设数据构建了一个产品 feed。必填字段(绿色高亮)包括 “id”、“title”、“description”、“condition”、“price”、“availability”、“link” 和 “image link”。
生成产品数据源的一种方法是通过 Google Sheets。点击图片以放大。
然而,手动收集数千种产品的这些信息工作量巨大。我们可以改用包含产品 URL 的 XML sitemap,直接从产品页面自动收集数据。
产品信息
为了说明这一点,我将使用家电和电子产品零售商 P.C. Richard & Son 在其 XML 站点地图索引中的产品 XML 站点地图,生成一个示例产品数据源。
我将根据下方示例游戏键盘产品页面中所需的列定义内容提取规则。XPath 是一种查询语言,允许您使用特殊约定指定网页中的任意元素以提取内容。
XPath 允许您指定网页上的任意元素以进行内容提取。点击图片以放大。
在上方的截图中,我选择了要提取的元素:“Corsair K55 RGB Gaming Keyboard with Three Zone Backlighting and Macro Keys.” 然后右键单击并在 Chrome Developer Tools 中选择“Elements”。将鼠标悬停在元素上,再次右键单击以获取内容提取器。我选择了 XPath,并从 Chrome 中获得了以下值://*[@id=”addToCartCH9206015NA”]/div[4]/h1.
当我对每个必填列重复此操作后,得到了以下 XPaths:
- 型号(产品编号)://*[@id=”addToCartCH9206015NA”]/div[4]/div[1]/div[1]/text()[1]
- Title://*[@id=”addToCartCH9206015NA”]/div[4]/h1
- 描述://*[@id=”tech-specs”]/div/dl[2]/dd[1]/text()
- 状况:假设为全新。
- 价格://*[@id=”addToCartCH9206015NA”]/div[5]/div/div[1]/div[2]/span
- 库存情况:除非另有说明,假设商品有货。
- 链接:已知页面 URL。
- 图片链接://*[@id=”mainImage”]
验证 XPath
接下来,我将确认这些 XPath 是否有效。可以直接在 Chrome 开发者工具的“元素”选项卡中完成此操作。
使用 Chrome 开发者工具中的 Elements 选项卡以确保 XPath 能够正常工作。点击图片以放大。
在“元素”选项卡中,按 Ctrl+F 打开搜索框,输入要验证的 XPath。慢慢输入以观察它在哪些地方生效、哪些地方不生效。例如,为了验证产品 ID 的 XPath,我将其简化为://*[@id=”addToCartCH9206015NA”]/div[4]/div[1]/div[1].
这会捕获比我所需更多的内容,我将在提取后进行清理。您可以重复此过程来验证并调整其余的 XPath。
请注意,如果禁用 JavaScript,产品信息框就会消失。除非爬虫使用 JavaScript 渲染内容,否则计算出的某些 XPath 将无法工作。
如果禁用 JavaScript,产品信息框将会消失。
提取
现在是关键步骤。我将使用 Screaming Frog 运行提取过程(其他网络爬虫也能完成)。首先将验证过的 XPath 复制到 Screaming Frog 的 Configuration > Custom > Extraction 中。
使用 Screaming Frog 或您喜欢的网络爬虫运行提取过程。点击图片以放大。
输入将从 Google Sheet 中提取的每一列的名称,点击“Inactive”下拉菜单并选择 XPath。复制并粘贴已验证的 XPath;若 XPath 以 text() 结尾,请选择“Extract Text”,否则保持为“Extract Inner HTML”。点击 OK 保存。
接下来,将 Screaming Frog 的默认渲染行为从文本更改为 JavaScript,以便所有 XPath 都能正常工作。在主菜单下的 Configuration > Spider > Rendering 中找到该设置。
将 Screaming Frog 的默认渲染行为从文本更改为 JavaScript,以便所有 XPath 都能正常工作。点击图片以放大。
Screaming Frog 现在将承担主要工作。在主菜单中将模式更改为“列表”,点击“上传”,然后选择“下载站点地图”。在本例中,这是之前发现的 P.C. Richard & Son 产品 XML 站点地图的 URL。提取的列将显示在数据网格的末尾,请注意下方截图中图片链接被正确提取的情况。
提取的列将显示在数据网格的末尾。此截图显示了正在提取的图片链接。点击图片以放大。
爬取完成后,将其导出为 CSV 文件。将该文件导入 Google Sheets,删除包含不必要元数据的列,并在 Google Sheets 中直接进行清理工作。例如,我们的图片 URL 是相对路径,需要转换为绝对路径。

