您有兴趣了解亚马逊庞大的产品数据库中隐藏的见解吗? 如果是这样,那么您来对地方了。 在这个一步一步的亚马逊 数据抓取 本指南将带您了解亚马逊产品数据抓取的全过程,并利用其助力业务增长。我们将涵盖所有内容,从理解产品数据的重要性到处理验证码和反抓取措施。所以,拿起您的工具,准备深入探索亚马逊数据抓取的世界吧!

我们将使用 Crawlbase Crawling API 结合 JavaScript 来高效抓取亚马逊数据。JavaScript 与网络元素互动的动态功能,加上 API 的反抓取机制,确保了数据收集过程的无缝衔接。最终结果将是丰富的亚马逊产品数据,以 HTML 和 JSON 格式整齐地组织起来。

您准备好了吗? 注册 Crawlbase — 您的前 1,000 个请求完全免费。

如果您正在寻找现成的解决方案,请查看我们的 亚马逊刮板 工具。

目录

如何使用 Python 爬取亚马逊数据(代码教程)

步骤1: 注册到 Crawlbase 并获取您的私人令牌。 您可以从以下位置获取此令牌 Crawlbase 账户文件 您帐户中的部分。

Crawlbase 帐户文档页面

步骤2: 选择您要抓取的特定亚马逊产品页面。 为此,我们选择了亚马逊产品页面 飞利浦 A4216 无线运动耳机。 选择具有不同元素的产品页面来展示抓取过程的多功能性至关重要。

亚马逊产品页面

步骤3: 安装 Crawlbase node.js 库。

首先,确认您的系统上是否安装了Node.js,如果没有安装,您可以从以下位置下载并安装它 点击此处,然后继续安装 Crawlbase Node.js 库 通过 NPM :

npm i crawlbase

步骤4: 使用以下命令创建 amazon-product-page-scraper.js 文件:

touch amazon-product-page-scraper.js

步骤5: 配置 Crawlbase Crawling API.这涉及建立必要的 参数 以及 API 运行的端点。 将以下脚本粘贴到您在步骤 4 中创建的 amazon-product-page-scraper.js 文件中。为了运行以下脚本,请粘贴此命令 node amazon-product-page-scraper.js 在终端:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 导入 Crawling API
常量 { 抓取API } = 要求('crawlbase');

// 设置你的 Crawlbase 象征
常量 接口= 抓取API({ 象征: 'YOUR_CRAWLBASE_TOKEN' });

// 要抓取的亚马逊页面的 URL
常量 亚马逊页面网址 = 'https://www.amazon.com/dp/B099MPWPRY';

// 获取爬取URL的请求
API
.得到(亚马逊页面网址)
.然后((响应) => {
if (回复。状态码 === 200){
领事.日志(回复。身体);
}
})
.捕捉((错误) => 领事.错误);

上面的脚本展示了如何使用 Crawlbase“ Crawling API 访问并检索亚马逊产品页面的数据。只需设置亚马逊抓取 API 令牌、定义目标 URL 并发出 GET 请求即可。此代码的输出将是指定亚马逊产品页面的原始 HTML 内容 (https://www.amazon.com/dp/B099MPWPRY)。 它将显示在控制台中,显示页面的未格式化的 HTML 结构。 这 console.log(response.body) 行将此​​ HTML 内容打印到控制台,如下所示:

API请求的HTML响应

运用 Crawlbase 抓取亚马逊产品列表的 API

在上面的例子中,我们讨论了如何仅获取亚马逊产品数据(HTML)的基本结构。但有时,我们不需要这些原始数据,而是想要获取页面中的重要内容。 Crawlbase Crawling API 内置 亚马逊抓取 API 从亚马逊页面抓取重要内容。为了实现这一点,我们需要在使用 Crawling API。这个“scraper”参数帮助我们以 JSON 格式获取页面的好部分。我们正在对同一个文件进行编辑 amazon-product-page-scraper.js。 让我们看一下下面的示例以获得更好的了解:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 导入 Crawling API
常量 { 抓取API } = 要求('crawlbase');

// 设置你的 Crawlbase 象征
常量 接口= 抓取API({ 象征: 'YOUR_CRAWLBASE_TOKEN' });

// 要抓取的亚马逊页面的 URL
常量 亚马逊页面网址 = 'https://www.amazon.com/dp/B099MPWPRY';

// 选项 Crawling API
常量 选项= {
刮刀: '亚马逊产品详细信息',
};

// 获取爬取URL的请求
API
.得到(amazonPageURL、选项)
.然后((响应) => {
if (回复。状态码 === 200){
// 解析 JSON 响应并打印它
领事.日志(JSON.解析(回复。身体));
}
})
.捕捉((错误) => {
领事.错误(“API 请求错误:”, 错误);
});

上述代码块的输出将是解析后的 JSON 响应,其中包含特定的亚马逊产品详细信息,例如产品名称、描述、价格、货币、 父 ASIN、卖家名称、库存信息等。 该数据将显示在控制台上,展示从指定亚马逊产品页面提取的有组织的信息。

API请求的JSON响应

现在,我们将从前面提到的 JSON 响应中检索亚马逊产品的名称、价格、评级和图像。 为此,我们必须将 JSON 响应存储在名为的文件中 "amazon-product-scraper-response.json"。 为此,请在终端中执行以下脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// 导入需要的模块
常量 FS = 要求('fs');
常量 { 抓取API } = 要求('crawlbase');

// 设置你的 Crawlbase 象征
常量 接口= 抓取API({ 象征: 'YOUR_CRAWLBASE_TOKEN' });

// 要抓取的亚马逊页面的 URL
常量 亚马逊页面网址 = 'https://www.amazon.com/dp/B099MPWPRY';

// 选项 Crawling API
常量 选项= {
刮刀: '亚马逊产品详细信息',
};

// 获取爬取URL的请求
API
.得到(amazonPageURL、选项)
.然后((响应) => {
if (回复。状态码 === 200){
// 解析 JSON 响应
常量 json响应= JSON.解析(回复。身体);

// 将 JSON 响应保存到文件中
fs。写文件('亚马逊-产品-scraper-response.json', JSON.串化(json响应, , 2), (犯错) => {
if (呃) {
领事.错误(“保存 JSON 时出错:”, 呃);
} 其他 {
领事.日志(“JSON 响应已保存到 amazon-product-scraper-response.json”);
}
});
}
})
.捕捉((错误) => {
领事.错误(“API 请求错误:”, 错误);
});

此代码成功抓取 Amazon 产品页面、检索 JSON 响应并将其保存到文件中。 控制台中的一条消息表明 JSON 响应已保存到 'amazon-product-scraper-response.json'。 如果这些步骤期间发生任何错误,您将在控制台中看到相应的错误消息。

控制台上显示保存 JSON 文件的消息

抓取亚马逊产品名称

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 导入fs模块
常量 FS = 要求('fs');

fs。读取文件('亚马逊-产品-scraper-response.json', 'utf8', (错误,数据) => {
if (呃) {
领事.错误(“读取 JSON 文件时出错:”, 呃);
回报;
}

尝试 {
// 解析JSON数据
常量 json数据 = JSON.解析(数据);

// 提取特定值(例如年龄)
常量 产品名称 = jsonData.身体.姓名;

// 打印提取的值
领事.日志('产品名称:', 产品名称);
} 捕捉 (错误) {
领事.错误(“解析 JSON 数据时出错:”, 错误);
}
});

上面的代码块从名为的 JSON 文件中读取数据 "amazon-product-scraper-response.json" 使用 fs(文件系统)模块 Node.js。 然后它尝试解析 JSON 数据,提取特定值(在本例中为 "name" 来自的财产 "body" 对象),并将其打印到控制台。 如果出现任何错误,例如 JSON 数据格式不正确或指定的属性不存在,则会显示相应的错误消息。

从 JSON 文件中抓取亚马逊产品名称

如何抓取亚马逊产品价格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 导入fs模块
常量 FS = 要求('fs');

fs。读取文件('亚马逊-产品-scraper-response.json', 'utf8', (错误,数据) => {
if (呃) {
领事.错误(“读取 JSON 文件时出错:”, 呃);
回报;
}

尝试 {
// 解析JSON数据
常量 json数据 = JSON.解析(数据);

// 提取特定值(例如年龄)
常量 产品价格 = jsonData.身体.车资;

// 打印提取的值
领事.日志('价格:',产品价格);
} 捕捉 (错误) {
领事.错误(“解析 JSON 数据时出错:”, 错误);
}
});

此代码使用 Node.js fs 模块与文件系统交互并读取名为的 JSON 文件的内容 "amazon-product-scraper-response.json"。 读取文件后,它会尝试解析其中包含的 JSON 数据。 如果解析成功,会提取出 "price" 来自的财产 "body" JSON 数据的对象。 然后,提取的价格值将打印到控制台。

从 JSON 文件中抓取亚马逊产品价格

如何抓取亚马逊产品评级

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 导入fs模块
常量 FS = 要求('fs');

fs。读取文件('亚马逊-产品-scraper-response.json', 'utf8', (错误,数据) => {
if (呃) {
领事.错误(“读取 JSON 文件时出错:”, 呃);
回报;
}

尝试 {
// 解析JSON数据
常量 json数据 = JSON.解析(数据);

// 提取特定值(例如年龄)
常量 产品评级 = jsonData.身体.客户评论;

// 打印提取的值
领事.日志('评分:',产品评级);
} 捕捉 (错误) {
领事.错误(“解析 JSON 数据时出错:”, 错误);
}
});

该代码读取名为的 JSON 文件的内容 "amazon-product-scraper-response.json"。 然后它尝试解析 JSON 数据并提取存储在密钥下的值 "customerReview" 来自 "body" 目的。 提取的值似乎代表产品的评级,打印为“Rating:”,后跟该值。

从 JSON 文件中抓取亚马逊产品评级

如何抓取亚马逊产品图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 导入fs模块
常量 FS = 要求('fs');

fs。读取文件('亚马逊-产品-scraper-response.json', 'utf8', (错误,数据) => {
if (呃) {
领事.错误(“读取 JSON 文件时出错:”, 呃);
回报;
}

尝试 {
// 解析JSON数据
常量 json数据 = JSON.解析(数据);

// 提取特定值(例如年龄)
常量 产品图像 = jsonData.身体.主图像;

// 打印提取的值
领事.日志('图像:',产品图片);
} 捕捉 (错误) {
领事.错误(“解析 JSON 数据时出错:”, 错误);
}
});

上面的脚本尝试解析 JSON 数据并提取存储在密钥下的值 "mainImage" 字幕可视电话用于 "body" 目的。 提取的值(可能代表产品图像)打印为 "Image:" 接下来是值。 获得的图像值将记录到控制台。

从 JSON 文件中抓取亚马逊产品图片 URL

使用以下方式抓取亚马逊产品评论 Crawlbase的集成刮刀

在此示例中,我们将抓取同一亚马逊产品的客户评论。 我们抓取的目标 URL 是 https://www.amazon.com/product-reviews/B099MPWPRY. Crawlbase“ Crawling API 有一个专为亚马逊产品评论设计的集成抓取工具。此抓取工具允许我们从亚马逊产品中检索客户评论。要实现这一点,我们需要做的就是将“抓取工具”参数合并到我们对 Crawling API,为其分配值 "amazon-product-reviews"。 让我们研究下面的示例以获得更清晰的了解:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 导入 Crawling API
常量 { 抓取API } = 要求('crawlbase');

// 设置你的 Crawlbase 象征
常量 接口= 抓取API({ 象征: 'YOUR_CRAWLBASE_TOKEN' });

// 要抓取的亚马逊页面的 URL
常量 亚马逊页面网址 = 'https://www.amazon.com/product-reviews/B099MPWPRY';

// 选项 Crawling API
常量 选项= {
刮刀: “亚马逊产品评论”,
};

// 获取爬取URL的请求
API
.得到(amazonPageURL、选项)
.然后((响应) => {
if (回复。状态码 === 200){
// 解析 JSON 响应并打印它
领事.日志(JSON.解析(回复。身体));
}
})
.捕捉((错误) => {
领事.错误(“API 请求错误:”, 错误);
});

运行上述脚本将通过以下方式提取亚马逊产品评论数据: Crawlbase Crawling API。代码执行时,它会获取与指定 Amazon 产品页面相关的评论信息。这些数据将以 JSON 格式显示在控制台上,提供有关客户体验和意见的宝贵见解。结构化输出展示了评论的各个方面,包括评论者姓名、评分、评论日期、评论标题等。

亚马逊产品客户评论的 JSON 响应

我们通过详细的分步指南揭示了数据提取的潜力。我们使用了 Crawlbase“ Crawling API 创建亚马逊网络爬虫,提取复杂的产品信息,例如描述、价格、卖家和库存情况。此外,本指南还展示了如何 Crawlbase Crawling API 无缝地促进客户评论的提取,提供丰富的信息,如评论者姓名、评分、日期和评论文本。

如何避免在爬取亚马逊数据时被屏蔽

亚马逊产品数据抓取挑战

Crawlbase Crawling API 旨在解决与网络抓取相关的挑战,特别是在以下情况下 抓取亚马逊产品数据 令人担忧。随着“亚马逊网红能获得免费产品吗”等问题的兴起,以及对网红营销数据的需求不断增长, Crawlbase 提供提取产品信息以支持市场分析和决策的解决方案。以下是 Crawlbase Crawling API 可以帮助缓解这些挑战:

  1. 防刮措施: Crawlbase Crawling API 利用先进的技术绕过 CAPTCHA、IP 阻止和用户代理检测等反抓取机制。这样可以无缝收集数据而不会触发警报。
  2. 动态网站结构: 该 API 能够利用智能算法来适应网站结构的变化,自动调整抓取模式以匹配亚马逊页面不断变化的布局。
  3. 法律和道德问题: Crawlbase 尊重亚马逊等网站的使用条款,确保以负责任且合乎道德的方式进行数据抓取。这最大限度地降低了法律诉讼和道德困境的风险。
  4. 数据量和速度: 该 API 通过在多个服务器之间分配抓取任务来有效管理大量数据,从而实现快速且可扩展的数据提取。
  5. 产品信息的复杂性: Crawlbase“ Crawling API 采用智能数据提取技术,可以准确捕获复杂的产品信息,例如评论、定价、图像和规格。
  6. 速率限制和 IP 阻止: API 通过智能限制请求和轮换 IP 地址来管理速率限制和 IP 阻止,确保数据收集保持不间断。
  7. 验证码挑战: Crawlbase“ Crawling API 可以通过自动解决机制处理 CAPTCHA,从而无需人工干预并加快亚马逊抓取过程。
  8. 数据质量和完整性: API 提供数据验证和清理功能,以确保抓取的数据准确且最新,从而降低使用过时或不正确信息的风险。
  9. 抓取脚本的稳健性: API 的稳健架构旨在处理网站结构中的各种场景、错误和变化,从而减少持续监控和调整的需要。

Crawlbase Crawling API 提供全面的解决方案,解决网络抓取 Amazon 数据的复杂性和挑战。通过提供智能抓取技术、强大的架构和遵守道德标准,该 API 使企业能够收集有价值的见解,而不会遇到与网络抓取相关的典型障碍。

Amazon Scraper 的应用

抓取亚马逊商品数据的应用

您的企业可以通过使用网络抓取工具或亚马逊抓取工具来收集数据,以实现以下目的:

  1. 亚马逊抓取数据的一个关键用途是分析客户评论以改进产品。通过仔细检查反馈,企业可以确定产品可以改进的地方,从而提高客户满意度。
  2. 抓取数据的另一个有价值的应用是识别市场趋势和需求模式。 通过分析客户行为的模式和趋势,企业可以预测消费者的需求并相应地调整其产品。 这使他们能够在竞争中保持领先地位并提供高需求的产品或服务。
  3. 监控竞争对手的定价策略是抓取数据的另一个重要用途。 通过仔细研究竞争对手如何为其产品定价,企业可以就其定价调整做出明智的决策。 这确保了他们在市场上保持竞争力,并可以实时调整定价策略。
  4. 电子商务企业可以使用抓取的产品数据来生成网站内容,例如产品描述、功能和规格。 这可以改善搜索引擎优化 (SEO) 并增强在线购物体验。
  5. 品牌可以通过抓取产品数据并将其与正品进行比较来监控亚马逊是否存在未经授权或假冒产品。

想要一个可靠的亚马逊抓取工具吗?

本指南循序渐进地讲解了亚马逊数据抓取的重要性及其推动业务增长的潜力。企业可以通过高效地提取和分析这些数据,在各个运营环节做出明智的决策。

尝试 Crawlbase的现成抓取 API 并轻松绕过阻止。 开始免费

关于 Amazon 数据抓取的常见问题 (FAQ)

爬取亚马逊的数据可能存在法律风险,尤其是在违反其服务条款的情况下。虽然公开数据不一定受到保护,但亚马逊会主动屏蔽爬取机器人,并可能对过度爬取采取法律行动。为了保持合规,请使用遵守速率限制的爬取工具,避免爬取受登录限制的内容,并考虑使用以下 API: Crawlbase,用于处理道德抓取和代理轮换。

2. 2025 年抓取亚马逊数据的最佳工具是什么?

最佳的亚马逊爬虫取决于你的技术能力和用例。对于开发者来说, Crawlbase 提供强大的抓取 API,内置代理管理、验证码处理和 JavaScript 渲染功能。无代码用户可能更喜欢 Octoparse 或 Apify 等工具。务必选择能够绕过亚马逊机器人防护,同时保持可扩展性和兼容性的工具。

3.我可以使用 Python 抓取亚马逊数据吗?

是的,您可以使用 Python 的 Requests、BeautifulSoup 或 Selenium 等库来抓取亚马逊数据。然而,亚马逊的机器人防护机制使得直接访问产品页面变得非常困难。因此,许多开发者集成了 Crawlbase API 融入他们的 Python 脚本中,以可靠地获取已处理标题和代理的完整呈现的页面。

4.我可以从亚马逊列表中提取哪些类型的数据?

您可以提取各种产品数据,包括标题、价格、评论、评分、ASIN、卖家信息、库存情况、图片和产品规格。使用强大的抓取工具或类似 API Crawlbase,您可以以结构化格式(JSON/CSV)收集这些数据,以用于产品跟踪、比较引擎或竞争分析。

5. 如何避免在抓取亚马逊数据时被封禁?

为了避免被封,你需要轮换 IP 地址、伪造标头、引入逼真的延迟,并避免抓取已登录的内容。亚马逊拥有强大的反机器人系统,因此最好使用类似 Crawlbase,它在后台管理所有这些——确保您的请求看起来像人类一样并且不会被阻止。