You need to enable JavaScript to run this app. 使用Python爬取京东商品评论时翻页URL无变化,如何实现翻页抓取?
优惠活动
大模型
产品
解决方案
定价
更多

使用Python爬取京东商品评论时翻页URL无变化,如何实现翻页抓取?

京东评论翻页爬取解决方案

京东评论采用AJAX动态加载机制,切换分页时不会刷新页面URL,你需要直接请求京东的评论接口实现翻页,具体操作步骤如下:

  • 抓包获取评论接口规则
    打开浏览器控制台切换到「网络」标签,筛选Fetch/XHR请求,切换评论分页后可找到格式为https://club.jd.com/comment/productPageComments.action的接口,核心请求参数如下:
    • productId:商品ID,你目标页面的商品ID为7420374,可直接从原商品URL提取
    • page:评论页码,从0开始计数
    • pageSize:单页返回评论条数,默认值为10
    • score:评论筛选类型,0为全部评论,1为差评,2为中评,3为好评
  • 构造请求实现翻页
    循环修改请求参数中的page值即可获取不同分页的评论数据,请求时必须携带正确的请求头,否则会触发反爬拦截,必填请求头包括User-Agent、Referer(值设为目标商品页面地址即可)。
  • 示例代码片段
import requests
import time

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
    "Referer": "https://item.jd.com/7420374.html"
}
product_id = 7420374
# 爬取前5页评论示例
for page in range(5):
    api_url = f"https://club.jd.com/comment/productPageComments.action?productId={product_id}&score=0&sortType=5&page={page}&pageSize=10"
    resp = requests.get(api_url, headers=headers)
    if resp.status_code == 200:
        comment_data = resp.json()
        # 评论数据存储在comment_data['comments']字段中,可自行解析存储
        print(f"第{page+1}页评论获取成功,共{len(comment_data.get('comments', []))}条")
    else:
        print(f"第{page+1}页评论获取失败,状态码:{resp.status_code}")
    # 控制请求频率避免被封
    time.sleep(1.5)

注意:京东接口有严格的反爬机制,请求频率过高会返回403错误或者触发人机校验,建议请求间隔设置为1-2秒,也可按需搭配代理IP使用。

内容的提问来源于stack exchange,提问作者Daniel Clarke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 14:36:04