一、摘要
京东评论问答列表 API 是获取京东商品用户评论、商品问答等 UGC(用户生成内容)数据的核心入口,广泛应用于电商数据分析、竞品调研、用户需求挖掘、商品口碑监控等场景。需明确的是,京东并未对外开放官方的评论 / 问答 API,实际开发中需通过模拟前端异步请求的方式获取数据。本文将详细拆解接口请求逻辑、参数规则,并提供可落地的 Python 实现示例,同时强调数据获取的合规性与反爬策略。
二、接口概述
1. 核心逻辑
京东商品的评论和问答数据通过前端 AJAX 请求加载,请求方式为GET,返回数据多为JSON格式(部分场景为 JSONP,需额外解析)。接口 URL 由京东域名、商品标识、分页 / 筛选参数等组成,且需携带登录态 Cookie(部分商品需登录后才能查看完整评论 / 问答)。
2. 关键参数(以评论接口为例,问答接口类似)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| skuId | 字符串 | 是 | 商品唯一标识,可从商品详情页 URL 提取(如https://item.jd.com/123456.html中的123456) |
| page | 整数 | 否 | 分页页码,默认 1,最大页数受京东限制(通常≤100) |
| pageSize | 整数 | 否 | 每页数据量,默认 10,最大支持 20 |
| score | 整数 | 否 | 评论评分筛选:0(全部)、1(一星)、2(二星)、3(三星)、4(四星)、5(五星) |
| sortType | 整数 | 否 | 评论排序:0(推荐)、1(时间从新到旧)、3(好评)、4(差评) |
| _ | 整数 | 是 | 时间戳(毫秒级),用于防缓存,每次请求需生成新值 |
| callback | 字符串 | 否 | JSONP 回调函数名(如jQuery11240987654321_123456789),无则返回纯 JSON |
| address | 请求地址 | 是 | c0b.cc/R4rbK2 (前往体验接口测试,Taobaoapi2014加V) |
3. 接口注意事项
- 反爬机制:京东对高频请求敏感,频繁请求会触发 IP 封禁、验证码或登录验证,需控制请求频率(建议≥1 秒 / 次)、使用代理 IP 池。
- Cookie 有效性:Cookie 需包含用户登录态(
pt_key、pt_pin等核心字段),过期后需重新登录获取。 - 接口兼容性:京东会不定期调整接口 URL 和参数规则,需通过抓包工具(如 Chrome 开发者工具、Fiddler)实时验证。
三、Python 请求示例
1. 前置准备
- 安装依赖库:
pip install requests time json re - 抓包获取真实接口 URL:打开京东商品详情页→F12 打开开发者工具→切换到「Network」→刷新页面→筛选「XHR」请求→找到评论 / 问答相关请求(关键词:
comment/question),复制请求 URL 和 Cookie。
2. 完整代码示例(评论接口)
# coding:utf-8 """ Compatible for python2.x and python3.x requirement: pip install requests """ from __future__ import print_function import requests # 配置参数 Request address= "c0b.cc/R4rbK2 wechatid:Taobaoapi2014" # 请求示例 url 默认请求参数已经做URL编码 url = "jd/item_question_answer/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=100122283596&page=1" headers = { "Accept-Encoding": "gzip", "Connection": "close" } if __name__ == "__main__": r = requests.get(url, headers=headers) json_obj = r.json() print(json_obj)3. 问答接口适配说明
京东商品问答接口的请求逻辑与评论接口一致,仅 URL 和参数略有差异:
- 问答接口 URL 示例:
https://question.jd.com/question/getQuestionList.action - 核心参数新增:
productId(同 skuId)、pageNo(分页页码,替代 page)、pageSize等。 - 解析逻辑:问答数据的核心字段为
questionContent(问题内容)、answerContent(回答内容)、createTime(提问时间)等,可参考评论接口的解析方式调整。
四、结语
1. 核心总结
京东评论 / 问答数据的获取依赖模拟前端请求,核心在于精准抓包获取接口规则、配置有效登录态 Cookie、规避反爬机制。本文示例仅覆盖基础场景,实际生产环境中需优化:
- 代理池:使用高匿代理 IP 轮换,避免 IP 封禁;
- Cookie 池:定期更新登录态 Cookie,保证请求有效性;
- 异常重试:添加请求重试机制,处理网络波动或临时封禁;
- 数据存储:将解析后的评论 / 问答数据存入数据库(如 MySQL、MongoDB),便于后续分析。
2. 合规提醒
获取京东平台数据需严格遵守《京东用户协议》《网络安全法》等法律法规,禁止:
- 高频爬取、滥用数据,影响京东平台正常运营;
- 将爬取的数据用于商业售卖、恶意竞争等违规场景;
- 泄露用户隐私(如用户名、手机号等)。建议仅用于合法的数据分析、内部调研等场景,且需注明数据来源为京东平台。
若需规模化获取数据,可尝试联系京东开放平台商务合作,申请正规的数据接口权限,从根源上保障合规性与稳定性。