如果您对手动价格数据提取感到不知所措,并且想了解如何使用人工智能从亚马逊抓取价格,那么您来对地方了。 当您阅读此博客时,我们将重点关注自动抓取技术,尤其是那些涉及自动 XPath 检索的技术。 我们将引导您完成抓取设置、使用 AI 精确获取您需要的数据,以及掌握使用 XPath 自动数据检索的技巧。 无论您是小型在线商店还是大型电子商务巨头,这些技术都将成为您在数字世界中的超能力。

目录

  1. 自动抓取的重要性
  • 为什么自动抓取在电子商务中很重要
  • 亚马逊人工智能驱动的价格抓取的优势
  1. 探索必要的 API
  • Crawlbase 爬取 API
  • OpenAI GPT API
  1. 了解亚马逊的搜索页面结构
  • 分解亚马逊搜索页面
  • 确定您需要的数据
  1. 做好准备
  • 安装 Python 和基本库
  • 创建虚拟环境
  • 获取 Crawlbase 和 OpenAI 的代币
  1. 自动化亚马逊价格抓取
  • 检索亚马逊搜索页面 HTML
  • 使用 OpenAI 提取价格 XPath
  • 抓取亚马逊产品价格
  1. 总结
  2. 常见问题

自动抓取的重要性

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

为什么自动抓取在电子商务中很重要

自动抓取就像在线业务世界中的超级大国,尤其是在电子商务领域。 它可以帮助企业快速准确地收集数据,这对于成功至关重要。 这就是为什么它如此重要:

电子商务中的自动抓取
  • 快速数据收集:自动抓取使企业能够获取重要数据,例如产品价格、库存可用性以及竞争对手的动态。 这种速度就像拥有一个秘密武器,让企业能够做出快速、明智的决策,从而在竞争中保持领先地位。
  • 时刻关注竞争对手:在电子商务中,事情变化得很快。 密切关注竞争对手的价格和产品行为至关重要。 自动抓取就像有一个机器人助手 24/7 全天候监视您的比赛,因此您始终了解情况。
  • 数据驱动的产品洞察:想知道什么产品流行、客户喜欢什么、市场想要什么? 自动抓取可以帮助您深入了解这些信息,为您提供开发产品和定位营销的超能力。
  • 对布局变化的适应性:网站有时会更新其外观和结构。 自动抓取可以使用 CSS 选择器处理这些更改,确保您可以不间断地继续收集数据。
  • 很棒的购物体验:购物者在访问在线商店时喜欢最新且准确的信息。 自动抓取可确保您的产品数据始终最新且值得信赖,让您的客户满意。

亚马逊人工智能驱动的价格抓取的优势

现在,我们来谈谈在 Amazon 上使用 AI 驱动的抓取,尤其是与自动 XPath 检索相结合时。 这就像升级你的超能力:

  • 处理大量数据:AI 驱动的抓取和自动 XPath 检索非常适合处理大量数据。 无论您有许多产品需要跟踪、数以百万计的客户评论还是需要关注许多竞争对手,这项技术都可以处理负载。
  • 精准可信:AI 模型(例如由 OpenAI GPT 提供支持的模型)就像专家数据侦探。 他们以令人难以置信的准确性准确地找到您所需要的信息,因此您始终可以相信您获得的信息。
  • 节省时间和资源:自动抓取意味着您不必手动完成所有操作。 这就像有一个全天候工作的帮手一样,可以节省您的时间和资源。 您可以利用这些额外时间做出重要决定。
  • 适应变化:像亚马逊这样的网站可以更改其布局或结构。 人工智能模型可以适应,因此即使网站更新,您也不会失去超能力。

让我们探索实用的工具和方法,让您的企业在在线零售中占据优势。

探索必要的 API

在深入研究自动抓取的复杂技术之前,您必须熟悉支持抓取过程的基本 API。 本节将深入研究自动化网页抓取的核心 API:Crawlbase Crawling API 和 OpenAI GPT API.

Crawlbase 爬取 API

Crawlbase 爬取 API 是网络数据提取工作的重要基础。 它提供了从网页中检索HTML内容的能力,这是自动抓取不可或缺的工具。 以下是 Crawlbase 抓取 API 的技术概述:

  • Web 数据提取:Crawlbase 旨在帮助从网页中提取 HTML 内容。 它适应网页的复杂结构,确保您可以访问抓取任务所需的精确数据,例如价格提取和内容分析。
  • IP 轮换:Crawlbase 融合了以下基本功能: IP轮换。 此功能通过在抓取操作期间循环使用多个 IP 地址来提供增强的匿名性、可扩展性和可靠性。 它有助于规避基于 IP 的限制并确保不间断的数据提取。
  • 可扩展性:Crawlbase Crawling API 旨在管理不同规模的抓取任务。 无论您的目标是抓取单个网页还是数千个页面,Crawlbase 都可以有效地处理请求,使其成为大规模数据提取项目的理想选择。
  • 易于集成:得益于其 Python 库,利用 Crawlbase 的功能非常简单。 这种集成可以轻松执行请求、检索内容以及无缝包含在数据分析管道中。

OpenAI GPT API

OpenAI GPT API 代表了自然语言理解和生成的基石。 它为与解释和生成基于文本的数据相关的任务提供了各种可能性。 以下是 OpenAI GPT API 的技术视角:

  • 自然语言理解:OpenAI 的 GPT 模型经过精心训练,可实现全面的语言理解。 它们擅长解释查询、生成文本以及协助完成需要语言理解的任务,这使它们成为生成 XPath 表达式的强大工具。
  • 语言生成:GPT API 在生成类人文本方面表现出卓越的能力。 此功能对于聊天机器人响应、内容生成和制作数据提取指令等任务非常宝贵,从而增强了抓取项目的自动化和灵活性。
  • 多功能:OpenAI 的 GPT 模型用途极其广泛,可适应各种与文本相关的任务,使其成为自动抓取工具包的宝贵补充。 它们的适应性为网络抓取领域的广泛应用铺平了道路。

在后续部分中,我们将利用这些 API 的强大功能,将它们无缝合并,以创建一个高效且简化的流程,用于从亚马逊搜索页面提取产品价格。

了解亚马逊的搜索页面结构

要精通自动抓取,了解要抓取的网页的结构至关重要。 在本节中,我们将仔细研究亚马逊的搜索页面结构,将其分解为基本组成部分,并帮助您识别所需的特定数据。

分解亚马逊搜索页面

亚马逊的搜索页面经过精心设计,旨在为用户提供人性化、高效的购物体验,以及美观的界面 定制徽标。 了解这些页面的结构是成功自动抓取的第一步:

亚马逊搜索页面
  • 搜索栏:在页面顶部,您将找到搜索栏,用户可以在其中输入查询。 这是搜索旅程开始的地方,用户寻找特定的产品或类别。
  • 过滤器和排序选项:在左侧,您将看到各种过滤器和排序选项。 用户可以通过选择类别、品牌、价格范围等来优化搜索结果。 认识这些元素很重要,因为它们会影响搜索结果。
  • 搜索结果网格:页面的中央部分由搜索结果网格占据。 该网格显示与用户查询匹配的产品列表。 每个产品列表通常包括图像、标题、价格、评级和附加信息。
  • 分页:在搜索结果的底部,您通常会找到分页控件,允许用户浏览多页结果。 了解亚马逊如何处理分页对于从所有页面收集数据以进行抓取至关重要。
  • 产品详情页面链接:每个产品列表都有一个链接,可将用户引导至产品的详细信息页面。 当抓取亚马逊的搜索页面时,这些链接对于收集有关特定产品的更深入的信息非常有价值。
  • 页脚:页脚包含各种亚马逊政策、客户服务和其他资源的链接。 这是页面的最后一部分。

确定您需要的数据

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

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

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

如何从亚马逊抢价:做好准备

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

安装 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

创建虚拟环境

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

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

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

获取 Crawlbase 和 OpenAI 的代币

要使用 Crawlbase 爬网 API 和 OpenAI GPT API,您需要获取必要的令牌或 API 密钥。 以下是获取它们的方法:

爬网令牌:访问 抓取基地网站 并注册一个帐户。 注册后,您将在以下位置找到您的 API 令牌或密钥: 文件。 Crawlbase 提供两种类型的令牌:用于静态网站的普通令牌 (TCP) 和用于动态或 JavaScript 驱动的网站的 JavaScript 令牌 (JS)。 对于亚马逊,我们需要一个 JS 令牌。 确保此令牌安全,因为它对于访问 Crawlbase API 至关重要。 为了轻松启动,Crawlbase 为其 Crawling API 提供了 1000 个免费请求。

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

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

自动化亚马逊价格抓取

现在您已做好充分准备并配备了必要的工具和令牌,是时候深入了解自动抓取的核心了。 本部分将指导您完成使用 Crawlbase 抓取 API 和 OpenAI 从亚马逊搜索页面抓取产品价格的详细步骤。

检索亚马逊搜索页面 HTML

自动抓取价格的第一步是获取亚马逊搜索页面的 HTML 内容。 此 HTML 内容嵌入了产品信息(包括价格)。 就像许多现代网站一样,亚马逊的搜索页面使用 JavaScript 和 Ajax 等先进技术来加载其内容。 这使得从这些页面中抓取数据变得很困难。 但是,借助 Crawlbase 爬网 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

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

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

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

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

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

# 将 HTML 内容保存到文件中
- 打开('输出.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'

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

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

# 抓取 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 可随时用于您的网页抓取任务,从而简化流程并提高精度。

抓取亚马逊产品价格

为了将您的抓取之旅提升到一个新的水平,我们将通过添加一个名为的函数来增强前面的示例脚本 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'

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

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

# 抓取 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)

# 将价格字符串转换为浮点值
价格=[浮动(价格) 车资 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 中的亚马逊数据。 此外,对于沃尔玛以外的电子商务抓取指南,请查看我们关于从以下位置抓取产品数据的教程: 沃尔玛, 易趣全球速卖通.

请随时与我们联系 相关信息 如果您需要进一步帮助或有其他问题。

常见问题

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

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

问:自动抓取对我的电子商务业务有何好处?

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

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

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

网络抓取的法律和道德方面是必须考虑的。 网络抓取的合法性因司法管辖区而异,尊重网站服务条款至关重要。 道德的抓取实践包括不让网站超载请求、避免抓取私人或敏感信息,以及在使用抓取的数据时提供正确的归属。 寻求法律建议并了解您所在地区的隐私法规有助于确保遵守相关法律。