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

亚马逊商品详情接口高效获取指南

管理 管理 编辑 删除

在电商运营和数据分析中,获取亚马逊商品详情数据对于市场研究、竞品分析、价格监控等场景至关重要。本文将详细介绍如何高效地使用亚马逊商品详情API接口,并通过Python代码实现数据的获取和解析。

一、亚马逊商品详情API接口简介

亚马逊商品详情API接口(如 Product Advertising API 或第三方服务如 Pangolin Scrape API)允许开发者通过编程方式获取商品的详细信息。这些信息包括但不限于:

  • 商品基本信息:标题、描述、图片链接。
  • 购买相关属性:价格、库存状态、发货信息。
  • 用户反馈:评价内容、评分、评论数量。
  • 分类信息:商品所属分类。
  • 促销信息:优惠券、满减活动、限时折扣。

二、前期准备

(一)注册亚马逊开发者账号

访问亚马逊开发者门户,注册一个开发者账号。这是使用亚马逊API接口的必要前提。

(二)创建应用并获取API密钥

在开发者门户中创建一个新的应用或项目,填写必要的信息后,系统会生成API密钥(如API Key、Secret Key)和访问令牌(如Access Token),这些凭证将用于身份验证。

(三)安装Python环境和依赖库

确保已安装Python,并通过以下命令安装 requests 库,用于发送HTTP请求:

bash

pip install requests

三、构建API请求

(一)选择API端点

根据需求选择合适的API端点。例如:

  • ItemLookup:根据ASIN或ISBN查找商品。
  • ItemSearch:根据关键词进行搜索。

(二)构建请求参数

构建API请求时,需要设置必要的请求参数,如API密钥、访问令牌、查询关键词或产品ID等。以下是一个基于亚马逊官方API的示例:

示例:获取商品详情

Python

import requests
from datetime import datetime
import hmac
import hashlib
from urllib.parse import urlencode

def get_amazon_product_details(asin, access_key, secret_key, marketplace="US"):
    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)
    
    if response.status_code == 200:
        return response.json()
    else:
        raise Exception(f"请求失败,错误码:{response.status_code}")
        

(三)发送请求并解析响应

发送请求后,接收并解析API响应。响应通常为JSON或XML格式。以下是一个解析示例:

示例:解析商品详情

Python复制


def parse_product_details(response):
    product_info = {
        "title": response.get("ItemAttributes", {}).get("Title", ""),
        "price": response.get("Offers", {}).get("Offer", {}).get("OfferListing", {}).get("Price", ""),
        "image_url": response.get("SmallImage", {}).get("URL", ""),
        "rating": response.get("CustomerReviews", {}).get("AverageRating", ""),
        "reviews_count": response.get("CustomerReviews", {}).get("TotalReviews", "")
    }
    return product_info
    

四、使用第三方API服务

除了亚马逊官方API,还可以使用第三方服务如 Pangolin Scrape API,它提供了更简单易用的接口。

(一)配置Pangolin Scrape API

  1. 注册Pangolin账户并获取API密钥。
  2. 安装Pangolin提供的SDK(如果有的话)。

(二)示例代码

以下是一个使用Pangolin Scrape API获取商品详情的示例:

Python

import requests

API_KEY = "YOUR_PANGOLIN_API_KEY"
API_ENDPOINT = "https://api.pangolinfo.com/v1/amazon/product"
HEADERS = {
    "Authorization": f"Bearer {API_KEY}"
}

def get_pangolin_product_details(asin, marketplace="US"):
    params = {
        "asin": asin,
        "marketplace": marketplace,
        "fields": "title,price,rating,images,description,feature_bullets,reviews_total"
    }
    response = requests.get(API_ENDPOINT, headers=HEADERS, params=params)
    
    if response.status_code == 200:
        return response.json()
    else:
        raise Exception(f"请求失败,错误码:{response.status_code}")

# 示例调用
product_data = get_pangolin_product_details("B08N5WRWNW", "US")
print(product_data)

五、数据存储与分析

获取到的商品详情数据可以存储到本地文件或数据库中,以便后续分析。以下是一个将数据保存到CSV文件的示例:

Python

import csv

def save_to_csv(product_data, filename="amazon_products.csv"):
    fieldnames = ['asin', 'title', 'price', 'currency', 'rating', 'reviews_total', 'url']
    row_data = {
        'asin': product_data.get('asin'),
        'title': product_data.get('title'),
        'price': product_data.get('price', {}).get('current_price'),
        'currency': product_data.get('price', {}).get('currency'),
        'rating': product_data.get('rating'),
        'reviews_total': product_data.get('reviews_total'),
        'url': product_data.get('url')
    }
    
    try:
        with open(filename, 'r', newline='', encoding='utf-8') as f:
            pass  # 文件已存在
        write_header = False
    except FileNotFoundError:
        write_header = True
    
    with open(filename, 'a', newline='', encoding='utf-8') as csvfile:
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        if write_header:
            writer.writeheader()
        writer.writerow(row_data)
    print(f"数据已追加到 {filename}")
    

六、注意事项

(一)合规性

在使用亚马逊API接口时,必须严格遵守亚马逊的使用条款和相关法律法规。未经授权的使用可能导致账号被封禁。

(二)数据质量

获取到的数据可能存在质量问题,建议进行数据清洗和验证。

(三)性能优化

合理安排请求频率,避免触发亚马逊的反爬机制。如果需要高频请求,建议使用代理IP或分布式爬虫。

(四)错误处理

在代码中添加适当的错误处理逻辑,以便在请求失败时能够及时发现并解决问题。

七、总结

通过本文的介绍,您应该已经掌握了如何高效地使用亚马逊商品详情API接口,并通过Python代码实现数据的获取和解析。无论是进行市场研究、竞品分析还是价格监控,准确及时的商品数据都是成功的关键。希望本文能够帮助您更好地利用亚马逊API接口,为您的电商运营和数据分析提供支持。

如遇任何疑问或有进一步的需求,请随时与我私信或者评论联系。

请登录后查看

Jelena技术达人 最后编辑于2025-06-16 17:54:32

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

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.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}}
41
{{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客服