python爬取京东商品评论--jsonpath方法

直接送上代码

import urllib.request
import json
import jsonpath
import time
end_page = int(input('请输入爬取的结束页码:'))
for i in range(0,end_page+1):
    print('第%s页开始爬取------'%(i+1))
    url = 'https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv385&productId=52322470877&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&fold=1 '
    'https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv319&productId=10421264905&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1'
    url = url.format(i)
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36',
        'Referer': 'https://item.jd.com/52322470877.html'
    }

    request = urllib.request.Request(url=url,headers=headers)
    content = urllib.request.urlopen(request).read().decode('gbk')
    content = content.strip('fetchJSON_comment98vv385();')
    obj = json.loads(content)
    comments = obj['comments']
    fp = open('京东.txt','a',encoding='utf8')
    for comment in comments:
        #评论时间
        creationTime = comment['creationTime']
        #评论人
        nickname = comment['nickname']
        #评论内容
        contents = comment['content']
        #评论图片
        if 'images' in comment:
            img_src = jsonpath.jsonpath(comment,'$..images[*].imgUrl')
            img_src = 'https:' + str(img_src).strip('[]')
        else:
            img_src = '无图片'
        item = {
            '评论时间': creationTime,
            '用户': nickname,
            '评论内容': contents,
            '图片地址': img_src,
        }
        string = str(item)
        fp.write(string + '\n')
    print('第%s页完成----------'%(i+1))
    time.sleep(4)
    fp.close()

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值