欢迎使用亚马逊黄金购物车数据抓取,这是您有效监控和提取亚马逊黄金购物车的门户! 如果您曾经在亚马逊上购物过,您可能在不知情的情况下遇到过Buy Box。 产品页面上的这个突出部分具有“添加到购物车”或“立即购买”按钮,对于买家和卖家都至关重要。 单击该按钮意味着从Buy Box 中的卖家处购买。

亚马逊购买盒

现在,您可能想知道“按钮有什么大不了的?” 嗯,Buy Box 不仅仅是一个按钮。 亚马逊使用复杂的算法来确定哪个卖家可以获得这个特权位置。 该算法评估多种因素,包括价格、运输选项、卖家表现等。

亚马逊类似商品购买框

当购物者点击他们感兴趣的产品时,导航超出Buy Box选项会明显向下滚动到“与类似商品比较”或“亚马逊上的其他卖家”部分。 这进一步增强了获得Buy Box的愿望。 赢得Buy Box的卖家享有该产品销售的最大份额。 研究表明Buy Box收到了大约 亚马逊上 90% 的销售额。 这是蛋糕中的一个重要部分。

对于那些有使用亚马逊经验的人来说,您可能还记得有一个名为“特色商家”的实用程序。 到 2018 年,亚马逊已将特色商家状态纳入黄金购物车中。 快进到 2023 年,亚马逊现已正式将 Buy Box 指定为“特色优惠设立的区域办事处外,我们在美国也开设了办事处,以便我们为当地客户提供更多的支持。“

作为亚马逊卖家,您的梦想可能是看到您的产品出现在令人垂涎的黄金购物车中。 显然,因为这是购物者将建议的产品添加到购物车的直接途径。 您必须拥有出色的定价、最佳评论和卖家表现才能进入此列表。 因此,对于卖家来说,不仅要监控Buy Box,还要跟踪影响谁赢得Buy Box的因素至关重要。 亚马逊上有数百万种产品,竞争非常激烈。 因此,加入Buy Box 可以对您的销售产生巨大影响。

要进入Buy Box,您需要洞察力和策略。 向下滚动以了解如何通过数据抓取来跟踪Buy Box 价格和其他数据元素。

目录

  1. 为什么每个亚马逊卖家都需要在Buy Box上占有一席之地?
  • 数据抓取的必要性
  1. 黄金购物车监控的挑战和解决方案
  • 防刮措施
  • 处理 IP 禁令和验证码
  1. 设置您的开发环境
  • 安装Python
  • 安装所需的库
  • 选择正确的开发 IDE
  1. 访问亚马逊的产品页面
  • Crawlbase Python 库
  • 获取正确的 Crawlbase 令牌
  • 向 Amazon 发出 HTTP 请求
  • 处理动态内容
  1. 抓取Buy Box数据
  • 检查 HTML 以获取 CSS 选择器
  • 构建你的数据抓取器
  • 将抓取的数据存储在 CSV 文件中
  1. 总结
  2. 常见问题

为什么每个亚马逊卖家都需要在Buy Box上占有一席之地?

现在我们已经确定了Buy Box的重要性,让我们深入研究一下为什么它对卖家如此重要。 无论您是小企业主还是大型企业,获得Buy Box都是在亚马逊上销售时的最终目标。

为什么亚马逊黄金购物车很重要
  1. 提升品牌曝光性:Buy Box 中的产品享有最大的可见度。 它们出现在产品列表的顶部,使它们成为客户的首选。 这个黄金地段增加了您的产品被看到和销售的可能性。
  2. 增加销售额:赢得Buy Box 意味着销量的显着提升。 如前所述,大多数亚马逊购物者在购买按钮中的产品上点击“添加到购物车”,而不比较多个选项。 这将为卖家带来更多转化和收入。
  3. 客户信任:亚马逊的算法根据价格、卖家表现和客户满意度来选择Buy Box 的产品。 这意味着Buy Box 中的产品被认为是可靠且值得信赖的。 持续赢得Buy Box的卖家往往会与客户建立信任。
  4. 竞争优势:Buy Box 为卖家在竞争激烈的亚马逊市场中提供了显着的优势。 这对于推出新产品或针对特定利基市场的卖家特别有利。

数据抓取的必要性

为什么卖家需要考虑将数据抓取作为Buy Box监控的重要工具? 答案在于电子商务格局的动态本质以及决定Buy Box获胜者的不断发展的算法。 让我们探讨一下在这种情况下数据抓取的必要性。

需要Buy Box数据抓取
  • 实时监控:Buy Box 总是在变化。 亚马逊的算法根据许多因素实时决定谁获得它。 卖家必须不断关注谁在Buy Box 中以及为什么要保持竞争力。 如果没有数据抓取,这将是一项艰巨且耗时的工作。 数据抓取通过提供实时更新而变得更加容易。
  • 产品定价:定价是亚马逊分配Buy Box的主要因素之一,因此卖家需要了解同类产品的定价数据,以便进行比较并相应调整自己的定价。 和 网络抓取,卖家可以自动跟踪自己的产品和竞争对手的列表的价格变化。
  • 竞争对手分析:卖家可以收集有关竞争对手的大量数据,包括产品列表、定价和卖家绩效指标。 此信息对于制定超越竞争对手并确保购买按钮的策略非常有用。
  • 适应与策略优化:Buy Box 游戏并不是一刀切的。 适用于一种产品的方法可能不适用于另一种产品。 为了取得成功,卖家需要有能力调整和优化他们的策略。 数据抓取为卖家提供了做出明智决策所需的洞察力。 它为评估不同策略的有效性提供了数据基础,无论是定价调整、产品捆绑还是提高卖家绩效指标。
  • 效率和可伸缩性:亚马逊庞大的市场拥有无数的产品列表、卖家和类别。 数据爬取工具 使得同时有效地监控众多产品和卖家成为可能。 对于希望扩大在亚马逊上的业务并在多个产品类别中竞争的卖家来说,这种可扩展性至关重要。

简而言之,网络抓取允许亚马逊卖家收集有关产品定价、竞争对手表现以及影响其Buy Box资格的其他变量的实时信息。

黄金购物车监控的挑战和解决方案

当从网站(尤其是像亚马逊这样的电子商务网站)抓取数据时,您会遇到一系列挑战。 亚马逊采取了严格的反抓取措施来保护其数据。 此外,您可能会遇到 IP 禁令和验证码等问题。 然而,通过正确的工具和策略可以有效克服这些挑战。 在这种情况下被证明是无价的这样一个工具是 Crawlbase 爬取 API,一个强大的网页抓取解决方案。

防刮措施

与许多其他在线平台一样,亚马逊采用各种反抓取措施来阻止自动数据收集。 了解这些措施的工作原理对于成功驾驭网络抓取领域至关重要。 以下是亚马逊采用的一些常见的反抓取措施:

  1. 验证码:您在浏览网页时可能遇到过这些难题。 验证码旨在测试用户是人类还是机器人。 它们有多种形式,例如图像识别挑战、扭曲的文本或选择图像中的特定对象。 自动抓取工具发现解决验证码具有挑战性,因为它们需要类似人类的视觉识别和交互。
  2. 速率限制:亚马逊可以限制单个 IP 地址在特定时间范围内可以发出的请求数量。 过多和快速的请求会触发速率限制机制,减慢或完全阻止对站点的访问。
  3. IP阻止:亚马逊可能会暂时或永久阻止表现出抓取行为的 IP 地址访问网站。 如果您的 IP 地址被封锁,一旦封锁解除,您将能够访问该网站。

处理 IP 禁令和验证码

IP 禁令和验证码是网络抓取工具面临的常见障碍。 与许多其他网站一样,亚马逊如果检测到抓取活动,可以暂时或永久阻止您的 IP 地址。 此外,可以部署验证码来区分人类和机器人的行为。 验证码旨在验证用户的身份,并且通常很难绕过。

在这些场景中,Crawlbase 爬行 API 被证明是一个可靠的盟友。 该 API 使用 轮换IP地址 规避 IP 禁令。 它使您能够从池中发出请求 轮换居住代理,防止您的抓取活动被轻易识别和阻止。 此外,Crawlbase API 可以高效处理验证码,让您能够自动化验证码解决,节省您宝贵的时间并确保不间断的抓取。 该 API 为网络抓取中两个最重大的挑战提供了强大的解决方案,使其成为一个重要的工具 从亚马逊抓取产品数据.

设置您的开发环境

本节将探讨成功数据抓取的先决条件,包括配置开发环境和选择正确的开发 IDE。

安装Python

Python 是我们用于网络抓取的主要编程语言。 如果您的系统上尚未安装 Python,请按照以下步骤操作:

  1. 下载Python:访问 Python 官方网站 python.org 并下载最新版本的 Python。 选择适合您的操作系统(Windows、macOS 或 Linux)的安装程序。

  2. 装置:运行下载的安装程序并按照安装说明进行操作。 检查在安装过程中将 Python 添加到系统路径的选项。 此步骤对于从命令行运行 Python 至关重要。

  3. 验证安装:打开命令提示符或终端并输入以下命令来检查Python是否安装正确:

1
python --version

您应该会看到显示已安装的 Python 版本。

安装所需的库

Python 提供了丰富的库生态系统,可以简化网络抓取。 对于这个项目,您需要 crawlbase 用于使用 Crawlbase API 发出 Web 请求的库 Beautiful Soup 用于解析 HTML 内容的库。 要安装这些库,请使用以下命令:

  1. 爬虫库:本 crawlbase 库是 Crawlbase API 的 Python 包装器,它使我们能够高效地发出 Web 请求。
1
点安装爬虫库
  1. 美丽的汤:Beautiful Soup 是一个用于解析 HTML 和 XML 文档的库。 它对于从网页中提取数据特别有用。
1
点安装beautifulsoup4
  1. 熊猫:Pandas 是一个强大的数据操作库,可以帮助您有效地组织和分析抓取的数据。
1
pip 安装熊猫

安装这些库后,您将拥有使用 Crawlbase API 获取网页并在抓取过程中解析其内容所需的工具。

选择正确的开发 IDE

集成开发环境 (IDE) 提供具有代码突出显示、自动完成和调试工具等功能的编码环境。 虽然您可以在简单的文本编辑器中编写 Python 代码,但 IDE 可以显着改善您的开发体验。

以下是一些值得考虑的流行 Python IDE:

  1. PyCharm:PyCharm 是一个强大的 IDE,具有免费的社区版。 它提供代码分析、可视化调试器和 Web 开发支持等功能。

  2. Visual Studio 代码(VS 代码):VS Code 是 Microsoft 开发的免费开源代码编辑器。 其庞大的扩展库使其能够适用于各种编程任务,包括网络抓取。

  3. Jupyter笔记本:Jupyter Notebook 非常适合交互式编码和数据探索。 它通常用于数据科学项目。

  4. Spyder的:Spyder 是一款专为科学和数据相关任务而设计的 IDE。 它提供了变量浏览器和交互式控制台等功能。

选择最适合您的偏好和工作流程的 IDE。 安装 Python、设置所需的库并准备好所选的 IDE 后,您就可以从亚马逊产品页面抓取Buy Box数据了。

访问亚马逊的产品页面

现在您已经设置了开发环境,是时候深入研究访问的技术方面了 亚马逊的产品页面 用于Buy Box数据抓取。 在本节中,我们将介绍 Crawlbase Python 库的用法, HTTP请求 亚马逊,并处理动态内容。

Crawlbase Python 库

Crawlbase Python 库 是 Crawlbase API 的轻量级且无依赖的包装器,简化了网络抓取的复杂性。 这个多功能工具简化了诸如向网站发出 HTTP 请求、熟练处理 IP轮换,并优雅地穿越网络障碍,包括验证码。 要使用此库开始您的网络抓取之旅,您可以无缝地执行以下步骤:

  1. 进口:要使用 Crawlbase 库中强大的 Crawling API,您必须首先导入不可或缺的 CrawlingAPI 类。 这一基础步骤为访问一系列 Crawlbase API 铺平了道路。 以下是如何导入这些 API 的概览:
1
 爬行基地 进口 抓取API
  1. 初始化:有了您的 Crawlbase API 令牌,下一个关键步骤就是初始化 CrawlingAPI 类。 这个关键时刻将您的代码与 Crawlbase 的巨大功能连接起来:
1
api = 爬行API({ '令牌': 'YOUR_CRAWLBASE_TOKEN' })
  1. 发送请求:一旦您的 CrawlingAPI 类准备好使用 Crawlbase API 令牌,您就可以向目标网站发送请求。 下面是一个专门为从沃尔玛搜索页面抓取 iPhone 列表而设计的 GET 请求的实际示例:
1
2
3
响应 = api.get('https://www.facebook.com/britneyspears')
if 回复['状态代码'] == 200:
打印(回复['身体'])

有了 Crawlbase Python 库作为您值得信赖的伴侣,您就可以自信地踏上您的网络抓取之旅。 要更深入地了解其功能,您可以探索更多详细信息 相关信息.

获取正确的 Crawlbase 令牌

在释放 Crawlbase Crawling API 的力量之前,我们必须获得 API 令牌。 Crawlbase 提供两种类型的令牌:用于静态网站的普通令牌 (TCP) 和用于动态或 JavaScript 驱动的网站的 JavaScript 令牌 (JS)。 由于亚马逊严重依赖 JavaScript 进行动态内容加载,因此我们将选择 JavaScript 令牌。 为了顺利启动,Crawlbase 慷慨地提供了 1,000 个 Crawling API 免费请求的初始限额。

1
2
3
4
 爬行基地 进口 抓取API

# 使用您的 Crawlbase JavaScript 令牌初始化 Crawling API
api = 爬行API({ '令牌': 'YOU_CRAWLBASE_JS_TOKEN' })

您可以获得您的 Crawlbase 令牌 相关信息 在其上创建帐户后。

向 Amazon 发出 HTTP 请求

有了 JavaScript 令牌,我们就可以设置 Crawlbase 爬行 API。 但在继续之前,让我们深入研究一下输出响应的结构。 您收到的响应可以采用两种格式:HTML 或 JSON。 抓取 API 的默认选择是 HTML 格式。

HTML 响应:

1
2
3
4
5
6
7
:
网址: “被抓取的URL”
原始状态: 200
电脑状态: 200

Body:
页面的 HTML

我们可以阅读更多关于抓取 API 响应的信息 相关信息。 对于示例,我们将使用默认选项。 我们将利用初始化的 API 对象来发出请求。 使用以下命令指定您要抓取的 URL api.get(url, options={}) 功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 爬行基地 进口 抓取API

# 使用您的 Crawlbase 令牌初始化 Crawling API
api = 爬行API({ '令牌': 'YOU_CRAWLBASE_JS_TOKEN' })

# 您想要抓取的亚马逊搜索页面的 URL
亚马逊产品网址= 'https://www.amazon.com/Motorola-Stylus-Battery-Unlocked-Emerald/dp/B0BFYRV4CD'

# 发出抓取亚马逊搜索页面的请求
响应 = api.get(amazon_product_url)

# 检查请求是否成功
if 回复['状态代码'] == 200:
# 解码字节数据后提取的HTML内容
# latin1 也可以处理中文字符
html_内容=响应['身体']。解码('拉丁1')

# 将 HTML 内容保存到文件中
- 打开('输出.html', 'w', 编码='utf-8') as 文件:
文件.write(html_content)
其他:
打印(“检索页面失败。状态代码:”, 回复['状态代码'])

在提供的代码片段中,我们通过将获取的 HTML 内容存储在 HTML 文件中来保护它。 此操作对于确认成功获取目标 HTML 数据至关重要。 然后我们可以查看该文件以检查爬网 HTML 中的特定内容。

output.html 预习:

输出.html 预览

正如您在上面所看到的,爬网的 HTML 中不存在任何有用的信息。 这是因为 Amazon 使用 JavaScript 和 Ajax 动态加载其重要内容。

处理动态内容

Amazon 的产品页面通常包含通过 JavaScript 和 Ajax 调用加载的动态内容。 这种动态性可能会给抓取数据带来挑战。 然而,借助 Crawlbase 爬行 API,可以有效地应对这些挑战。

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
 爬行基地 进口 抓取API

# 使用您的 Crawlbase 令牌初始化 Crawling API
api = 爬行API({ '令牌': 'YOU_CRAWLBASE_JS_TOKEN' })

# 您想要抓取的亚马逊搜索页面的 URL
亚马逊产品网址= 'https://www.amazon.com/Motorola-Stylus-Battery-Unlocked-Emerald/dp/B0BFYRV4CD'

# 抓取 API 的选项
选项= {
'页面等待': 2000,
'ajax_等待': '真的'
}

# 发出请求以使用选项抓取亚马逊搜索页面
响应 = api.get(amazon_product_url, 选项)

# 检查请求是否成功
if 回复['状态代码'] == 200:
# 解码字节数据后提取的HTML内容
html_内容=响应['身体']。解码('拉丁1')

# 将 HTML 内容保存到文件中
- 打开('输出.html', 'w', 编码='utf-8') as 文件:
文件.write(html_content)
其他:
打印(“检索页面失败。状态代码:”, 回复['状态代码'])

Crawlbase 允许您定义特定参数,以确保准确捕获动态呈现的内容。 需要考虑的两个关键参数包括:

  • 页面等待:此可选参数允许您指定在捕获结果 HTML 代码之前等待的毫秒持续时间。 当页面需要额外的渲染时间或在捕获 HTML 之前必须完全加载 AJAX 请求时,请使用此参数。
  • ajax_等待:另一个为 JavaScript 令牌定制的可选参数使您能够指示脚本是否应在接收 HTML 响应之前等待 AJAX 请求完成。 当内容依赖于 AJAX 请求的执行时,这是非常宝贵的。

通过利用这些参数,即使面对动态内容,您也可以有效地导航并从亚马逊的产品页面提取数据。

output.html 预习:

输出.html 预览

了解了 Crawlbase 以及如何向 Amazon 发出 HTTP 请求后,您现在就可以构建您的购买框跟踪器了。 在下一节中,我们将探讨抓取Buy Box数据并提取必要信息的复杂性。

抓取Buy Box数据

从亚马逊产品页面上的Buy Box中抓取数据是监控和跟踪这一令人垂涎的位置的关键一步。 然而,为了有效地做到这一点,您需要了解亚马逊网页的结构,并了解Buy Box中的哪些特定数据对于您的跟踪目的至关重要。

检查 HTML 以获取 CSS 选择器

要从Buy Box中抓取数据,您首先需要识别包含您感兴趣的信息的HTML元素。此过程涉及检查亚马逊产品页面的HTML结构,以找到与您要提取的数据相对应的CSS选择器。

那么,Buy Box 中哪些数据很重要?

  1. 产品名称:Buy Box 中的产品名称对于跟踪列表中的更改至关重要。
  2. 价格:监控Buy Box中产品的当前价格至关重要,因为它经常因各种因素而波动。
  3. 卖家信息:有关卖家的信息,包括他们的姓名以及他们是亚马逊还是第三方卖家,对于了解当前谁占据了Buy Box 至关重要。
  4. 订购:检查产品的可用性有助于卖家评估Buy Box的竞争情况。
  5. 添加到购物车按钮:监控“添加到购物车”按钮的变化至关重要,表明客户是否可以直接从Buy Box购买产品。

让我们概述一下如何检查 HTML 结构并挖掘 CSS 选择器以获取此信息:

检查亚马逊产品页面
  1. 打开网页:导航到亚马逊网站并登陆您感兴趣的产品页面。
  2. 右键单击并检查:在您想要提取的元素(例如购买按钮)上发挥您的右键单击能力,然后从上下文菜单中选择“检查”或“检查元素”。 这个神秘的咒语将召唤浏览器的开发工具。
  3. 找到 HTML 源代码:在开发者工具的范围内,网页的 HTML 源代码将揭露其秘密。 将光标悬停在 HTML 面板中的各个元素上,然后见证网页的相应部分神奇地亮起。
  4. 识别 CSS 选择器:要从特定元素中释放数据,请在开发人员工具中右键单击它,然后优雅地选择“复制”>“复制选择器”。 这个优雅的操作会将该元素的 CSS 选择器传输到剪贴板,准备好在网页抓取咒语中使用。

一旦有了这些选择器,您就可以继续构建数据抓取器以有效地提取所需的信息。

构建你的数据抓取器

现在我们已经成功获取了亚马逊动态商品页面的 HTML 内容,并且知道了如何获取 CSS 选择器,现在是时候从检索到的内容中提取对 Amazon Buy Box 有价值的数据了。 在这个以开发人员为中心的部分中,我们将构建一个 Python 脚本,该脚本可以熟练地从沃尔玛的搜索结果页面捕获产品数据。

该脚本封装了网页抓取的本质:发出 HTTP 请求、解析 HTML 内容并提取我们寻求的关键信息。

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 爬行基地 进口 抓取API
bs4 进口 美丽汤
进口 JSON

DEF 初始化_crawlbase_api(象征):
回报 爬行API({'令牌': 令牌})

DEF scrape_amazon_product_html(html_内容):
汤 = BeautifulSoup(html_content, 'html.parser')
产品信息 = {}

DEF 获取文本或默认值(选择器,默认=“未找到”):
元素 = soup.select_one(选择器)
回报 element.text.strip() if element 其他 默认

DEF 存在元素(选择器):
元素 = soup.select_one(选择器)
回报 “展示” if element 其他 “不存在”

产品信息[“立即购买按钮”] = is_element_present('span#submit\\.立即购买')
产品信息[“添加到购物车按钮”] = is_element_present('span#submit\\.add-to-cart')
产品信息['可用性'] = get_text_or_default('#可用性跨度')
产品信息[“产品标题”] = get_text_or_default('#productTitle')
产品信息['价格'] = get_text_or_default('.a-价格.a-屏幕外')
产品信息[“发货人姓名”] = get_text_or_default('#fulfillerInfoFeature_feature_div span.offer-display-feature-text-message')
产品信息[“卖家名称”] = get_text_or_default('#merchantInfoFeature_feature_div span.offer-display-feature-text-message')

回报 产品信息

DEF scrape_amazon_product_info(API、网址):
选项= {
'页面等待': 2000,
'ajax_等待': '真的'
}
响应 = api.get(url, 选项)

if 回复['状态代码'] == 200:
html_内容=响应['身体']。解码('拉丁1')
回报 scrape_amazon_product_html(html_content)
其他:
打印(“检索页面失败。状态代码:”, 回复['状态代码'])
回报 不包含

DEF ():
api = 初始化_crawlbase_api('YOU_CRAWLBASE_JS_TOKEN')
产品信息 = scrape_amazon_product_info(api, 'https://www.amazon.com/Motorola-Stylus-Battery-Unlocked-Emerald/dp/B0BFYRV4CD')

if 产品信息:
打印(json.dumps(产品信息,缩进=2))

if __名字__ == “__主要的__”:
主()

此 Python 脚本使用 Crawlbase Crawling API 和 BeautifulSoup 库抓取 Amazon 产品数据。 它首先使用用户特定的令牌初始化爬网 API。 核心功能封装在 scrape_amazon_product_info 函数,它从指定的亚马逊产品 URL 中抓取数据。 该函数向给定的 URL 发出 HTTP 请求,并检查响应状态代码是否为 200,表示请求成功。 如果成功,它将使用 BeautifulSoup 解析 HTML 内容。

里面的 scrape_amazon_product_html 函数中,它利用各种 CSS 选择器从 HTML 中提取特定信息,例如“立即购买”按钮的存在、“添加到购物车”按钮的存在、产品可用性、产品标题、价格、发货人名称和卖家名称。 它处理未找到元素的情况,并分配默认值“未找到”。

最后,脚本调用 main 函数,它初始化 Crawling API,从示例 Amazon 产品 URL 中抓取产品数据,并将抓取的数据打印为格式良好的 JSON 对象。 该代码提供了一种清晰且结构化的方式来从亚马逊产品页面检索基本信息,使其成为跟踪和监控产品数据的宝贵工具。

输出示例:

1
2
3
4
5
6
7
8
9
{
“立即购买按钮”: “展示”,
“添加到购物车按钮”: “展示”,
“可用性”: “有现货”,
“产品标题”: “摩托罗拉 Moto G Stylus 5G | 2021 | 2 天电池 | 已解锁 | 专为美国制造 4/128GB | 48MP 摄像头 | 宇宙翡翠”,
“价钱”: “ $ 149.99”,
“发货人姓名”: “亚马逊网站”,
“卖家名称”: “亚马逊网站”
}

将抓取的数据存储在 CSV 文件中

从亚马逊产品页面成功抓取Buy Box数据后,下一个合乎逻辑的步骤是有效地存储这些有价值的信息。 CSV(逗号分隔值)是一种广泛使用的用于存储表格数据的格式,在使用 Python 抓取 AliExpress 时特别有用。 它提供了一种简单且易于阅读的方式来存储结构化数据,使其成为保存抓取的 Amazon Buy Box 数据的绝佳选择。

我们将扩展之前的搜索页面抓取脚本,以包含将抓取数据中的重要信息保存到 CSV 文件中的步骤。 为了实现这一目标,我们将使用流行的 Python 库 pandas。 以下是该脚本的更新版本:

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 爬行基地 进口 抓取API
bs4 进口 美丽汤
进口 大熊猫 as pd

DEF 初始化_crawlbase_api(象征):
回报 爬行API({'令牌': 令牌})

DEF scrape_amazon_product_html(html_内容):
汤 = BeautifulSoup(html_content, 'html.parser')
产品信息 = {}

DEF 获取文本或默认值(选择器,默认=“未找到”):
元素 = soup.select_one(选择器)
回报 element.text.strip() if element 其他 默认

DEF 存在元素(选择器):
元素 = soup.select_one(选择器)
回报 “展示” if element 其他 “不存在”

产品信息[“立即购买按钮”] = is_element_present('span#submit\\.立即购买')
产品信息[“添加到购物车按钮”] = is_element_present('span#submit\\.add-to-cart')
产品信息['可用性'] = get_text_or_default('#可用性跨度')
产品信息[“产品标题”] = get_text_or_default('#productTitle')
产品信息['价格'] = get_text_or_default('.a-价格.a-屏幕外')
产品信息[“发货人姓名”] = get_text_or_default('#fulfillerInfoFeature_feature_div span.offer-display-feature-text-message')
产品信息[“卖家名称”] = get_text_or_default('#merchantInfoFeature_feature_div span.offer-display-feature-text-message')

回报 产品信息

DEF scrape_amazon_product_info(API、网址):
选项= {
'页面等待': 2000,
'ajax_等待': '真的'
}
响应 = api.get(url, 选项)

if 回复['状态代码'] == 200:
html_内容=响应['身体']。解码('拉丁1')
回报 scrape_amazon_product_html(html_content)
其他:
打印(“检索页面失败。状态代码:”, 回复['状态代码'])
回报 不包含

DEF ():
api = 初始化_crawlbase_api('YOU_CRAWLBASE_JS_TOKEN')
产品信息 = scrape_amazon_product_info(api, 'https://www.amazon.com/Motorola-Stylus-Battery-Unlocked-Emerald/dp/B0BFYRV4CD')

if 产品信息:
# 从product_info字典创建一个DataFrame
df = pd.DataFrame([产品信息])
# 将 DataFrame 保存到 CSV 文件
df.to_csv(“amazon_product_info.csv”, 索引=)

if __名字__ == “__主要的__”:
主()

更新后的代码利用 Pandas 库将数据保存到 CSV 文件中。 首先,它从以下位置创建一个 Pandas DataFrame: product_info 字典,其中字典中的每个键值对对应于 DataFrame 中的一列。 然后,它将 DataFrame 保存为 CSV 文件。 这 pd.DataFrame([product_info]) 语句用单行数据构造DataFrame,确保数据以表格结构组织。 最后, df.to_csv('amazon_product_info.csv', index=False) 将 DataFrame 导出到名为的 CSV 文件 amazon_product_info.csv 同时省略 Pandas 添加到 CSV 的默认索引,从而对抓取的亚马逊产品信息进行干净且结构化的存储。

amazon_product_info.csv 预习:

输出 CSV 文件预览

总结

我希望您现在可以轻松抓取亚马逊购物车数据。 有关 Amazon Scraping 的更多教程,请查看以下链接:

📜 如何抓取亚马逊评论
📜 如何抓取亚马逊搜索页面
📜 如何抓取亚马逊产品数据

有关更多亚马逊抓取教程,请查看我们的抓取指南 亚马逊价格, 亚马逊点击付费广告, 亚马逊ASIN, 亚马逊的评论, 亚马逊图片Ruby 中的亚马逊数据.

我们有一个庞大的教程库,其中包含其他电子商务网站的教程,例如抓取 沃尔玛, 易趣全球速卖通 产品数据。

如果您有任何疑问或需要帮助,请随时与我们联系 相关信息。 我们在这里为您提供帮助!

常见问题

问:什么是亚马逊黄金购物车,为什么它很重要?

亚马逊Buy Box是产品页面上的一个重要功能,客户可以立即购买。 这很重要,因为它会显着影响销售。 当您点击“添加到购物车”或“立即购买”时,您可以从购买框中的卖家处购买。 赢得Buy Box就像在电子商务竞赛中获得杆位一样。 这对买家和卖家来说都很重要,因为亚马逊上的大部分销售都是通过这个盒子进行的。 占据Buy Box的卖家享有较高的知名度、更多的销量和客户的信任。

问:为什么卖家需要抓取数据来监控Buy Box?

卖家需要抓取数据来跟上Buy Box的动态和竞争本质。 黄金购物车会根据价格、可用性和卖家表现不断变化。 为了取得成功,卖家必须实时调整他们的策略。 数据抓取提供各个方面的实时监控和数据,包括价格和竞争对手的表现。 它可以帮助卖家优化策略并确保Buy Box位置。

问:数据抓取如何应对反抓取措施等挑战?

像亚马逊这样的网站有阻止抓取的防御措施,例如跟踪异常行为或阻止 IP 地址。 数据抓取工具(例如 Crawlbase Crawling API)旨在绕过这些措施。 他们可以轮换 IP 地址,使亚马逊更难阻止他们。 此外,它们可以自动解决验证码,因此抓取可以不间断地继续进行。

问:我需要什么才能开始抓取亚马逊的Buy Box数据?

要开始抓取Buy Box数据,您需要做一些事情。 首先,您的计算机上应该安装有 Python。 您还需要用于网页抓取的特定库,例如 Crawlbase、Beautiful Soup 和 Pandas。 这些库可帮助您有效地发出请求、解析网页和组织数据。 此外,您还需要一个 Crawlbase 令牌,它使您可以通过 Crawlbase 抓取 API 访问 Amazon 的网站。 您可以使用这些工具和您的代币开始您的Buy Box数据抓取之旅。