多语言采集京东商品评论的API解决方案
一、京东官方API接口
京东开放平台提供商品评论API接口 jingdong.comments.product.query
,支持获取商品评论详情、评分统计及用户信息,返回JSON格式数据。核心参数如下:
- 必填参数 :
app_key
(应用ID)、secret_key
(密钥)、sku_id
(商品SKU)、page
(页码)、page_size
(每页数量,最大100) - 可选参数 :
score
(评分筛选,1-5)、sort_type
(排序方式,1=时间倒序,2=点赞数降序)、lang
(语言,支持中/英/西/阿等12种) - 返回字段:评论ID、内容、时间、评分、用户昵称、省份、会员等级,以及评论总数、好评率、差评率等统计指标。
二、多语言支持方案
-
语言参数配置
在请求中添加
lang
参数,例如:csharppython params = { "app_key": "YOUR_APP_KEY", "method": "jingdong.comments.product.query", "sku_id": "123456789", "page": 1, "page_size": 20, "lang": "en" # 支持en/zh/es/ar等 }
返回数据将自动转换为指定语言版本,如英文商品标题、用户评论等。
-
混合翻译模式
对未直接支持的小语种,可结合第三方翻译API(如阿里云翻译)对英文数据进行二次翻译,实现全语言覆盖。
三、Python代码示例
python
python
import requests
import hashlib
import time
# 配置参数
APP_KEY = "YOUR_APP_KEY"
SECRET_KEY = "YOUR_SECRET_KEY"
SKU_ID = "123456789"
LANG = "en" # 多语言配置
# 生成签名
def generate_sign(params, secret_key):
sorted_params = sorted(params.items())
sign_str = f"{secret_key}{''.join([f'{k}{v}' for k, v in sorted_params])}{secret_key}"
return hashlib.md5(sign_str.encode()).hexdigest().upper()
# 构造请求
url = "https://api.jd.com/routerjson"
params = {
"app_key": APP_KEY,
"method": "jingdong.comments.product.query",
"sku_id": SKU_ID,
"page": 1,
"page_size": 10,
"lang": LANG,
"timestamp": int(time.time() * 1000)
}
params["sign"] = generate_sign(params, SECRET_KEY)
# 发送请求
response = requests.get(url, params=params)
data = response.json()
# 解析评论数据
if data.get("code") == 0:
comments = data["comments"]
for comment in comments:
print({
"id": comment["guid"],
"content": comment["content"],
"rating": comment["score"],
"date": comment["creation_time"],
"user": comment["user_nickname"]
})
else:
print(f"Error: {data.get('msg')}")
四、权限与认证
-
申请流程
- 注册京东开放平台账号,创建应用并申请"商品评论数据权限"。
- 审核通过后获取
app_key
和secret_key
,用于API调用和签名验证。
-
签名规则
所有请求需生成MD5签名,确保数据安全性。签名规则为:
MD5(secret_key + 参数拼接字符串 + secret_key)
。
五、数据清洗与存储
- 缺失值处理 :使用
pandas
或SimpleImputer
填充评分、评论内容等字段。 - 格式标准化:将时间戳转换为可读格式,统一评分类型为浮点数。
- 存储方案:建议使用MySQL数据库存储,表结构包含商品ID、评论ID、内容、评分、语言、时间等字段。
六、合规与反爬策略
- 频率限制:单日调用上限10万次,QPS默认50次/秒,需合理设置请求间隔。
- 法律合规:遵守《个人信息保护法》和GDPR,仅采集公开评论数据,避免用户隐私泄露。
- 反爬对抗:使用住宅代理IP池,随机化请求间隔(10-30秒),避免高频访问触发风控。
通过上述方案,可实现京东商品评论的多语言采集,输出结构化JSON数据,适用于竞品分析、用户反馈研究、本地化适配等场景。