京東商品評論接口(以下簡稱「評論接口」)可用于獲取指定商品的用戶評價數(shù)據(jù),包括評論內(nèi)容、評分、用戶昵稱、時間戳等信息。該接口需通過京東開放平臺(JOS)申請權(quán)限并完成認證后調(diào)用。
接口基礎(chǔ)信息
接口地址?:https://api.jd.com/routerjson
請求方式?:POST
數(shù)據(jù)格式?:JSON
認證方式?:API Key + Signature
快速接入步驟
???
京東商品評論接口接入全攻略
1. 前期準(zhǔn)備工作
- 注冊京東開放平臺賬號,開啟電商API開發(fā)之旅
- 創(chuàng)建應(yīng)用,獲取專屬的
app_key
和app_secret
- 申請「商品評論接口」權(quán)限,解鎖數(shù)據(jù)獲取能力
2. 請求參數(shù)詳解
python
params = { |
"method": "jingdong.newware.verticalcomment.search", # 固定方法名,不可更改 |
"app_key": "YOUR_APP_KEY", # 應(yīng)用標(biāo)識,唯一識別 |
"access_token": "USER_ACCESS_TOKEN", # 用戶授權(quán)令牌,確保安全訪問 |
"timestamp": "2023-07-25 14:30:00", # 請求時間,精確到秒 |
"v": "2.0", # API版本,保持最新 |
"skuId": 123456789, # 商品SKUID,精準(zhǔn)定位商品 |
"page": 1, # 頁碼,實現(xiàn)分頁查詢 |
"pageSize": 10, # 每頁數(shù)量,控制數(shù)據(jù)量 |
"sign": "GENERATED_SIGNATURE" # 簽名參數(shù),確保請求安全 |
} |
3. Python代碼示例
簽名生成函數(shù)
python
import hashlib |
import time |
def generate_sign(params, app_secret): |
sorted_params = sorted(params.items()) |
query_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret |
return hashlib.md5(query_str.encode()).hexdigest().upper() |
調(diào)用接口示例
python
import requests |
import json |
def get_jd_comments(sku_id, page=1, page_size=10): |
app_key = "YOUR_APP_KEY" |
app_secret = "YOUR_APP_SECRET" |
base_params = { |
"method": "jingdong.newware.verticalcomment.search", |
"app_key": app_key, |
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), |
"v": "2.0", |
"skuId": sku_id, |
"page": page, |
"pageSize": page_size |
} |
# 生成簽名,確保請求安全 |
base_params["sign"] = generate_sign(base_params, app_secret) |
# 發(fā)送請求,獲取數(shù)據(jù) |
response = requests.post( |
url="https://api.jd.com/routerjson", |
data=base_params, |
headers={"Content-Type": "application/x-www-form-urlencoded"} |
) |
if response.status_code == 200: |
return response.json() |
else: |
return {"error": f"Request failed with status {response.status_code}"} |
# 示例調(diào)用,獲取商品評論 |
comments_data = get_jd_comments(sku_id=100000123456) |
print(json.dumps(comments_data, indent=2, ensure_ascii=False)) |
4. 響應(yīng)數(shù)據(jù)結(jié)構(gòu)
成功響應(yīng)示例
json
{ |
"code": 0, |
"message": "success", |
"data": { |
"total": 1500, |
"page": 1, |
"comments": [ |
{ |
"userNick": "jd_***def", |
"content": "商品質(zhì)量非常好,物流速度快", |
"score": 5, |
"commentTime": "2023-07-20 14:30:12", |
"replyCount": 2, |
"usefulVoteCount": 15 |
}, |
// 更多評論數(shù)據(jù)... |
] |
} |
} |
5. 關(guān)鍵技術(shù)點解析
簽名機制
京東API采用MD5簽名算法,確保請求安全:
- 按參數(shù)名稱升序排列,保證一致性
- 拼接為
app_secret+key1value1key2value2...+app_secret
格式 - 生成32位大寫MD5值,作為簽名
分頁處理
通過循環(huán)調(diào)用實現(xiàn)全量獲取,滿足大數(shù)據(jù)量需求:
python
def get_all_comments(sku_id): |
all_comments = [] |
page = 1 |
while True: |
result = get_jd_comments(sku_id, page=page) |
if not result.get("data") or not result["data"].get("comments"): |
break |
all_comments.extend(result["data"]["comments"]) |
page += 1 |
return all_comments |
6. 注意事項
- 頻率限制:普通應(yīng)用默認QPS≤50,需合理控制請求頻率
- 緩存策略:建議本地緩存高頻商品評論,提高訪問速度
- 異常處理:需處理
1004(簽名錯誤)
、1011(頻率超限)
等錯誤碼 - 字段說明:注意用戶昵稱等字段包含脫敏星號(*),保護用戶隱私
7. 總結(jié)
通過本文介紹的方法,開發(fā)者可快速接入京東商品評論接口,獲取寶貴用戶反饋。根據(jù)業(yè)務(wù)需求,建議:
- 添加自動重試機制,提高接口調(diào)用穩(wěn)定性
- 結(jié)合商品ID批量處理,提高數(shù)據(jù)獲取效率
- 實現(xiàn)定時增量同步,保持數(shù)據(jù)最新性
- 對評論文本進行情感分析等擴展處理,挖掘數(shù)據(jù)價值
可根據(jù)實際場景調(diào)整分頁策略和異常處理邏輯,建議參考京東官方API文檔獲取最新接口規(guī)范。希望這篇技術(shù)文章對您的開發(fā)工作有所幫助!如需進一步優(yōu)化或添加特定功能說明,請隨時告知,小編必回。?