亚马逊是全球范围内购买产品的热门选择。研究表明,客户在做出购买决定之前会花很多时间阅读过去的购买评论。作为企业主和技术专家,亚马逊提供了大量的评论数据,如果没有适当的工具,提取这些数据将非常困难。
通过我们的详细指南探索抓取亚马逊评论的复杂性,该指南提供了一种结合了 JavaScript 和 爬虫库 Crawling API,确保数据提取过程畅通、成功。
我们整理了一本免费电子书,其中包含抓取亚马逊数据的实用见解和技巧, 你可以在这里下载.
表的内容
- 步骤 1. 准备工作空间:先决条件和环境设置
- 步骤2.检索亚马逊产品评论
- 步骤 3. 使用分页抓取所有评论
- 步骤 4. 存储数据
一、为什么要抓取亚马逊产品评论

在电子商务领域,产品评论就像一张藏宝图,引导您了解客户偏好和意见的复杂景观。 抓取这些评论就像打开一扇门,让他们通向他们对产品未经过滤的想法和情感。 然而,这些评论的意义远远超出了单纯的见解; 它们对于进行市场研究、推动产品改进和进行竞争分析是不可或缺的。
解锁市场洞察
亚马逊产品评论就像一张藏宝图,展示了顾客喜欢什么和不喜欢什么。 抓取这些评论可以让您一睹他们对产品的想法和感受。 就像偷听客户的谈话,告诉他们什么让他们高兴或沮丧。
增强您的产品
想象一下,有一个神奇的水晶球可以向您展示您的产品可以做得更好的地方。 亚马逊评论就像那个水晶球。 它们帮助您发现常见问题并发现需要改进的地方。 这类似于让客户作为您的产品开发顾问,告诉您如何让事情变得更加出色。
间谍竞争
想成为市场之王或女王吗? 亚马逊评论让你扮演侦探。 您可以看到您的产品与竞争对手相比如何。 这就像研究对手的战术手册并找到获得更多达阵得分的方法。
当您抓取亚马逊评论时,您不仅仅是在收集数据;您还在收集数据。 您将获得竞争优势并挖掘有价值的客户洞察。 这是在电子商务领域取得成功的秘密武器。
二. 如何避免被亚马逊屏蔽
虽然抓取亚马逊评论的能力提供了大量有价值的数据,但它也面临着挑战。 电子商务的数字格局有自己的一套规则,该领域的巨头之一亚马逊也不例外。 抓取其页面比看起来更复杂。
防止亚马逊评论抓取工具在抓取产品评论时遇到阻塞对于保持数据收集过程的可靠性和连续性至关重要。 以下是一些有效的策略:
- 用户代理标头: Amazon 可以通过检查 HTTP 请求中的 User-Agent 标头来检测自动抓取。 为了避免检测,请使用 网络爬虫工具 或允许您设置用户代理标头以模仿 Web 浏览器的库。 这使您的请求看起来更像典型用户的请求。
- 请求速率限制: 在抓取请求之间实施延迟。 快速而频繁的请求压垮亚马逊的服务器可能会触发其安全机制。 通过添加延迟,您可以模拟更人性化的浏览模式,从而降低被发现的风险。
- IP 轮换和代理服务器: 轮换IP地址 或者使用 代理服务器服务 可以帮助防止基于 IP 的封锁。 当大规模抓取时,建议使用轮换 IP 或代理池。 这样,亚马逊就不会从单个 IP 地址识别出一致的模式,从而使他们更难阻止您的访问。
- 尊重robots.txt: 始终遵守亚马逊“robots.txt”文件中定义的规则。 该文件指定网站的哪些部分可以被抓取,哪些部分不能被抓取。 刮擦不允许的区域可能会导致刮刀被堵塞,因此检查并遵守这些规则非常重要。
- 监测和适应: 亚马逊经常更新其网站结构和安全措施。 为了保持领先地位,请监控亚马逊网站的结构变化并相应地调整您的抓取工具。 BeautifulSoup 和 Scrapy 等网页抓取库可以帮助您在 HTML 结构发生变化时调整抓取工具。
值得注意的是,虽然这些策略可以帮助防止您的抓取工具被阻塞,但它们可能需要大量的努力和专业知识才能有效实施。
Crawlbase 可以处理这一切
管理所有这些方面 网络抓取 可能是一项具有挑战性且耗时的任务。这就是 Crawlbase Crawling API 非常出色。Crawlbase 旨在处理复杂的网页抓取,包括设置用户代理标头、管理请求率、轮换 IP 地址、遵守 robots.txt 规则以及监控网站变化,使其成为抓取亚马逊评论的完美工具。


通过使用 Crawlbase API,您可以专注于从亚马逊评论中提取有价值的数据,而不必担心被阻止,因为 Crawlbase 会为您解决这些挑战。 这使得使用 Crawlbase 进行 Amazon 抓取成为您项目的绝佳选择,确保平稳可靠的数据提取。
三. 了解亚马逊产品评论页面 HTML

在我们探索为亚马逊评论抓取工具编写代码之前,有必要了解亚马逊产品评论页面的 HTML 结构。 这种理解是成功抓取操作的基础,因为它使您能够精确定位和提取所需的数据。
亚马逊的产品评论页面由各种 HTML 元素构成,每个元素都包含有价值的信息。 以下是需要注意的关键要素:
检查容器
亚马逊上的每条客户评论都位于评论容器中。 这些容器封装了审阅者的评论、评级和其他相关详细信息。 将它们视为打包整齐的反馈包。
审稿人信息
亚马逊提供有关评论者的详细信息,包括他们的用户名、评论日期,有时还会提供其他信息,例如他们的位置。 此信息可帮助您了解审核的背景。
评级和星级
评级和星级评级显着显示在亚马逊的产品评论页面上。 这些视觉线索传达了客户对产品的满意度,使其成为关键的数据点。
评论文本
每篇评论的核心都是评论文本本身。 在这里,客户分享他们对产品的体验、意见和反馈。 在这里您会发现宝贵的见解和观点。
分页
对于有大量评论的产品,亚马逊采用分页将其划分为多个页面。 了解 HTML 中分页的结构对于有效抓取所有评论至关重要。 这就像弄清楚如何翻书页来阅读整个故事一样。
当我们继续构建亚马逊产品评论抓取工具时,请记住这些要素。 它们是我们抓取策略的基石。
四. 如何抓取亚马逊评论
步骤 1. 准备工作空间:先决条件和环境设置
现在,让我们开始做正事,确保您的工作空间已准备好构建亚马逊评论抓取工具。 在我们开始编码之前,这里有一个清单,以确保您拥有所需的一切:
安装 Node.js
确保您的计算机上安装了 Node.js。 如果您还没有,您可以从他们的网站下载 Node.js 官方网站。 Node.js 作为运行时环境,使我们能够在您的计算机上运行 JavaScript 代码。
Crawlbase API 的 JavaScript 令牌
要连接 Crawlbase API,您需要 API 令牌。 您可以通过以下方式获取令牌 注册 Crawlbase。 拥有帐户后,请转到帐户仪表板并保存您的 JavaScript 令牌。 将此令牌视为您访问网络数据宝藏的密钥。
JavaScript 和 npm 的基础知识
熟悉 JavaScript 和 npm(节点包管理器)对于我们继续进行将非常有益。 如果您是 JavaScript 新手,请不要担心; 我们将通过代码逐步提供详细指导。 Npm 将协助我们管理整个项目中的包和依赖项。
通过确保您具备这些要素,您就可以在学习如何抓取亚马逊评论方面获得顺利而成功的体验。
设置环境
现在我们已经准备好开始亚马逊产品评论抓取项目,让我们开始准备我们的编码环境。 这一步至关重要,因为它构成了未来工作的基础。
打开命令行界面,可以是命令提示符 (Windows)、终端(macOS 和 Linux)或类似的终端应用程序,然后导航到要在其中创建项目的目录。
进入终端的项目目录后,就可以创建代码文件了。 执行以下命令:
1 | 触摸 index.js 和 npm init -y |
接下来,我们将使用 Crawlbase 节点库 为了更容易集成。 通过执行以下行来安装库:
1 | npm 安装爬虫库 |
此命令使用 npm(节点包管理器)来获取并安装 Crawlbase 库,我们将使用该库与 Crawlbase API 进行交互。 该库为您的 JavaScript 代码提供了方便的函数,使网络抓取变得轻而易举。
如果一切就绪,让我们继续下一步:编写代码来提取亚马逊产品评论。
步骤2.检索亚马逊产品评论
在本节中,我们将深入研究使用 Crawlbase 获取亚马逊产品评论的代码 Crawling API。下面是代码及其解释:
1 | 常量 { 抓取API } = 要求('crawlbase'), |
- 导入所需的模块:代码首先从“Crawlbase”库导入必要的模块。 它导入 CrawlingAPI 类,该类将用于与 Crawlbase API 交互。
- 初始化API:它通过创建Crawlbase API的实例来初始化Crawlbase API
CrawlingAPI
类并将您的 Crawlbase JavaScript 令牌作为配置参数传递。 代替"CRAWLBASE_JS_TOKEN"
用你的实际令牌。 - 定义亚马逊评论 URL:亚马逊产品评论页面的 URL 存储在
amazonReviewsURL
多变的。 此 URL 指向您要抓取的特定产品评论页面。 - 创建
fetchReviews
功能:该函数负责使用Crawlbase API获取亚马逊产品评论。 它将 URL 作为参数和可选的reviews
数组来存储抓取的数据。 - 发送 GET 请求:内部
try
块,使用以下命令将异步 GET 请求发送到 Crawlbase APIapi.get(url, options)
。 该scraper
选项设置为"amazon-product-reviews"
表明您想要使用 Crawlbase 提供的亚马逊产品评论抓取工具。 - 处理响应:如果 API 响应状态代码 200(正常),代码将从响应 JSON 中提取抓取的数据并将其记录到控制台。 您可以修改这部分代码以将数据保存到文件或执行其他操作。
- 错误处理:如果响应状态代码不是 200 或者 API 调用期间发生任何错误,代码将捕获错误并将错误消息记录到控制台。
- 调用函数:最后,使用 fetchReviews 函数调用
amazonReviewsURL
作为启动抓取过程的参数。
此代码为使用 Crawlbase 库和 API 抓取亚马逊评论奠定了基础。 它利用 Crawlbase 的预构建亚马逊产品评论抓取工具简化了抓取过程,从而消除了构建自定义解析器所需的工作。
代码执行
现在,您可以使用以下命令运行代码 node
命令后跟 JavaScript 文件的名称,即 index.js
在这种情况下。 键入以下命令并按 Enter:
1 | 节点index.js |
该代码会将抓取的数据或任何错误消息记录到终端。 仔细检查输出以确保抓取过程按预期工作。
步骤 3. 使用分页抓取所有评论
了解网页抓取中的分页
分页是网站上使用的一种常用技术,用于将大量内容(例如产品评论)分割成更小、更易于管理的部分或页面。 每个页面通常包含总内容的子集,用户可以在页面之间导航以访问数据的不同部分。
中的上下文 网络抓取,当您处理跨多个页面显示数据的网站时,分页就变得很重要。 例如,亚马逊的产品评论通常分布在多个页面上。 要检索所有评论,您需要系统地浏览这些页面,逐个从每个页面获取数据。
使用 Amazon Pagination 进行抓取
与许多其他网站一样,亚马逊使用分页系统来组织其产品评论。 这意味着,如果您想抓取多个页面的亚马逊评论,则需要遵循一系列页面链接来访问和检索每个评论页面的数据。
为了更好地掌握,您可以观察下面的 URL 示例,了解 Amazon 如何处理分页:
主要评论页面:
https://www.amazon.com/Meta-Quest-Pro-Oculus/product-reviews/B09Z7KGTVW/?reviewerType=all_reviews
现在,让我们检查提供的代码并解释它如何实现此分页:
1 | 常量 { 抓取API } = 要求('crawlbase'), |
- 爬行和抓取:
- 该代码定义了一个名为 fetchReviews 的函数,该函数负责抓取亚马逊产品评论。
- 它最初使用 Crawlbase API 向 Amazon 评论 URL 发出请求。 设置 ajax_wait 和 page_wait 选项是为了确保正确加载和等待页面元素。
- 它检查 API 响应状态代码是否为 200(表示成功),并继续从响应中提取亚马逊评论。
- 分页逻辑:
- 在函数内部,它检查数据响应中是否有 nextPageNumber。 如果该值存在,则表示还有另一页评论。
- 如果有下一页,它会构造该页面的 URL,并使用新 URL 递归调用 fetchReviews。 它还将当前页面的数据与累积的评论数组连接起来。
- 处理最后一页:
- 当没有下一页(即 nextPageNumber 不存在)时,它会记录已到达最后一页并返回串联的评论数组。
- 错误处理:
- 该代码包括错误处理,以管理 API 调用可能失败或返回空数据的情况。 如果出现错误,它会记录错误消息并使用相同的 URL 重试 API 调用。
该代码有效地浏览分页的亚马逊产品评论,进行递归调用以从每个页面获取和累积数据,直到到达最后一页。 这是确保您检索所选产品的所有可用评论的可靠方法。
以下是响应示例:

步骤 4. 存储数据
成功抓取亚马逊产品评论后,下一个关键步骤是存储这些有价值的数据以供分析、将来参考或您可能想到的任何其他目的。 储存资料 是网络抓取过程的重要组成部分,因为它可以保留您的努力结果以供以后使用。
在 Node.js 中使用 fs 模块
为了保存抓取的评论,我们将利用 fs
Node.js 中的(文件系统)模块。 这 fs
module 是一个内置模块,允许我们与计算机上的文件系统进行交互。 有了它,我们可以创建、读取、写入和管理文件。 在我们的例子中,我们将使用它将抓取的评论写入 JSON 文件。
在接下来的部分中,我们将为您提供将抓取的评论保存到 amazon_reviews.json
文件并解释其工作原理。 此步骤将确保您拥有所收集的评论的结构化且可访问的记录,使您能够做出数据驱动的决策或根据需要进行进一步的分析。
1 | 常量 { 抓取API } = 要求('crawlbase'), |
- 进口: 我们导入必要的模块,包括用于网页抓取的 Crawlbase 库(CrawlingAPI)和用于文件操作(fs)的内置 Node.js fs 模块。
- 获取亚马逊评论: fetchReviews 函数负责向 Crawlbase API 发送请求以抓取亚马逊产品评论。 它通过为评论的每个下一页递归调用自身来处理分页,直到没有更多页面为止。
- 处理错误: 它包括错误处理,以处理 API 请求失败或返回空数据的情况。 在这种情况下,它会重试相同的 URL。
- 存储评论: fetchAllReviews 函数协调该过程。 获取所有评论后,它使用 fs.writeFileSync 将它们保存到“amazon_reviews.json”文件中。 评论以 JSON 格式存储,以便于访问和分析。
- 启动流程: 该脚本首先调用 fetchAllReviews,这将启动获取和存储亚马逊产品评论的过程。
总之,此代码获取亚马逊产品评论,处理分页,并将收集到的数据保存在 JSON 文件中以供将来使用。 这是保留和分析抓取的信息的有效方法。
执行代码。 代码运行完毕后,它将显示获取的评论总数。 然后,您可以检查同一目录中的“amazon_reviews.json”文件来访问抓取的数据。
以下是 JSON 响应示例:
1 | { |
就是这样! 您已成功执行代码来抓取亚马逊评论并将其保存到文件中。 您现在可以根据需要使用此数据进行分析或任何其他目的。
在我们探索如何抓取亚马逊评论的过程中,我们发现了一个有价值的工具,可以从亚马逊产品评论中提取见解。 使用 Crawlbase 库和 JavaScript,我们学会了轻松地收集和分析来自亚马逊的客户反馈。 这些评论为了解市场趋势、产品改进领域以及了解竞争对手提供了一个窗口。 通过了解如何抓取亚马逊评论,我们还设置了编码环境,集成了 Crawlbase,并开发了可有效导航亚马逊评论页面的代码,从而节省了我们的时间、精力和金钱。 系统地存储这些数据可确保我们为未来的决策提供可靠的记录。
正如我们的结论,我们鼓励您探索网络抓取以进行数据驱动的决策。 无论您是从事商业、研究还是只是好奇,网络抓取都可以提供有价值的见解。 永远记住负责任地抓取亚马逊评论,尊重网站的服务条款,您将开启一个充满数据驱动可能性的世界。 拥抱网络抓取的潜力,让数据指引您的道路!
常见问题
亚马逊允许网络抓取吗?
在亚马逊上抓取评论是一个合法的灰色地带。 虽然在网站上抓取公开数据通常被认为是合法的,但有一些重要的警告。 亚马逊的服务条款明确禁止网络抓取。 为了保持在法律范围内,审查并遵守亚马逊的政策至关重要。 此外,避免过度抓取,这可能会破坏亚马逊的服务或违反有关的任何适用法律 数据隐私.
亚马逊还使用验证码挑战来验证访问该网站的用户是否是人类。 这些挑战旨在防止自动机器人和网络抓取工具淹没网站。 如果您在访问亚马逊时遇到验证码挑战,这是他们确保公平和安全的在线购物体验的安全措施的一部分。
与其他抓取方法相比,使用 Crawlbase 有什么好处?
爬虫库 Crawling API 是一款专门为网页抓取而设计的工具,可以更可靠、更高效地抓取亚马逊评论。它可以处理与网页抓取相关的许多挑战,例如处理 CAPTCHA、 IP轮换,以及管理会话。 此外,它还提供专门的支持,确保您可以大规模抓取亚马逊评论,同时最大限度地降低被屏蔽的风险。 虽然其他方法也是可行的,但 Crawlbase 可以节省时间、精力和资源。
抓取亚马逊产品数据的最佳方法是什么?
从亚马逊产品页面抓取数据的最佳方法是使用 Crawlbase。 这就像拥有一个智能助手,可以帮助您从亚马逊网站快速准确地获取所需的信息。 Crawlbase 使网页抓取变得简单,因此您不必花费大量时间和精力手动进行。 这是确保您轻松抓取亚马逊评论或轻松获取所需数据的好方法。
我可以抓取任何产品类别的亚马逊评论吗?
是的,您可以抓取大多数产品类别的亚马逊评论。 然而,亚马逊不同类别的布局可能略有不同。 您的抓取工具应该通过识别和处理特定于类别的元素来适应不同的产品页面。
我可以将 Crawlbase 与不同的编程语言一起使用吗?
是的,Crawlbase 可以使用各种编程语言。 它被设计得很灵活。 但这里有一个提示:为了让事情变得更容易,我们建议使用与您的编程语言相匹配的 Crawlbase 库。 这就像拥有一个完全适合您的语言的特殊工具包。 该工具包包含将代码连接到 Crawlbase 所需的所有工具。 因此,如果可以的话,请使用 Crawlbase 库以获得更流畅的体验。 无论您喜欢哪种编程语言,它都可以节省您的时间并使您的网页抓取项目运行得更顺畅。