Amazon 爬虫 API,深度解析 Pangolin Scrape API 与 Data API,涵盖电商数据采集、商品评论抓取、爬虫技术集成等多维度内容,提供详细代码示例与最佳实践方案,助力开发者实现高效数据抓取。

在数据驱动的时代,精准、高效地获取电商平台数据成为企业竞争力的关键。Amazon 作为全球最大的电商平台之一,其数据蕴含着巨大的商业价值,包括市场趋势分析、竞品情报收集、价格监控等。然而,Amazon 的数据抓取并非易事,涉及到反爬虫机制、动态页面渲染等复杂问题。本文将深入探讨如何利用 Pangolin 的 Scrape API 和 Data API 构建强大的 Amazon 爬虫 API,并分享集成与最佳实践,并提供实际代码示例,助您在数据采集的道路上披荆斩棘。

理解 Pangolin 提供的 Amazon 爬虫 API 解决方案

Pangolin 提供了两套核心 API 来满足不同的 Amazon 数据抓取需求:Scrape API 和 Data API。两者各有侧重,协同工作能够覆盖 Amazon 平台数据的广度和深度。

1. Scrape API:全页面抓取,还原真实用户体验

Scrape API 侧重于获取 Amazon 页面原始 HTML 数据,力求还原用户在浏览器中的真实体验。它通过模拟浏览器行为,突破 Amazon 的反爬虫机制,并允许开发者指定特定的邮编以获取特定区域的数据。这种方式的优势在于:

  • 高度还原: 获取与真实浏览器一致的页面数据,包括动态加载的内容。
  • 灵活性: 允许抓取 Amazon 任意页面,无论是商品列表页、商品详情页,还是搜索结果页。
  • 定制化: 支持通过 bizContext 参数指定邮编,获取特定区域的商品信息。
  • 异步处理: 采用异步回调机制,将抓取到的数据推送到开发者指定的 callbackUrl,避免长时间等待。

2. Data API:结构化数据,直击核心信息

Data API 则专注于提供结构化的数据,让开发者能够更方便地提取和分析 Amazon 平台的核心信息。它提供了一系列预设的 bizKey,支持抓取:

  • 商品列表: 根据类别 (amzProductOfCategory) 或卖家 (amzProductOfSeller) 获取商品列表。
  • 商品详情: 抓取单个商品 (amzProduct) 的详细信息。
  • 关键词搜索结果: 根据关键词 (amzKeyword) 获取商品列表。
  • 榜单数据: 获取热卖榜 (bestSellers) 或新品榜 (newReleases) 数据。
  • 商品评论: 抓取指定商品的评论信息,支持分页和不同国家地区。

Data API 的优势在于:

  • 结构化输出: 数据以 JSON 格式返回,方便解析和存储。
  • 高效便捷: 无需自行编写复杂的 HTML 解析代码,直接获取所需数据。
  • 针对性强: 预设的 bizKey 能够满足常见的 Amazon 数据抓取需求。
  • 评论抓取: 专门的 /review 接口可以高效地获取商品评论,并支持不同国家地区。

详细解读 Pangolin 提供的 Amazon 爬虫 API 接口

以下是对 Pangolin 提供的 Scrape API 和 Data API 接口的详细解读,结合提供的文档进行分析,并提供代码示例。

1. Scrape API (http://scrape.pangolinfo.com/api/task/receive/v1)

  • 请求 URL: http://scrape.pangolinfo.com/api/task/receive/v1
  • 请求方法: POST
  • 请求头: Content-Type: application/json
  • 请求参数 (JSON):
    • token (必填): 用户信息认证,用于身份验证。
    • url (必填): 要爬取的亚马逊页面 URL。
    • callbackUrl (必填): 开发者接收数据的服务地址。
    • proxySession (可选): 用于指定特定的 IP 采集,IP 可在当天保持,0 点后失效。
    • callbackHeaders (可选): 回调时附带在请求头上的数据。
    • bizContext (可选): 包含 zipcode (亚马逊邮编信息) 的 JSON 对象。
  • 响应参数 (JSON):
    • code: 系统状态码 (0 表示成功)。
    • message: 系统状态信息。
    • data: 包含爬虫任务 ID (data)、业务状态码 (bizCode) 和业务状态信息 (bizMsg) 的 JSON 对象。

重要提示: Scrape API 返回的是页面的原始 HTML,需要开发者自行进行解析和数据提取。

示例 Python 代码 (使用 requests 库):

import requests
import json

url = "http://scrape.pangolinfo.com/api/task/receive/v1?token=YOUR_TOKEN"

payload = json.dumps({
  "url": "https://www.amazon.com/s?k=baby",
  "callbackUrl": "http://your-callback-url/data",
  "bizContext": {
    "zipcode": "90001"
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

content_copydownloadUse code with caution.Python

2. Data API (https://extapi.pangolinfo.com/api/v1)

Data API 分为多个子接口,包括刷新 Token 接口、提交任务接口和提交评论任务接口。

2.1 刷新 Token 接口 (https://extapi.pangolinfo.com/api/v1/refreshToken)

  • 请求 URL: https://extapi.pangolinfo.com/api/v1/refreshToken
  • 请求方法: POST
  • 请求头: Content-Type: application/json
  • 请求参数 (JSON):
    • email (必填): 注册邮箱。
    • password (必填): 密码。
  • 响应参数 (JSON):
    • code: 系统状态码 (0 表示成功)。
    • subCode: 子状态码。
    • message: 系统状态信息。
    • data: 访问 API 的凭证 (Token),Authorization: Bearer xxxx 中的 xxxx。

重要提示: 获取 Token 后,需要将它添加到 Authorization 请求头中。

示例 Python 代码 (使用 requests 库):

import requests
import json

url = "https://extapi.pangolinfo.com/api/v1/refreshToken"
payload = json.dumps({
  "email": "[email protected]",
  "password": "your_password"
})
headers = {
  'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
token_data = response.json()['data']
print(token_data) # 将该 token 保存起来,用于其他 Data API 的请求头

content_copydownloadUse code with caution.Python

2.2 提交任务接口 (https://extapi.pangolinfo.com/api/v1)

  • 请求 URL: https://extapi.pangolinfo.com/api/v1
  • 请求方法: GET
  • 请求头: Content-Type: application/x-www-form-urlencoded
  • 请求参数 (Query String):
    • token (必填): API 令牌 (使用刷新 Token 接口获取的 data 值)。
    • url (必填): 目标网页 URL。
    • callbackUrl (必填): 接收数据的服务地址。
    • bizKey (必填): 业务类型 (例如amzProductOfCategory, amzProductOfSeller, amzProduct, amzKeyword, bestSellers, newReleases)
    • zipcode (可选): 亚马逊邮编信息。
    • rawData (可选): 是否返回原始数据,默认为 false。
  • 请求头: Authorization: Bearer xxxx(使用刷新Token接口返回的data值)
  • 响应参数 (JSON):
    • code: 系统状态码 (0 表示成功)。
    • data: 包含爬虫任务 ID (data)、业务状态码 (bizCode) 和业务状态信息 (bizMsg) 的 JSON 对象。
    • message: 系统状态信息。

示例 Python 代码 (使用 requests 库):

import requests

token = "YOUR_TOKEN_HERE"  # 从刷新Token接口获取
url = "https://extapi.pangolinfo.com/api/v1"
params = {
  "token": token,
  "url": "https://www.amazon.com/gp/bestsellers/kitchen/ref=zg_bs_kitchen_sm",
  "callbackUrl": "http://your-callback-url/data",
  "bizKey": "bestSellers",
  "zipcode": "10041",
  "rawData": "false"
}
headers = {
  'Content-Type': 'application/x-www-form-urlencoded',
    'Authorization': f'Bearer {token}'
}

response = requests.get(url, params=params, headers=headers)
print(response.text)

content_copydownloadUse code with caution.Python

2.3 提交评论任务接口 (https://extapi.pangolinfo.com/api/v1/review)

  • 请求 URL: https://extapi.pangolinfo.com/api/v1/review
  • 请求方法: GET
  • 请求头: Content-Type: application/x-www-form-urlencoded
  • 请求参数 (Query String):
    • token (必填): API 令牌 (使用刷新 Token 接口获取的 data 值)。
    • asin (必填): 目标商品 ASIN。
    • callbackUrl (必填): 接收数据的服务地址。
    • page (必填): 评论页码。
    • country_code (可选): 目标国家区域码 (例如:us, de, uk, fr, jp, ca, it, au, es)。
  • 请求头: Authorization: Bearer xxxx(使用刷新Token接口返回的data值)
  • 响应参数 (JSON):
    • code: 系统状态码 (0 表示成功)。
    • data: 包含爬虫任务 ID (data)、业务状态码 (bizCode) 和业务状态信息 (bizMsg) 的 JSON 对象。
    • message: 系统状态信息。

示例 Python 代码 (使用 requests 库):

import requests

token = "YOUR_TOKEN_HERE" # 从刷新Token接口获取
url = "https://extapi.pangolinfo.com/api/v1/review"
params = {
  "token": token,
  "asin": "B081T7N948",
  "callbackUrl": "http://your-callback-url/data",
  "page": 1,
  "country_code": "us"
}
headers = {
   'Content-Type': 'application/x-www-form-urlencoded',
    'Authorization': f'Bearer {token}'
}
response = requests.get(url, params=params,headers=headers)
print(response.text)

content_copydownloadUse code with caution.Python

集成与最佳实践

接下来,我们将讨论如何有效地集成这些 Amazon 爬虫 API,并分享一些最佳实践:

  1. 选择合适的 API: 根据需求选择合适的 API。如果需要获取完整页面数据,选择 Scrape API;如果需要结构化数据,选择 Data API。对于商品评论抓取,直接使用 Data API 的 /review 接口。
  2. 妥善管理 Token: 务必安全地存储和管理 Token,避免泄露。使用刷新 Token 接口定期刷新 Token,确保 API 访问权限。
  3. 异步回调处理: Scrape API 和 Data API 均采用异步回调机制,需要在您的服务器上部署数据接收服务,确保能够正确接收和处理爬取到的数据。示例 Java Spring Boot 接收服务代码可以参考提供的文档。
  4. 合理使用 proxySession: 如果需要特定的 IP 抓取,可以使用 proxySession 参数,并注意它的有效时间。
  5. 优化数据提取: 对于 Scrape API 返回的 HTML 数据,使用高效的 HTML 解析库 (如 Beautiful Soup 或 Jsoup) 进行数据提取,避免使用正则表达式进行解析,提高效率和稳定性。
  6. 遵守 Amazon 的 Robots.txt: 虽然 Pangolin 提供了强大的抓取能力,但务必尊重 Amazon 的 Robots.txt 文件,避免过度抓取,遵守法律法规和网站服务条款。
  7. 错误处理: 添加完善的错误处理机制,捕获 API 返回的错误码,并根据错误信息进行处理。例如,当 code 为 1001 或 1004 时,需要检查请求参数或 Token。
  8. 数据缓存: 对于重复抓取的数据,考虑使用缓存机制,避免不必要的重复请求,减轻服务器压力,并提高数据获取速度。
  9. 速率限制: 控制抓取频率,避免对 Amazon 服务器造成过大的压力,合理设置请求间隔,避免被封 IP。
  10. 监控和日志: 记录 API 调用日志,监控抓取任务的运行状态,及时发现和解决问题。

总结

Pangolin 提供的 Scrape APIData API 为开发者提供了强大的 Amazon 爬虫 API 工具,能够满足不同场景的数据抓取需求。通过深入理解 API 的功能和参数,结合本文提供的最佳实践和代码示例,您可以构建高效、稳定、可靠的 Amazon 数据抓取系统,为您的业务决策提供有力的数据支持。但是请务必记住,数据抓取应在合法合规的前提下进行,尊重网站的服务条款,合理使用技术,切勿滥用。只有这样,才能真正发挥数据抓取技术的价值,助力业务的蓬勃发展。

Our solution

Protect your web crawler against blocked requests, proxy failure, IP leak, browser crash and CAPTCHAs!

Data API: Directly obtain data from any Amazon webpage without parsing.

The Amazon Product Advertising API allows developers to access Amazon’s product catalog data, including customer reviews, ratings, and product information, enabling integration of this data into third-party applications.

With Data Pilot, easily access cross-page, endto-end data, solving data fragmentation andcomplexity, empowering quick, informedbusiness decisions.

Follow Us

Weekly Tutorial

Sign up for our Newsletter

Sign up now to embark on your Amazon data journey, and we will provide you with the most accurate and efficient data collection solutions.

滚动至顶部
This website uses cookies to ensure you get the best experience.

联系我们,您的问题,我们随时倾听

无论您在使用 Pangolin 产品的过程中遇到任何问题,或有任何需求与建议,我们都在这里为您提供支持。请填写以下信息,我们的团队将尽快与您联系,确保您获得最佳的产品体验。

Talk to our team

If you encounter any issues while using Pangolin products, please fill out the following information, and our team will contact you as soon as possible to ensure you have the best product experience.