京东商品评论分析(爬虫+分词+词云图)

项目背景:

本文通过抓取京东某笔记本的评论数据,简单从几个维度进行分析,并制作用户评论的词云图。

爬取数据:

商品链接

通过对商品评论页面进行探索,发现评论数据是通过发送请求,然后从数据库调取此商品的评论数据,返回的评论数据是Json格式。可以点击下一页,抓到发送请求的链接:
https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100012443350&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0&rid=0&fold=1

通过对以上链接进行分析,几个参数代表的含义:
**productId:**商品的ID,本项目就抓一个商品,ID不用变更。
**score:**评论类型(好:3、中:2、差:1、所有:0)
**sortType:**排序类型(推荐:5、时间:6)
**page:**第几页,京东只能抓100页的数据,不能抓到全部评论数据,就拿这一部分数据来探索下吧。
**pageSize:**每页显示多少条记录(默认10)

虽然限制只能抓取100页评论数据,但抓取过程还是很快的,没有遇到封IP的现象。
如果需要在京东上抓大量的其它数据,一般还是需要找代理IP的,不然抓不到几页就会被限。

本项目数据量比较小,抓到的数据直接存到csv文件里,再进行后续的进一步分析。

#爬取数据
import numpy as np
import pandas as pd
import requests
import json
#构建爬虫函数,这个爬取过程还是比较简单的。
def get_comments():
    #评论页是从数据库调用的,可以直接从下面这个链接,返回json格式评论数据
    url0=u'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100012443350&score=0&sortType=5&page={0}&pageSize=10&isShadowSku=0&rid=0&fold=1'
    #模拟浏览器访问
    header={
   'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36'}
    
    for i in range(100):
        url=url0.format(i)
        response=requests.get(url,headers=header)
        #返回的json不是标准格式,把头/尾的字符去除
        json_response=response.text.replace('fetchJSON_comment98(','').replace(');','')
        #json转换为字典格式,读取评论数据
        json_response=json.loads(json_response)['comments']
        #提取出[用户id,用户名,购买时间,评价时间,商品Id,商品规格信息,用户评分,用户评论/追评]
        columns=['id','nickname','referenceTime','creationTime','referenceId','productColor','productSize','score','content']
        end_columns=['userId','userName','buyTime','commentTime','productId','productColor','productSize','score','comment','afterComment']
        #如下循环分别提取数据
        for j in range(10):
            userid=json_response[j][columns[0]]
            username=json_response[j][columns[1]]
            buytime=json_response[j
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值