在这篇博客中,我们将展示如何使用 Crawlbase Smart Proxy 提取选定亚马逊产品的 ASIN,我们还将展示如何通过 Crawlbase Crawling APIs 参数 Smart Proxy 以增强抓取功能,更好地控制抓取数据的方式。最后,我们将获得一个结构化的 Amazon 产品页面 JSON,以方便使用。我们还将回答一些关于网络抓取 Amazon 和 Amazon 产品页面(又称 ASIN 页面)的常见问题。

一步步:使用 Crawlbase 提取 Amazon ASIN Smart Proxy

步骤1: 首先创建一个免费的 爬虫库 帐户访问您的 Smart Proxy 令牌。

步骤2: 导航到 爬虫库 Smart Proxy 數據表 检索“连接详细信息”部分下的免费访问令牌。

Smart Proxy Crawlbase 仪表板上的连接详细信息

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

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

步骤4: 发送请求至 Smart Proxy,复制以下行并将其粘贴到您的终端中:

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

这个curl命令也可以在 爬虫库 Smart Proxy 文件记录。 请记住将“USER_TOKEN”替换为您的访问令牌,并插入您要抓取的产品的 URL。

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

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

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

HTML 格式的响应

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

当前的 ASIN

使用 Python 提取 Amazon ASIN 和 Smart Proxy

在上一节中,我们使用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 形式获得的成功响应。 您可以解析此响应并构建数据,然后将其存储在数据库中以便于检索和分析。

使用以下方式自定义请求 Crawling API 参数

让我们更深入地探索如何定制 Smart Proxy 请求使用 Crawlbase的 Crawling API 参数。您只需将这些参数传递给 Smart Proxy 作为带有前缀的标题 CrawlbaseAPI-Parameters: ... 例如:

示例#1:

在此 Python 脚本中,我们设置 CrawlbaseAPI-Parametersautoparse=true。此 API 调用指示 Smart Proxy 自动解析页面并返回 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 响应 Smart Proxy 国家参数

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

手机壳的亚马逊产品页面

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

爬虫库 Smart Proxy 使重定向变得简单!

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

让我们通过定位与之前相同的 URL 来演示一种重定向场景,但这次我们将删除 “万维网” 前缀。修改后的 URL 将触发重定向,展示了 Crawlbase 如何 Smart Proxy 处理此类重定向。不带“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。”

JSON 响应 Smart Proxy 重定向 URL 调用

总结

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

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

常见问题

问:什么是亚马逊 ASIN?

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

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

问:什么是SKU?

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

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

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

问:Crawlbase 的主要功能是什么 Smart Proxy?

A: 主要特点 Smart Proxy 旨在 轮换IP地址 用于在抓取过程中保持匿名。 轮换 IP 地址池包括 140亿住宅数据中心代理.The Smart Proxy 也非常有助于绕过 CAPTCHA 挑战并确保爬取和抓取的成功率达到 99%。 Smart Proxy 还提供自定义地理位置以便访问特定区域的数据。