全部
常见问题
产品动态
精选推荐

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

管理 管理 编辑 删除

一、API接入准备

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

  • 访问地址:亚马逊开放平台/万邦开放平台
  • 步骤: 创建企业账号(需企业邮箱)。 创建安全配置文件(Security Profile),获取Client ID和Client Secret。 提交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)

python
import requests
import hmac
import hashlib
from datetime import datetime
 
def 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条。

分页处理示例

python
def 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响应

示例解析函数

python
def 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示例)

python
import csv
 
def 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. 错误处理

python
if response.status_code == 429:
    retry_after = int(response.headers.get("Retry-After", 5))
    time.sleep(retry_after)
    continue
elif 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)实现本地化展示。

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


请登录后查看

OneLafite 最后编辑于2025-07-04 10:16:00

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
打赏
已打赏¥{{reward_price}}
24
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服