过去的商品调研意味着打开十几个浏览器标签页,手动把价格复制进电子表格,然后下周再把这一切重新刷一遍。把这项工作自动化曾经只有开发者才能做到,因为那意味着编写爬虫、管理代理,还要时刻照看代码。这道门槛已经消失了。可视化自动化工具如今让任何人都能搭起一个自行采集商品数据的工作流,不需要任何编程背景。

本指南将向你展示如何用自动化电商商品调研,借助 n8n(一个开源自动化平台)和 Crawlbase(它承担从 Amazon 等网站抓取实时商品页面这一难活)。你会构建一个工作流,它从一个 Google Sheet 读取一份商品列表,通过 Crawlbase 为每一件拉取最新详情,并把结果写回去,这样你的调研无需你动手就能保持最新。我们将介绍把两者连接起来的两种方式:用于 AI 驱动流程的 Web MCP,以及用于直接、可预测流程的 Crawling API

到底为什么要自动化商品调研

手动调研无法扩展。一旦你要追踪的商品超过寥寥几件,复制粘贴的循环就会吃掉你一整天,而等你做完时数据已经过时了。更糟的是,价格和库存一直在变,所以一次性的快照几乎说明不了一个市场的任何情况。价值在于持续观察同一组商品并发现其中的变化。

一个自动化的工作流把它变成了一个后台进程。你只定义一次商品,设定一个计划,数据就会自行刷新。这样一套设置能在好几种角色身上带来回报:

  • 为细分分析构建大型数据集的电商研究者
  • 追踪价格和库存变动的竞品分析师
  • 监控自己和竞争对手商品的 Amazon 卖家
  • 研究跨越数周或数月市场趋势的数据分析师

大多数人卡住的环节是抓取。Amazon 和其他大型零售商用 JavaScript 渲染内容,并积极地挑战自动化流量,所以一个普通的 HTTP 请求通常会返回一个近乎空白的页面或一个封禁。那正是 Crawlbase 处理的工作,也正是为什么这个工作流能保持可靠,而不会在某个网站第一次收紧防御时就崩掉。

开始之前你需要什么

你是在连接几个工具,而不是写代码。先把这些准备好:

  • n8n 用来构建并运行这个自动化。使用本地安装或 n8n Cloud;对这个工作流来说两者效果一样。
  • 一个 Crawlbase 账户 用来做爬取。注册,然后从仪表盘复制你的 API 令牌。你会拿到一个用于静态页面的 Normal 令牌和一个用于客户端渲染页面的 JavaScript 令牌。
  • 一个启用了 Sheets API 的 Google 账户 这样 n8n 才能读取你的商品列表并把结果写回去。你在第一次添加 Google Sheets 节点时连接它。
  • 一个带有你商品列表的 Google Sheet 一列 Amazon ASIN 就足够起步了。给这一列起个清晰的名字,比如 ASIN

整个流程很短:你的表格保存着商品列表,n8n 在一个触发器或一个计划上运行工作流,Crawlbase 抓取每个商品页面并返回干净的结构化数据,然后 n8n 把这些数据写回表格。

把 n8n 连接到 Crawlbase 的两种方式

有两条扎实的路径,你选哪一条取决于你想要多少控制力,又想要多少灵活性。

Web MCP 路径把爬取暴露成 n8n 中的 AI Agent 可以自行调用的工具。你用平实的语言描述目标,agent 决定使用哪个爬取工具,然后你拿回结构化的输出。当你的目标各不相同,或者你想让模型对页面进行推理时,它就大显身手。完整的 Web MCP 演练从头到尾涵盖了那套设置。

Crawling API 路径是一次直接的 HTTP 调用。你发送一个 URL 和一个令牌,每次都拿回数据,循环中没有模型。它可预测、便宜,对于像从商品页面拉取同一批字段这样聚焦的任务来说是正确的默认选择。那正是我们下面要构建的路径,因为商品调研是一个定义明确的任务,一个内置的爬虫恰好能做到你所需要的。

该用哪种令牌

Crawlbase 发放两种令牌类型。Normal 令牌抓取静态 HTML;JavaScript (JS) 令牌先在真实浏览器中渲染页面。Amazon 商品页面在客户端加载关键详情,所以这里要用 JS 令牌。在一个客户端渲染的页面上使用 Normal 令牌,会返回一个数据缺失的单薄外壳。

第 1 步:在 n8n 中创建一个新工作流

登录 n8n 并点击 Create Workflow。给它起一个清晰的名字,比如 "Amazon Product Data Collector",这样等你有几个工作流在运行时还能找到它。你从一张空白画布开始;从这里起的一切都是把节点拖到上面并把它们连起来。

第 2 步:从 Google Sheets 读取商品列表

添加一个 Google Sheets 节点,并选择 On row added or updated 触发器。每当你向表格添加一个新 ASIN,它就会自动触发这个工作流,所以你一放进要查的东西,调研就开始了。

用你的 Google 账户进行身份验证,然后选择保存着你 ASIN 列表的电子表格和工作表。点击 Fetch Test Event 来确认连接能拉取到一行。一旦能拉到,n8n 就确切知道该从哪里读取你的商品,而流经的每一行都携带一个下一步可用的 ASIN 值。

第 3 步:用 Crawling API 抓取商品数据

n8n 没有自带一个专门的 Crawlbase 节点,所以你使用内置的 HTTP Request 节点来直接调用 Crawling API。把它添加在 Google Sheets 节点之后,并配置这些参数:

  • Method: GET
  • URL: https://api.crawlbase.com
  • Authentication: None
  • Send Query Parameters: 打开

然后添加三个查询参数。url 值是根据从触发器流过来的 ASIN 动态构建的,所以每一行都抓取它自己的商品:

text
token     your_crawlbase_js_token
url       https://www.amazon.com/dp/{{ $json.ASIN }}/ref=nosim
scraper   amazon-product-details

三个值承担了这项工作。token 是你仪表盘里的 JavaScript 令牌。url 使用 n8n 表达式 {{ $json.ASIN }} 把当前行的 ASIN 放进 Amazon 商品 URL,所以同一个节点无需改动就能处理每一件商品。scraper 告诉 Crawlbase 运行它内置的 amazon-product-details 解析器,它返回的页面已经被结构化为 JSON,而不是你还得自己解析的原始 HTML。

点击 Execute Node,你应该会在输出面板看到一个 JSON 响应,其中包含像 namepriceratingreviewCount 这样的字段。其形态如下:

json
{
  "body": {
    "name": "Wireless Noise Cancelling Headphones",
    "price": "$248.00",
    "rating": "4.6",
    "reviewCount": 31482,
    "inStock": true
  }
}

因为内置的爬虫已经解析了页面,你在下一个节点里按名称读取这些字段。没有 CSS 选择器,没有 XPath,没有任何会在 Amazon 推出改版时崩掉的东西。

Crawlbase Crawling API

n8n 驱动着这个自动化,但它自己无法越过 Amazon 的反机器人防御。Crawling API 用一次调用就弥合了这道缺口:传入一个 JS 令牌,它就在真实浏览器中渲染页面,在服务器端轮换住宅 IP,并返回干净的结构化数据,这样你就省去了自己运行一支无头浏览器队伍和一池代理。从最多 20,000 次免费请求开始,先把它对准一个公开的商品页面。

第 4 步:把结果写回 Google Sheets

现在存储你采集到的内容。打开你的表格,为你关心的字段添加列,例如 ASIN、Title、Price、Rating 和 URL。你随时都可以在以后决定什么对你的调研重要时再添加更多列。

回到 n8n,在 HTTP Request 之后添加第二个 Google Sheets 节点,并选择 Append or update row in sheet 动作。把 Column to match on 设为 ASIN,这样每件商品都会更新它自己的行,而不会在每次运行时创建重复项。然后把 Crawling API 响应里的字段映射进你的列:

text
ASIN     {{ $('Google Sheets Trigger').item.json.ASIN }}
Title    {{ $json.body.name }}
Price    {{ $json.body.price }}
Rating   {{ $json.body.rating }}
URL      {{ $json.url }}

ASIN 来自最初的触发器,所以它总能匹配到正确的行,而商品字段则来自 Crawling API 响应的 body。运行一次工作流,看着表格被填上标题、价格和评分,全都整齐地对齐到它们各自的 ASIN。

第 5 步:激活并调度它

把工作流在右上角切换为 Active。从现在起,向你的表格添加一个 ASIN 就会触发一次新的爬取,并在几秒内把详情写回去。仅这一点就消除了手动查找的循环。

对于持续进行的调研,你会希望数据自行刷新,而不仅仅在你添加行时才刷新。添加一个 Schedule Trigger 节点,让工作流每天或每隔几小时运行一次,并把你现有的 ASIN 列表重新喂过 Crawling API。现在你的表格就在追踪价格和库存随时间的变化,而无需你动一根手指,这正是把调研自动化而不只是加快它的全部意义所在。

让工作流更有用

一旦基础部分跑起来,几个小小的补充就能把一个数据采集器变成一个真正的调研工具。这些都不需要重建任何东西。

捕获更多字段

内置的爬虫返回的不止标题和价格。把 ratingreviewCount、卖家名称或库存状况映射进来,以更全面地了解一件商品表现如何、它又如何随时间变化。更丰富的数据正是让趋势分析值得去做的东西。

换用其他爬虫

Crawlbase 为许多网站都内置了爬虫,不只是 Amazon。要调研一个不同的平台,就改动 scraper 查询参数和目标 URL;工作流的其余部分保持不变。AI agent 工作流方法更进一步,让一个 agent 为每个目标挑选合适的工具,当你的来源各不相同时这很方便。

把爬取到的页面存起来供以后使用

如果你想给你抓取的所有东西留一个备份,就在 Crawling API 请求里加上 store=true,Crawlbase 会在你的账户里保留每次爬取的一份副本。这让你能重温旧快照或比较变化而无需重新爬取,这对于审计和历史分析很有用。

把数据路由到任何地方

Google Sheets 是最简单的目的地,但 n8n 连接着数百个服务。当一个竞争对手降价时把告警推送到 Slack,把行追加到一个数据库,或者喂给一个仪表盘。爬取步骤不变;你只是在它之后添加一个节点。

在规模上保持不被封禁

这个工作流能在一个自制爬虫会停摆的地方持续运行,原因在于 Crawling API 替你处理了渲染和 IP 轮换。它在一个真实浏览器和轮换的住宅 IP 背后运行每个请求,所以 Amazon 看到的是看起来正常的流量,而不是一个明显的机器人。如果你宁愿把自己的请求通过一个轮换池来路由,Smart AI Proxy 会以一个即插即用的端点给你同样的住宅轮换。无论哪种方式,更宽泛的策略都在如何爬取网站而不被封禁里。

回顾

核心要点

  • 分工。n8n 驱动这个自动化,Google Sheets 保存数据;Crawlbase 抓取商品页面并以结构化的形式返回。每个部件都做它擅长的那部分。
  • 使用内置的爬虫。amazon-product-details 爬虫返回已解析的 JSON,所以你按名称读取像 nameprice 这样的字段,没有要维护的选择器。
  • 对 Amazon 使用 JS 令牌。商品详情是在客户端渲染的,所以 JavaScript 令牌会在返回数据之前先在一个真实浏览器中渲染页面。
  • 调度它。一个 Schedule Trigger 自动刷新你的列表,把一次性的爬取变成持续的趋势追踪。
  • 两条连接路径。对于直接、可预测的任务使用 Crawling API,当你想让一个 AI Agent 跨各种目标挑选工具时使用 Web MCP。

常见问题

构建这个我需要懂得如何编程吗?

不需要。整个工作流是在 n8n 中通过拖动节点和填写字段以可视化方式构建的。你从不编写脚本。唯一看起来技术性的部分是像 {{ $json.ASIN }} 这样的 n8n 表达式,它们只是从上一步拉取一个值的占位符,而你直接从本指南把它们复制过来。

我该用 Web MCP 还是 Crawling API?

对于像从商品页面拉取同一批字段这样聚焦、可重复的任务,使用 Crawling API,因为它是一次成本和输出都可预测的直接调用。当你想让 n8n 中的一个 AI Agent 跨各种或不断变化的目标来决定使用哪个爬取工具时,就用 Web MCP。两者都运行在同一个 Crawlbase 爬取引擎上,所以你可以从其中一个开始,以后再切换。

为什么用 Crawlbase 而不是对 Amazon 发起一个普通的 HTTP 请求?

Amazon 用 JavaScript 渲染商品详情,并积极地封禁自动化流量,所以一个普通的请求通常会返回一个空壳或一个封禁页面。Crawlbase 在轮换的住宅 IP 背后于一个真实浏览器中渲染页面,然后返回干净的结构化数据,这正是让工作流不会在你一扩大规模时就崩掉的那部分。

我该如何在 Amazon 以外的网站上调研商品?

scraper 查询参数改成与你目标网站匹配的那个,并更新工作流所构建的 URL。Crawlbase 为许多平台内置了爬虫,而 n8n 工作流的其余部分,触发器和 Google Sheets 写回,保持完全不变。

这会让我被封禁吗?

Crawling API 轮换住宅 IP 并在服务器端渲染页面,这替你处理了大多数封禁。要在规模上保持安全,就用 Schedule Trigger 给你的请求安排节奏,而不是猛敲一个网站,让你的目标多样化,并盯着响应状态码,这样当一个网站开始挑战流量时你就能退一步。

我能保留一份我采集数据的历史吗?

能。在 Crawling API 请求里加上 store=true,Crawlbase 就会在你的账户里保存每次爬取的一份副本,这样你能重温旧快照或比较变化而无需再次抓取。在 n8n 这一侧,针对同一份 ASIN 列表安排定期运行,会构建出一份关于价格和库存如何随时间变动的连续记录。

开始构建

大规模爬取任何站点,无需与基础设施对抗。

Crawlbase 负责处理代理、指纹和 CAPTCHA,让你的团队专注于交付数据流水线,而非维护爬取管道。1,000 次请求免费,无需信用卡。

自助开通 · 无需销售通话 · 提供企业级爬取量