ITPub博客

首页 > 大数据 > 数据分析 > 亚马逊商品详情API批量获取商品信息指南

亚马逊商品详情API批量获取商品信息指南

原创 数据分析 作者:OneLafite 时间:2025-07-04 10:16:50 0 删除 编辑

一、API接入准备

1. 注册亚马逊开发者账号

  • 访问地址:亚马逊开放平台/第三方开放平台
  • 步骤:
    1. 创建企业账号(需企业邮箱)。
    2. 创建安全配置文件(Security Profile),获取 Client ID和 Client Secret。
    3. 提交API使用申请,说明用途(如竞品监控、价格追踪等)。

2. 获取API密钥

  • 关键凭证:
    • Access Key ID和 Secret Key(用于签名请求)。
    • OAuth2.0的 Refresh Token(用于获取访问令牌)。

3. 选择API类型

  • 推荐接口:
    • Product Advertising API(官方接口,需审批)。
    • SP-API(Selling Partner API)(适用于卖家操作)。
    • 第三方服务(如Pangolin Scrape API,简化开发)。

二、核心API调用流程

1. 单个商品信息查询(ItemLookup)

请求示例(Python):

pythonimport requestsimport hmacimport hashlibfrom datetime import datetimedef get_product_details(asin, access_key, secret_key):endpoint = "webservices.amazon.com"params = {"Service": "AWSECommerceService","Operation": "ItemLookup","ResponseGroup": "ItemAttributes,Offers,Images","IdType": "ASIN","ItemId": asin,"AWSAccessKeyId": access_key,"Timestamp": datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ")}# 生成签名sorted_params = sorted(params.items())query = "&".join([f"{k}={v}" for k, v in sorted_params])signature = hmac.new(secret_key.encode(),query.encode(),hashlib.sha256).hexdigest()url = f"https://{endpoint}/onca/xml?{query}&Signature={signature}"response = requests.get(url)return response.json()

2. 批量商品信息查询(ListCatalogItems)

请求参数:

  • MarketplaceId:目标站点(如 ATVPDKIKX0DER表示美国站)。
  • Query:关键词或ASIN列表。
  • MaxResultsPerPage:每页最多1000条。

分页处理示例:

pythondef batch_get_products(asins, marketplace_id):results = []for asin in asins:data = get_product_details(asin, access_key, secret_key)results.append(data)return results

三、数据处理与存储

1. 解析API响应

示例解析函数:

pythondef parse_response(response):try:item = response["ItemLookupResponse"]["Items"]["Item"]return {"title": item["ItemAttributes"]["Title"],"price": item["Offers"]["Offer"]["ListingPrice"]["Amount"],"image": item["LargeImage"]["URL"],"rating": item["CustomerReviews"]["AverageRating"]}except KeyError:return None

2. 数据存储(CSV示例)

pythonimport csvdef save_to_csv(data, filename="products.csv"):with open(filename, "w", newline="", encoding="utf-8") as f:writer = csv.writer(f)writer.writerow(["ASIN", "Title", "Price", "Rating"])for item in data:writer.writerow([item["ASIN"], item["title"], item["price"], item["rating"]])

四、高级功能与注意事项

1. 频率限制与缓存

  • 限制:默认每秒1次请求,可通过申请提升配额。
  • 缓存策略:使用Redis或本地缓存高频访问数据,减少API调用。

2. 错误处理

pythonif response.status_code == 429:retry_after = int(response.headers.get("Retry-After", 5))time.sleep(retry_after)continueelif response.status_code == 403:raise Exception("API密钥无效或权限不足")

3. 第三方服务对比

服务 优点 适用场景
Product Advertising API 官方接口,数据权威 精准竞品分析
Pangolin Scrape API 无需审批,支持异步回调 快速搭建监控系统

五、完整代码示例(Python)

python# 配置参数ACCESS_KEY = "YOUR_ACCESS_KEY"SECRET_KEY = "YOUR_SECRET_KEY"ASINS = ["B07DTH3N2X", "B08N5WRWNW"]  # 示例ASIN列表# 批量获取并保存数据if __name__ == "__main__":all_data = []for asin in ASINS:response = get_product_details(asin, ACCESS_KEY, SECRET_KEY)parsed_data = parse_response(response)if parsed_data:all_data.append(parsed_data)save_to_csv(all_data)print("数据已保存至products.csv")

六、合规与最佳实践

  1. 遵守亚马逊政策:禁止爬取非公开数据,避免高频请求。
  2. 数据更新策略:每小时同步一次价格/库存,每日更新评论数据。
  3. 多语言支持:结合翻译API(如Google Translate)实现本地化展示。

通过以上步骤,您可高效批量获取亚马逊商品信息,支持竞品监控、价格预警等业务场景。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046834/viewspace-3090009/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
专业研发电商平台API开放接口,搭建独立站系统,反向海淘代购系统十年+,https://o0b.cn/lafite。

注册时间:2025-06-20

  • 博文量
    231
  • 访问量
    258387