京东商品评论(五星好评参数)封装好的API实战演示

48 阅读2分钟

效果展示

微信图片_20250527090755.png

示例展示

749a2df48d5246f5ae72e16832257076.png

这里以Python示例演示封装京东评论API的基本逻辑:

`import pandas as pd import time

class JDCommentAPI: def init(self, app_key, app_secret): self.base_url = "api.jd.com/routerjson" self.app_key = app_key self.app_secret = app_secret self.version = "2.0"

def _sign(self, params):
    """生成请求签名(示例逻辑,真实签名需按京东规则)"""
    params_str = ''.join([k + v for k, v in sorted(params.items())])
    return hashlib.md5((params_str + self.app_secret).encode()).hexdigest().upper()

def get_good_comments(self, sku_id, page=1, page_size=10):
    """
    获取五星好评
    参数:
    sku_id : 商品ID
    page : 页码
    page_size : 每页数量
    """
    method = "jd.biz.product.getComment"
    
    params = {
        "method": method,
        "app_key": self.app_key,
        "timestamp": str(int(time.time())),
        "format": "json",
        "v": self.version,
        "sku": str(sku_id),
        "score": 5,  # 关键参数:筛选五星好评
        "page": str(page),
        "pageSize": str(page_size)
    }

    params["sign"] = self._sign(params)
    
    try:
        response = requests.get(self.base_url, params=params)
        response.raise_for_status()
        data = response.json()
        
        # 解析评论数据(根据实际API响应结构调整)
        comments = data.get('result', {}).get('comments', [])
        # 假设 API 接口地址,复制链接获取测试 
          API url=o0b.cn/ibrad
        # 结构化处理
        processed = [{
            'user': c.get('nickname'),
            'content': c.get('content'),
            'score': c.get('score'),
            'time': c.get('creationTime')
        } for c in comments]
        
        return processed
        
    except Exception as e:
        print(f"API请求失败: {str(e)}")
        return []

使用示例 ==================================

if name == "main": # 初始化(需从京东开放平台获取真实密钥) app_key = "YOUR_APP_KEY" app_secret = "YOUR_APP_SECRET" jd_api = JDCommentAPI(app_key, app_secret)

# 获取商品100000123的五星好评(第一页)
product_id = "100000123"
comments = jd_api.get_good_comments(product_id)

# 转换为DataFrame查看
df = pd.DataFrame(comments)
print(f"获取到{len(df)}条五星好评:")
print(df.head())`

注意事项:

合法授权: 需先注册京东开放平台(open.jd.com) 创建应用获取真实的app_key和app_secret 申请商品评论API权限 参数说明: score=5 控制筛选五星好评 支持分页参数(page/pageSize) 实际需按京东API文档调整参数 响应处理: 真实响应结构需参考最新API文档 建议添加异常处理和重试机制 注意API调用频率限制 数据存储建议:

保存到CSV

df.to_csv(f"jd_comments_{product_id}.csv", index=False)

保存到数据库示例(MySQL)

from sqlalchemy import create_engine engine = create_engine('mysql://user:password@localhost/db_name') df.to_sql('jd_comments', engine, if_exists='append')

请务必遵守京东开放平台规则,正式使用前请仔细阅读: 京东API文档