如果您对手动价格数据提取感到不知所措,并想学习如何使用人工智能从亚马逊抓取价格,那么您来对地方了。在您阅读本博客的过程中,我们将重点介绍自动抓取技术,尤其是涉及自动 XPath 检索的技术。我们将指导您设置抓取设置,使用人工智能精确获取所需数据,并掌握使用 XPath 进行自动数据检索的技巧。无论您是小型网店还是大型电商巨头,这些技术都将成为您在数字世界中的超能力。

Crawlbase“ Crawling API 让您能够结合您喜欢的 AI 工具来抓取亚马逊价格。您可以注册使用我们现成的 亚马逊刮板;您的前 1000 个请求是免费的。

Crawlbase“ Crawling API 让您能够结合您喜欢的 AI 工具来抓取亚马逊价格。您可以注册使用我们现成的 亚马逊刮板;您的前 1000 个请求是免费的。

目录

  1. 亚马逊自动抓取的重要性

  2. 探索必要的 API

  • Crawlbase Crawling API
  • OpenAI GPT API
  1. 做好准备
  • 安装 Python 和基本库
  • 创建虚拟环境
  • 获取代币 Crawlbase 和开放人工智能
  1. 自动化亚马逊价格抓取
  • 检索亚马逊搜索页面 HTML
  • 使用 OpenAI 提取价格 XPath
  • 抓取亚马逊产品价格
  1. 总结
  2. 常见问题 (FAQ)

亚马逊自动抓取的重要性

为了执行抓取,你需要知道 CSS 选择器或 XPath 选择器 元素的选择器。因此,如果您要抓取数千个网站,则需要手动确定每个网站的选择器。如果页面发生变化,您也需要进行更改。这正是亚马逊自动化网页抓取发挥作用的地方,它为那些有效利用其功能的人提供了关键优势。

识别抓取亚马逊价格所需的数据

亚马逊的搜索页面包含丰富的数据,但并非所有数据都与您的特定抓取目标相关。 识别所需的精确数据元素对于高效、集中的抓取至关重要:

  • 产品信息:确定哪些产品细节对您的目标至关重要。 这可能包括产品标题、价格、客户评级和描述。 识别这些元素可以帮助您提取正确的信息。
  • 产品网址:如果您打算深入研究特定产品,捕获各个产品页面的 URL 至关重要。 这使您可以访问每个项目的更详细信息。
  • 分页控制:了解亚马逊搜索页面上的分页结构对于从多个结果页面收集数据至关重要。 您需要找到并利用适当的元素来有效地导航页面。

当我们继续阅读此博客时,我们会将这些知识应用到我们的自动抓取技术中。 您将学习如何从亚马逊搜索页面查找和提取所需的数据,使您能够在电子商务领域收集有价值的见解并做出数据驱动的决策。

如何抓取亚马逊价格:分步指南

在开始自动化抓取之前,你必须确保拥有正确的工具和设置。本节将介绍初始准备步骤,包括安装 Python、创建虚拟环境以及获取所需的令牌。 Crawlbase 和开放人工智能。

1.安装Python和基本库

Python 是网络抓取项目的基石,有几个库将在您的旅程中发挥关键作用。 首先确保您安装了 Python 和以下库:

Python安装:如果您尚未安装 Python,请从 Python 官方网站下载最新版本,并按照适合您的操作系统的安装说明进行操作。

所需的图书馆:需要以下库才能成功关注此博客。

  1. Crawlbase Python库:与 Crawlbase Crawling API,你需要 Crawlbase Python 库。此库简化了向 Crawlbase 用于网页抓取。安装方法如下:
1
点安装爬虫库
  1. OpenAI Python 库:由于您将使用 OpenAI 的 GPT 来获取 XPath,因此您需要安装 OpenAI Python 库。 该库允许您有效地与 OpenAI 的 API 进行交互。 使用以下命令安装它:
1
pip 安装 openai
  1. xml文件:Python lxml 库是一个强大且高效的工具,用于解析和处理 XML 和 HTML 文档。 它提供了一个强大且用户友好的界面,用于导航和操作结构化数据。
1
pip 安装 lxml

2.创建虚拟环境

创建虚拟环境是Python开发的最佳实践。 它确保您的项目拥有包含所需包的隔离环境。 设置虚拟环境的方法如下:

  1. 安装 Virtualenv:如果您没有安装 virtualenv,您可以使用 pip 来安装:
1
pip 安装 virtualenv
  1. 创建虚拟环境:导航到您的项目目录并运行以下命令来创建虚拟环境:
1
虚拟环境
  1. 激活虚拟环境:根据您的操作系统,激活命令可能会有所不同:
  • 在Windows上:
1
venv\脚本\激活
  • 在macOS和Linux上:
1
资源 venv/bin/激活

您的虚拟环境现已设置并激活。 您可以安装特定于项目的包,而不会干扰系统范围的 Python 安装。

3. 获取代币 Crawlbase 和开放人工智能

要使用 Crawlbase Crawling API 和 OpenAI GPT API,您需要获取必要的令牌或 API 密钥。获取方法如下:

Crawlbase Token:访问 Crawlbase 官网 并注册一个帐户。 注册后,您将在以下位置找到您的 API 令牌或密钥: 文件. Crawlbase 提供两种类型的令牌:用于静态网站的普通令牌 (TCP) 和用于动态或 JavaScript 驱动网站的 JavaScript 令牌 (JS)。对于亚马逊,我们需要一个 JS 令牌。请妥善保管此令牌,因为它对于访问 Crawlbase API。为了轻松入门, Crawlbase 为其提供 1000 个免费请求 Crawling API.

OpenAI GPT 代币:访问 OpenAI 网站 并创建一个帐户(如果您还没有)。 从您的 OpenAI 帐户设置访问您的 API 令牌。 向 OpenAI GPT API 发出请求时需要此令牌。

在本博客的以下部分中,我们将指导您完成从亚马逊搜索页面高效抓取产品价格的实际步骤。 请跟随我们一起探索将为您带来电子商务竞争优势的工具和技术。

自动化亚马逊价格抓取

现在您已经做好了充分的准备,并配备了必要的工具和令牌,是时候深入了解自动抓取的核心了。本节将指导您完成使用 Crawlbase Crawling API 和开放人工智能。

检索亚马逊搜索页面 HTML

自动化价格抓取的第一步是获取亚马逊搜索页面的 HTML 内容。这些 HTML 内容嵌入了产品信息(包括价格)。与许多现代网站一样,亚马逊的搜索页面使用 JavaScript 和 Ajax 等先进技术来加载内容。这使得从这些页面抓取数据变得棘手。但是,有了 Crawlbase Crawling API,您拥有有效应对这些挑战的工具。以下是用于检索查询 macbook 的 Amazon 搜索页面 HTML 的 Python 脚本。

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

# 初始化 Crawling API 和你的 Crawlbase 象征
api = 爬行API({ '令牌': 'YOU_CRAWLBASE_JS_TOKEN' })

# 您想要抓取的亚马逊搜索页面的 URL
亚马逊搜索网址= 'https://www.amazon.com/s?k=macbook'

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

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

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

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

当使用 JavaScript 令牌时 Crawlbase API 中,您可以指定一些特殊参数,以确保准确捕获动态渲染的内容。您可以点击此处了解详情。

  • 页面等待:此可选参数允许您指定浏览器捕获生成的 HTML 代码之前等待的毫秒数。 当页面需要一些时间来呈现或需要在捕获 HTML 之前加载 AJAX 请求时,请使用此参数。
  • ajax_等待:JavaScript 令牌的另一个可选参数。 它允许您指定在接收 HTML 响应之前是否等待 AJAX 请求完成。 当内容依赖于 AJAX 请求时,这一点很重要。

output.html 预习:

抓取的 HTML 预览

使用 OpenAI 提取价格 XPath

在我们寻求从亚马逊搜索页面自动提取产品价格的过程中,我们求助于 OpenAI 的卓越功能,特别是 GPT(生成式预训练变压器)模型。让我们更新前面的示例并添加代码以利用 OpenAI 生成精确的 XPath 表达式,以便有效利用从 HTML 内容中提取产品价格 GPT-4 提示 为了获得最佳精度:

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

# 将 'your_openai_api_key' 替换为您的 OpenAI API 密钥
openai.api_key = 'your_openai_api_key'

# 初始化 Crawling API 和你的 Crawlbase 象征
api = 爬行API({ '令牌': 'YOU_CRAWLBASE_JS_TOKEN' })

# 您想要抓取的亚马逊搜索页面的 URL
亚马逊搜索网址= 'https://www.amazon.com/s?k=macbook'

# 选项 Crawling API
选项= {
'页面等待': 2000
}

异步 DEF 获取xpath(HTML):
响应 = 等待 openai.Completion.create(
发动机=“gpt-3.5-涡轮”,
消息=[
{“角色”: “系统”, “内容”: “作为协助实体,您的角色是熟练地识别全面的 XPath 表达式,包括提示中从 HTML 源到产品价格元素的路径。您的响应应仅包含完整的 XPath,没有补充说明、注释、或任何附加文本。同一答案可以多次重复。”},
{“角色”: “用户”, “内容”: html}
]
)
回报 响应.选择[0]。信息[“内容”]

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

# 检查请求是否成功
if 回复['状态代码'] == 200:
# 解码字节数据后提取的HTML内容
html_内容=响应['身体']。解码('拉丁1')
x路径= 等待 获取xpath(html_内容)
打印(x路径)
其他:
打印(“检索页面失败。状态代码:”, 回复['状态代码'])

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

此代码是 HTML 内容与查找和提取产品价格所需的精确 XPath 表达式之间的桥梁。 它启动与 OpenAI 的 GPT-3.5 Turbo 引擎的通信,提供指令,并接收为您的抓取需求量身定制的生成的 XPath 表达式。 然后生成的 XPath 可随时用于您的网页抓取任务,从而简化流程并提高精度。

4. 抓取亚马逊产品价格

为了将您的抓取之旅提升到一个新的水平,我们将通过添加一个名为的函数来增强前面的示例脚本 find_max_price。 该函数利用Python lxml库来解析HTML内容,并根据生成的XPath表达式选择所有产品价格。 然后,它将选定的价格字符串转换为数值,并使用 max() 功能。 最后,该脚本会打印在亚马逊搜索页面上找到的最高 Macbook 价格,为您提供有价值的数据点。

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
56
57
58
59
60
进口 openai
进口 异步
进口 xml文件
爬行基地 进口 抓取API

# 将 'your_openai_api_key' 替换为您的 OpenAI API 密钥
openai.api_key = 'your_openai_api_key'

# 初始化 Crawling API 和你的 Crawlbase 象征
api = 爬行API({ '令牌': 'YOU_CRAWLBASE_JS_TOKEN' })

# 您想要抓取的亚马逊搜索页面的 URL
亚马逊搜索网址= 'https://www.amazon.com/s?k=macbook'

# 选项 Crawling API
选项= {
'页面等待': 2000
}

异步 DEF 获取xpath(HTML):
响应 = 等待 openai.Completion.create(
发动机=“gpt-3.5-涡轮”,
消息=[
{“角色”: “系统”, “内容”: “作为协助实体,您的角色是熟练地查明包罗万象的 XPath 表达式,该表达式跟踪从 HTML 源到提示中的产品标题和价格元素的路径。您的响应应仅包含这两个元素的完整 XPath,而不包含任何内容。额外的解释、注释或附加文本。多次重复相同的答案是可以接受的。”},
{“角色”: “用户”, “内容”: html}
]
)
回报 响应.选择[0]。信息[“内容”]

DEF 查找最高价格(html_内容,xpath):
parsed_html = html.fromstring(html_content)
# 使用生成的 XPath 表达式来选择并提取产品价格
Price_strings = parsed_html.xpath(xpath)

# 将价格字符串转换为浮点值
价格=[浮动(价格) HPMC胶囊 车资 in 价格_字符串]

# 找出最高价格
最高价格 = 最大(价格)

# 打印最高价格
打印(“最高的 MacBook 价格是:”,最高价格)

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

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

find_max_price(html_content, xpath)

其他:
打印(“检索页面失败。状态代码:”, 回复['状态代码'])

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

示例输出:

1
MacBook 最高售价为:5,299

添加此功能后,您的抓取脚本现在不仅可以检索数据,还可以对其进行处理,为您提供有价值的见解,例如在亚马逊搜索页面上找到的最高 Macbook 价格。 您可能还想知道如何在抓取结果并以正确的格式保存结果时处理分页。 对于这个,你可以参考这个 新闻。 享受增强的抓取能力!

总结

我们希望本博客能帮助您自动化数据抓取工作,并节省大量时间。如果您有兴趣抓取沃尔玛商品数据或其搜索页面,请考虑阅读以下指南:

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

您可以找到其他指南,例如 抓取亚马逊ASIN, Node 中的亚马逊评论, 亚马逊图片Ruby 中的亚马逊数据。 此外,对于沃尔玛以外的电子商务抓取指南,请查看我们关于从以下位置抓取产品数据的教程: 沃尔玛, 易趣全球速卖通.

请随时与我们联系 点击这里 如果您需要进一步帮助或有其他问题。

常见问题 (FAQ)

问:我应该如何处理抓取的亚马逊价格数据?

您如何处理从亚马逊抓取的价格数据很大程度上取决于您的意图以及对相关法律法规的遵守情况。 如果您打算将数据用于个人用途或分析,通常可以这样做,只要它符合亚马逊的条款和条件以及您所在地区适用的网络抓取法律。 然而,共享、出售或发布抓取的数据,尤其是出于商业目的,通常需要亚马逊的明确许可。

问:自动抓取亚马逊数据对我的电子商务业务有何益处?

自动抓取为电子商务企业提供了多种优势。 它允许您持续监控有竞争力的价格抓取和产品供应。 它提供了对产品趋势、客户偏好和市场需求的深入洞察,这对于产品开发和有针对性的营销非常有价值。 此外,电子商务网站上准确且最新的产品信息可确保为客户提供无缝的购物体验。

问:我可以调整自动抓取亚马逊数据来处理网站布局的变化吗?

是的,自动抓取功能可以适应亚马逊网站布局的变化。当网站更新其设计或结构时,自动抓取功能可以使用 CSS 选择器和灵活的 XPath 表达式等技术来确保数据收集不间断。这种适应性非常宝贵,即使网站外观发生变化,您也能保持数据的准确性和最新性。

问:什么是亚马逊价格抓取工具?

亚马逊价格抓取工具是一种自动从亚马逊提取产品价格的工具或脚本。它模仿人类使用亚马逊的方式,收集产品的实时价格信息,包括折扣、原价以及价格随时间的变化。