全部
常见问题
产品动态
精选推荐

手把手教你抓取京东商品评论:API 接口解析与 Python 实战

管理 管理 编辑 删除

一、引言

京东商品评论是用户对商品的真实反馈,包含了大量有价值的信息,如产品质量、使用体验、服务评价等。通过分析商品评论,可以帮助企业了解用户需求、优化产品,也可以为消费者提供参考。由于京东没有公开官方评论 API,我们需要通过逆向工程分析网页请求来获取这些数据。

二、接口概述

京东商品评论数据主要通过以下接口提供:

  1. 商品评论列表接口 请求方式: GET 主要参数: productId: 商品 ID(SKU) score: 评分筛选(0 - 全部,1 - 差评,2 - 中评,3 - 好评) sortType: 排序方式(5 - 时间排序,6 - 推荐排序) page: 页码(从 0 开始) pageSize: 每页数量(默认 10,最大 100) isShadowSku: 是否为影子 SKU(0 - 否,1 - 是) rid: 晒单 ID(获取特定晒单的评论时使用) fold: 是否折叠评论(1 - 折叠,0 - 不折叠)
  2. 接口返回格式 数据格式: JSON 主要字段: comments: 评论列表 maxPage: 最大页数 productCommentSummary: 评论摘要(好评率、差评率等) hotCommentTagStatistics: 热门评论标签

三、Python 请求示例

下面是使用 Python 实现京东商品评论抓取的代码示例:
python

import requests
import json
import time
import random
from fake_useragent import UserAgent
# 使用示例
# 假设 API 封装接口地址 
API url=c0b.cc/R4rbK2  wechat id:Taobaoapi2014
if __name__ == "__main__":
    spider = JDCommentSpider()
    product_id = "100012084348"  # iPhone 12 示例SKU
    
    # 爬取第一页评论
    first_page_comments = spider.get_product_comments(product_id, page=0)
    if first_page_comments:
        print(f"第一页评论数量: {len(first_page_comments.get('comments', []))}")
        print(f"好评率: {first_page_comments.get('productCommentSummary', {}).get('goodRate')}")
    
    # 爬取商品的前3页评论
    all_comments = spider.crawl_all_comments(product_id, max_pages=3)
    print(f"总共爬取 {len(all_comments['comments'])} 条评论")
    
    # 保存评论数据到JSON文件
    with open(f"jd_comments_{product_id}.json", "w", encoding="utf-8") as f:
        json.dump(all_comments, f, ensure_ascii=False, indent=2)
    
    print("评论数据已保存到文件")

四、注意事项

  1. 数据解析注意点 评论内容可能包含 HTML 标签,需要进行清洗 某些字段(如颜色、尺寸)可能为空,需要处理空值 接口返回格式可能随时变化,需要定期维护解析逻辑
  2. 进阶优化 使用异步请求库(如 aiohttp)提高爬取效率 添加数据存储(如 MySQL、MongoDB 或 CSV) 实现增量爬取(只抓取新评论)

通过上述方法,你可以获取京东商品的评论数据。实际应用中,建议根据具体需求调整爬取策略,并添加更完善的异常处理和数据存储逻辑。


请登录后查看

用户19970108018 最后编辑于2025-05-14 16:46:21

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
99
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服