首页 > 大数据 > 数据分析 > 亚马逊商品详情API批量获取商品信息指南
Client ID和
Client Secret。Access Key ID和
Secret Key(用于签名请求)。Refresh Token(用于获取访问令牌)。请求示例(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()
请求参数:
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
示例解析函数:
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
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"]])
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密钥无效或权限不足")
| 服务 | 优点 | 适用场景 |
|---|---|---|
| Product Advertising API | 官方接口,数据权威 | 精准竞品分析 |
| Pangolin Scrape API | 无需审批,支持异步回调 | 快速搭建监控系统 |
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")
通过以上步骤,您可高效批量获取亚马逊商品信息,支持竞品监控、价格预警等业务场景。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046834/viewspace-3090009/ ,如需转载,请注明出处,否则将追究法律责任。