在本博客中,我们将展示如何使用 Crawlbase 智能代理提取选定亚马逊产品的 ASIN,我们还将展示如何将 Crawlbase 抓取 API 参数传递给智能代理以增强抓取,并更好地控制抓取数据的方式。 最后,我们将获得亚马逊产品页面的结构化 JSON,以便于使用。 我们还将回答一些关于亚马逊网页抓取和亚马逊产品页面(又名 ASIN 页面)的常见问题。

分步:使用 Crawlbase 智能代理提取 Amazon ASIN

步骤1: 首先创建一个免费的 爬虫库 帐户来访问您的智能代理令牌。

步骤2: 导航到 Crawlbase 智能代理仪表板 检索“连接详细信息”部分下的免费访问令牌。

Crawlbase 仪表板上的智能代理连接详细信息

步骤3: 选择您要抓取的亚马逊产品。 对于这个例子,让我们抓取这个 OtterBox iPhone 14 Pro Max(仅限)通勤系列保护壳 亚马逊产品。 网址如下:

https://www.amazon.com/OtterBox-COMMUTER-iPhone-Pro-ONLY/dp/B0B7CH8DMR/

步骤4: 要将请求发送到智能代理,请复制以下行并将其粘贴到您的终端中:

1
卷曲 -x "http://[电子邮件保护]:8012”-k“https://www.amazon.com/OtterBox-COMMUTER-iPhone-Pro-ONLY/dp/B0B7CH8DMR/”

这个curl命令也可以在 Crawlbase 智能代理文档。 请记住将“USER_TOKEN”替换为您的访问令牌,并插入您要抓取的产品的 URL。

正如您所看到的,curl 命令有 2 个选项,-x 相当于 —proxy 允许用户发送代理主机:端口以及代理身份验证。 Crawlbase 智能代理不需要密码进行身份验证,因为代理用户名是唯一且安全的,使用用户名或 USER_TOKEN 进行代理身份验证就足够了。 但是,如果您需要在网络抓取应用程序中添加密码,请添加您喜欢的任何字符串,例如您的公司名称,或者仅添加 “爬行基地”.

curl 命令,我们还添加了 -k 标志(或 --insecure)代表“不安全”。 当您使用 -k 标记为 curl,它告诉命令允许连接到受 SSL/TLS 保护的 (HTTPS) 站点,而不验证服务器提供的证书的真实性。 智能代理需要此选项,它允许我们处理向爬行 API 的转发,并在将请求发送到原始请求的网站之前绕过验证码和阻止。 向智能代理发送请求时,必须使用 -k 或 —insecure 标志。

步骤5: 如果执行正确,您应该会收到类似于此屏幕截图中所示的 HTML 响应。

HTML 格式的响应

在上面的示例中,我们抓取了目标亚马逊页面,我们可以看到我们要查找的 ASIN 存在为 currentAsin:

当前的 ASIN

使用Python和智能代理提取亚马逊ASIN

在上一节中,我们使用curl发出一个基本请求,该请求返回我们提取ASIN的产品页面的抓取数据。 为了更高级的用法,我们现在将深入研究使用 Python 自动执行这些请求并解析响应。

对于 Python 代码,我们将使用 requests 仅库并创建一个名为的文件 smartproxy_amazon_scraper.py.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
进口 要求

用户名= '用户令牌' # 替换为您从仪表板获取的 user_token。
密码 = '' # 密码为空,不用于身份验证。
代理验证= f'{用户名}:{密码}'

网址= 'https://www.amazon.com/OtterBox-COMMUTER-iPhone-Pro-ONLY/dp/B0B7CH8DMR/'
代理网址 = f"http://{代理验证}@smartproxy.crawlbase.com:8012"
代理={“http”:代理网址, “https”: 代理网址}

响应= requests.get(url=url,代理=代理,验证=)

打印('响应代码:', 响应.status_code)
打印('响应正文:', 回复内容)

然后你可以简单地在你的程序中运行上面的脚本 terminal python smartproxy_amazon_scraper.py.

HTML 格式的响应

这是您在终端中以 HTML 形式获得的成功响应。 您可以解析此响应并构建数据,然后将其存储在数据库中以便于检索和分析。

使用爬网 API 参数自定义请求

让我们更深入地探索如何使用自定义智能代理请求 Crawlbase的爬取API参数。 您可以简单地将这些参数作为前缀传递给智能代理 CrawlbaseAPI-Parameters: ... 例如:

示例#1:

在此 Python 脚本中,我们设置 CrawlbaseAPI-Parametersautoparse=true。 此 API 调用指示智能代理自动解析页面并返回 JSON 响应。 然后,您可以根据您的要求使用此结构化数据。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# pip 安装请求
进口 要求
进口 JSON

用户名= '用户令牌' # 替换为您从仪表板获取的 user_token。
密码 = '' # 密码为空,不用于身份验证。
代理验证= f'{用户名}:{密码}'

网址= 'https://www.amazon.com/OtterBox-COMMUTER-iPhone-Pro-ONLY/dp/B0B7CH8DMR/'
代理网址 = f"http://{代理验证}@smartproxy.crawlbase.com:8012"
代理={“http”:代理网址, “https”: 代理网址}

标头= {
“CrawlbaseAPI-参数”: “自动解析=真”
}

响应 = requests.get(url=url, proxies=proxies, headers=headers, verify=)

数据= json.loads(response.text)

打印('响应代码:', 响应.status_code)
打印('响应刮伤身体:', json.dumps(数据, 缩进=4))

在终端中运行上述调用后,您将获得 JSON 格式的响应,并且您可以看到数据现在看起来更加结构化。

JSON 格式的响应

例#2:

为了实现对来自特定国家/地区的请求的地理定位,只需包含 “国家=”参数,使用两个字符的国家/地区代码,例如 “国家=美国”。 见下文:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# pip 安装请求

进口 要求

用户名= '用户令牌' # 替换为您从仪表板获取的 user_token。
密码 = '' # 密码为空,不用于身份验证。
代理验证= f'{用户名}:{密码}'

网址= 'https://www.amazon.com/OtterBox-COMMUTER-iPhone-Pro-ONLY/dp/B0B7CH8DMR/'
代理网址 = f"http://{代理验证}@smartproxy.crawlbase.com:8012"
代理={“http”:代理网址, “https”: 代理网址}

标头= {
“CrawlbaseAPI-参数”: “国家/地区=GB”
}

响应 = requests.get(url=url, proxies=proxies, headers=headers, verify=)

打印('响应代码:', 响应.status_code)
打印('响应正文:', 回复内容)

在终端中运行上述调用后,您将获得 HTML 格式的响应,如下所示:

智能代理国家/地区参数的 HTML 响应

您可以将输出 HTML 保存为 smartproxy_amazon_scraper.html 在您的本地计算机上。 当您在浏览器中打开 HTML 文件时,您会注意到页面下方显示“United Kingdom” “交付给” 这意味着您对亚马逊的请求是从 GB 路由的,正如我们在上面的代码中指示 API 的那样。

手机壳的亚马逊产品页面

在上面的两个示例中,我们向您展示了如何使用 Crawlbase 智能代理成功抓取网页,以及如何通过以下方式轻松利用我们的 Crawlbase 抓取 API 的潜力: CrawlbaseAPI-参数。 具体来说,我们介绍了 autoparse=true 参数,它提供结构化输出以方便数据处理,以及 country=GB 有助于目标地理定位的参数(或任何有效的两个字母的国家/地区代码)。

Crawlbase 智能代理使重定向变得简单!

通常,代理不会执行 URL 重定向,但 Crawlbase 智能代理会执行。 这就是为什么我们称之为智能代理。 智能代理使用爬网 API 功能通过拦截传入请求、评估用户设置的重定向规则以及向客户端发送适当的 HTTP 状态代码来处理 URL 重定向。 它根据指定的重定向类型(例如,301 或302)有效地将用户从源URL 路由到目标URL。

让我们通过定位与之前相同的 URL 来演示一种重定向场景,但这次我们将删除 “万维网” 来自 URL 的前缀。 修改后的 URL 将触发重定向,展示 Crawlbase 智能代理如何处理此类重定向。 不带“www”前缀的 URL 将如下所示:

https://amazon.com/OtterBox-COMMUTER-iPhone-Pro-ONLY/dp/B0B7CH8DMR/

我们将继续使用之前提供的 Python 代码,并且用于设置 URL 重定向的 API 调用将遵循与之前相同的结构。 代码片段如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# pip 安装请求

进口 要求
进口 JSON

用户名= '用户令牌' # 替换为您从仪表板获取的 user_token。
密码 = '' # 密码为空,不用于身份验证。
代理验证= f'{用户名}:{密码}'

网址= 'https://amazon.com/OtterBox-COMMUTER-iPhone-Pro-ONLY/dp/B0B7CH8DMR/'
代理网址 = f"http://{代理验证}@smartproxy.crawlbase.com:8012"
代理={“http”:代理网址, “https”: 代理网址}

标头= {
“CrawlbaseAPI-参数”: “自动解析=真”
}

响应 = requests.get(url=url, proxies=proxies, headers=headers, verify=)

数据= json.loads(response.text)

打印('响应代码:', 响应.status_code)
打印('响应刮伤身体:', json.dumps(数据, 缩进=4))

在终端中执行上述 API 调用后,您将收到 JSON 格式的响应。 在响应中,您可以观察到 “原始状态” 字段有价值 “301。”

智能代理重定向 URL 调用的 JSON 响应

总结

大规模提取亚马逊ASIN可以让开发者快速拉取重要的产品信息。 这些关键数据对于研究市场、制定价格和比较竞争至关重要。 通过使用 网页抓取工具,用户可以自动从大型产品列表中收集ASIN,节省大量时间和精力。

总而言之, Crawlbase 智能代理 作为一个革命性的解决方案,提供自定义地理定位、无限带宽、人工智能驱动的爬行、 轮换IP地址,且成功率高。 其多样化的功能,包括庞大的代理池、匿名爬行和实时监控,使其成为开发人员的必备工具,使他们能够在网络数据采集的动态领域中蓬勃发展。 现在注册 并受益于 5000 个免费请求 使用 Crawlbase 智能代理!

常见问题解答

问:什么是亚马逊 ASIN?

A: 亚马逊 ASIN(亚马逊标准识别号)是分配给在亚马逊市场上销售的产品的唯一 10 个字符的字母数字代码。 它充当产品标识符,用于区分亚马逊庞大目录中的商品。 它总是开始于 “B0。”

A: 当数据可公开访问时,抓取亚马逊数据是完全合法的。 然而,避免抓取需要登录凭据的数据并确保收集的数据集不包含任何敏感或受版权保护的内容至关重要。

问:什么是SKU?

A: SKU(库存单位)是卖家或零售商分配的唯一代码,用于跟踪和管理其库存。 与 ASIN 不同,SKU 并不特定于亚马逊平台,可以跨多个销售渠道使用

问:为什么抓取亚马逊上列出的产品的 ASIN 很重要?

  • 抓取亚马逊上列出的产品的 ASIN 非常重要,因为 ASIN 是亚马逊庞大市场中每件商品的唯一标识符。
  • 通过网络抓取检索 ASIN,开发人员可以收集重要的产品详细信息、定价、可用性和客户评论,使他们能够构建自定义应用程序、分析趋势并跨类别比较产品。
  • 抓取 ASIN 使开发人员能够将亚马逊的产品数据无缝集成到他们自己的应用程序和网站中。
  • 通过跟踪 ASIN 并监控其随时间的表现,企业和开发人员可以优化营销策略、管理库存并在电子商务领域保持竞争力。

问:Crawlbase 智能代理的主要功能有哪些?

A: 智能代理的主要特点是 轮换IP地址 用于在抓取过程中保持匿名。 轮换 IP 地址池包括 140亿住宅数据中心代理.智能代理对于绕过验证码挑战也非常有帮助,并确保爬行和抓取的成功率达到 99%。 智能代理还为特定区域的数据访问提供自定义地理位置。