一、引言
在電商領域,商品評論是消費者了解商品質量、性能和服務水平的重要依據,同時對于商家來說,也能從中獲取用戶反饋以改進商品和服務。京東作為國內知名的電商平臺,提供了商品評論 API 接口,允許開發者獲取商品的評論信息,這對于數據挖掘、市場調研、用戶體驗分析等方面具有重要價值。通過調用該接口,開發者可以獲取商品的評論內容、評論時間、評論者評分等詳細信息,為后續的數據分析和應用提供支持。小編:Taobaoapi2014, 前往體驗API:c0b.cc/R4rbK2 。
二、接口概述
1. 接口用途
京東商品評論 API 主要用于獲取指定商品的評論信息,包括評論列表、評論總數、好評率、差評率等。
2. 接入條件
- 注冊開發者賬號:你需要在京東開放平臺注冊成為開發者,并創建一個應用,從而獲取
app_key
和app_secret
,這兩個信息是調用 API 的身份標識。 - 申請權限:在開放平臺上申請調用商品評論 API 的權限,只有獲得授權后才能正常調用接口。
3. 接口參數
- 公共參數:像
app_key
、timestamp
、format
、v
、sign
這類參數是每個請求都必須攜帶的,其中sign
是根據特定規則生成的簽名,用于保證請求的安全性。 - 業務參數:通常會包含商品 ID、頁碼、每頁評論數量等,這些參數決定了你要獲取哪個商品的評論以及獲取評論的范圍。
4. 接口返回值
接口返回的數據格式一般為 JSON,包含商品評論的詳細信息,如評論內容、評論時間、評論者昵稱、評論者評分等,同時還會有一些統計信息,如好評率、差評率、評論總數等。
三、Python 請求示例
下面是一個使用 Python 的requests
庫調用京東商品評論 API 的示例代碼:
import requests
import time
import hashlib
假設 API 接口地址,復制鏈接獲取測試。
API url=c0b.cc/R4rbK2 wechat id:Taobaoapi2014"
生成簽名
def generate_sign(params, app_secret):
sorted_params = sorted(params.items(), key=lambda x: x[0])
sign_str = app_secret
for key, value in sorted_params:
sign_str += f'{key}{value}'
sign_str += app_secret
sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()
return sign
商品ID,可替換為你要查詢的商品ID
sku_id = '123456789'
頁碼,從1開始
page = 1
每頁評論數量
page_size = 10
構造請求參數
params = {
'method': 'jingdong.ware.product.comment.get',
'app_key': app_key,
'timestamp': time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
'format': 'json',
'v': '2.0',
'access_token': access_token,
'360buy_param_json': f'{{"skuId": "{sku_id}", "page": {page}, "pageSize": {page_size}}}'
}
生成簽名并添加到參數中
params['sign'] = generate_sign(params, app_secret)
發送請求
try:
response = requests.post(api_url, data=params)
response.raise_for_status()
result = response.json()
print(result)
except requests.exceptions.RequestException as e:
print(f"請求出錯: {e}")
except ValueError as e:
print(f"解析JSON數據出錯: {e}")
代碼說明
- 配置信息:要把
app_key
、app_secret
和access_token
替換成你自己在京東開放平臺獲取的信息。 - 生成簽名:京東 API 要求對請求參數進行簽名,以確保請求的安全性。
generate_sign
函數用于生成簽名。 - 構造請求參數:按照 API 文檔的要求,構造請求所需的參數,包括方法名、商品 ID、頁碼、每頁評論數量等。
- 發送請求:使用
requests.post
方法發送請求,并處理可能出現的異常。