引言
亞馬遜作為全球知名的電子商務(wù)巨頭,擁有海量的商品資源和龐大的用戶群體。對(duì)于開發(fā)者、數(shù)據(jù)分析師、電商從業(yè)者以及市場(chǎng)調(diào)研人員來說,獲取亞馬遜商品的詳細(xì)信息具有重要意義。通過亞馬遜商品詳情 API 接口,能夠方便快捷地獲取商品的各種數(shù)據(jù),為市場(chǎng)分析、競(jìng)品研究、價(jià)格監(jiān)控、電商業(yè)務(wù)優(yōu)化等提供有力支持。小編:Taobaoapi2014, 前往體驗(yàn)API:c0b.cc/R4rbK2 。
API概述
- 請(qǐng)求方式:通常基于 HTTP/HTTPS 協(xié)議,支持 GET 和 POST 請(qǐng)求方式,具體根據(jù)接口設(shè)計(jì)和參數(shù)要求選擇。一般參數(shù)少、數(shù)據(jù)量小的請(qǐng)求用 GET 方式,復(fù)雜參數(shù)或大量數(shù)據(jù)傳輸用 POST 方式。
- 市場(chǎng)代碼:用于指定目標(biāo)市場(chǎng)區(qū)域,如 “US” 代表美國(guó)市場(chǎng),“UK” 代表英國(guó)市場(chǎng)等,不同市場(chǎng)商品信息有差異。
- 其他可選參數(shù):可能包括響應(yīng)數(shù)據(jù)格式(如 JSON、XML),是否獲取商品評(píng)論、變體信息等附加數(shù)據(jù)的標(biāo)志參數(shù)。
- 返回信息:包括商品基本信息(標(biāo)題、品牌、制造商、描述、圖片鏈接等)、價(jià)格信息(售價(jià)、原價(jià)、不同賣家價(jià)格范圍、貨幣單位)、庫(kù)存信息(庫(kù)存數(shù)量、有貨狀態(tài)標(biāo)識(shí))、商品評(píng)論與評(píng)分(平均評(píng)分、總評(píng)論數(shù),部分接口可能返回詳細(xì)評(píng)論內(nèi)容和評(píng)論者信息)、排名信息(商品在所屬類目下的銷售排名)。
Python 請(qǐng)求示例
以下是一個(gè)使用 Python 的 requests
庫(kù)和 AWS Signature V4 簽名機(jī)制調(diào)用亞馬遜商品詳情 API 的示例,以獲取指定 ASIN 商品的信息:
import requests
import datetime
import hashlib import hmac
import base64
# 假設(shè) API 接口地址,復(fù)制鏈接獲取測(cè)試。
API url=c0b.cc/R4rbK2 wechat id:Taobaoapi2014"
# 商品的ASIN asin = 'B00P8XQPY4'
# 亞馬遜商品詳情API的端點(diǎn) endpoint = 'webservices.amazon.com'
# 區(qū)域,這里以美國(guó)為例 region = 'us-east-1'
# 服務(wù)名稱 service = 'ProductAdvertisingAPI'
# 構(gòu)建請(qǐng)求參數(shù) params = { 'AWSAccessKeyId': access_key, 'AssociateTag': 'YOUR_ASSOCIATE_TAG',
# 你的關(guān)聯(lián)標(biāo)簽 'ItemId': asin, 'Operation': 'ItemLookup', 'ResponseGroup': 'ItemAttributes,Offers,Images', 'Timestamp': datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ') } # 對(duì)參數(shù)進(jìn)行排序 sorted_params = sorted(params.items())
# 構(gòu)建查詢字符串 query = '&'.join([f'{k}={v}' for k, v in sorted_params])
# 構(gòu)建規(guī)范請(qǐng)求 canonical_request = f"GET\n/{query}\n\n"
# 構(gòu)建字符串進(jìn)行簽名 string_to_sign = f"AWS4-HMAC-SHA256\n{params['Timestamp']}\n{region}/{service}/aws4_request\n{hashlib.sha256(canonical_request.encode()).hexdigest()}"
# 計(jì)算簽名 signature = hmac.new(('AWS4' + secret_key).encode(), string_to_sign.encode(), hashlib.sha256).digest() signature_b64 = base64.b64encode(signature).decode()
# 構(gòu)建請(qǐng)求URL url = f"http://{endpoint}/onca/xml?{query}&Signature={signature_b64}"
# 發(fā)送請(qǐng)求 response = requests.get(url)
# 解析響應(yīng) if response.status_code == 200: print(response.text) else: print(f"請(qǐng)求失敗,狀態(tài)碼:{response.status_code},原因:{response.reason}")
在使用上述代碼時(shí),需要將 YOUR_ACCESS_KEY
、YOUR_SECRET_KEY
和 YOUR_ASSOCIATE_TAG
替換為你在亞馬遜開發(fā)者中心獲取的實(shí)際訪問密鑰、密鑰密鑰和關(guān)聯(lián)標(biāo)簽。同時(shí),根據(jù)需要修改 asin
以查詢不同商品的信息。