JD京东爬虫-商品评论爬虫-----附源码

JD京东爬虫-商品评论爬虫


附源码

本教程适合初学者。

分析开始---------------
打开京东商品链接,打开抓包工具(加载网页后打开抓包工具,发现没有抓到数据包,刷新网页就行),这边直接筛选js了,就不用看那么多内容。然后在响应数据中看看有没有想要的评论数据。在这里插入图片描述
然后双击抓到的数据包,或者复制url进入浏览器。在这里插入图片描述
打开后发现是json数据,看到这里是不是头皮发麻,哈哈哈,不要慌!管它呢么多,咱们要的是文字的评论数据,直接使用正则就好了。有时不得不说,正则真的是很好用的。在这里插入图片描述
但是细心地同志会发现这个网页只有一部分的评论数据,这个时候怎么办呢,我们可以看看url,发现他携带了很多的参数在这里插入图片描述
通过尝试,发现“score=0: 是所有评论, score=1是差评,score=2是中评,score=3是好评,page=0:代表的是评论的页数,”修改后访问url发现,的确如此!!!在这里插入图片描述
分析完毕!
通过分析我们需要,简单的对url进行动态变化再加上,基础爬虫和正则处理就可以拿到想要的数据了。

代码开始:

导包———>>>>>>>这边只需要导入两个包:分别对应爬虫正则
在这里插入图片描述
再对url进行动态处理,通过for循环来控制评论页数。在这里插入图片描述
然后进行最基础的爬虫操作。------>>>>>携带请求头通过requests发起get请求在这里插入图片描述
再进行正则匹配操作就好。------>>>正则表达式这边是向别人学习的在这里插入图片描述
评论获取成功!!
在这里插入图片描述

注意----->>>>初学者建议每一步都print一下,看一下动态组成的url是否可以手动访问,还可以看看正则处理前是否获取到数据。

源码如下:

# -*- endoding: utf-8 -*-
# @ModuleName:京东
# @Function(功能):
# @Author : 苏穆冰白月晨
# @Time : 2021/3/7 0:56
import requests
import re

'''
https://club.jd.com/comment/productPageComments.action?
callback=fetchJSON_comment98
&productId=1233203
&score=0
&sortType=5
&page=1
&pageSize=10
&isShadowSku=0
&fold=1
'''


def main():
    first = 1
    for i in range(1, 50):
        url = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=1233203&score=0&sortType=5&pageSize=10&isShadowSku=0&fold=1&page='
        finalurl = url + str(i) + '&pageSize=10&isShadowSku=0&fold=1'

        header = {
            'User-Agent': "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0",
                  }
        data = requests.get(url=finalurl,headers=header).text
        remodel_comment = re.compile(r'\"content\":\"([^"]+)\",\"(?:creationTime|vcontent)\"')  # 匹配评论
        comment_list = remodel_comment.findall(data)

        for i in comment_list:
            print(first,":",i)
            first += 1

main()
  • 13
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 31
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值