大家买猪肉时关心啥?爬取京东上2000条评论后发现了!

背景

最近在调研电商平台黑猪肉市场需求情况,电商平台有效的用户评论,可以用来辅助理解客户需求。

下面对网易未央的一款猪肉评论进行抓取,并做简单分析。

技术有限,大部分代码是参考这里的。

网页分析

京东商城的信息储存在JSON里面,我们首先要找到储存评论的JSON。

使用谷歌浏览器,点击检查—Network,刷新进入,搜索发现储存评论的网址。

image-20201117190100685

第一个网页链接打开后,发现搜索错了,并非是评论储存的地方。我们继续往下找,如下图所示的便是商品评论储存的地方了。观察URL,最后一个数字是“1”,表示评论的页数。我们可以通过for循环,爬取需要的数据。

image-20201117190532476

代码如下

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  

|

# -*- coding:utf-8 -*-  
  
# 代码参考链接:https://blog.csdn.net/Q_M_X_D_D_/article/details/104662721  
  
import urllib.request  
import json  
import time  
import xlwt  
   
# 爬取评论信息  
   
page = int(input('请输入爬取的结束页码:'))  
for i in range(0,page):  
    print('第%s页开始爬取'%(i+1))  
    url = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=5461917&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1'  
    url = url.format(i)  
    headers = {  
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',  
        'Referer': 'https://item.jd.com/'  
    }  
   
    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('京东.text','a',encoding='utf8')  
    for comment in comments:  
        #评论时间  
        # creationTime = comment['creationTime']  
        #评论人  
        # nickname = comment['nickname']  
        #评论内容  
        contents = comment['content']  
        item = {  
            # '评论时间': creationTime,  
            # '用户': nickname,  
            '评论内容': contents,  
        }  
        string = str(item)  
        fp.write(string + '\n')  
    print('第%s页完成' %(i+1))  
    time.sleep(2)  
    fp.close()  
  

—|—

分析结论

因需要分析的是“评论内容”,所以未爬取“评论时间”,“用户”等信息。

爬取得完后,常规操作是利用Matplotlib、Pandas等进行数据分析及可视化,现在我们用最简单的词频统计工具分析,后面学会了这些工具,在完善。

此次爬取了200页,总共2000条的评论,通过图悦分析词评,删除没有意义的“评论内容”,“猪肉”等词语,生成的词云如下:

image-20201117191733693

从中可以得出用户购买猪肉关注的点:味道、价格、送货速度、外观、健康、售后服务、服务稳定性。 这些指标在一定程度为生产经营提供了方向性参考,当然还需要进一步把这些指标拆解成具体的行动。

不足之处:获取的评论数量依然有限,同时只获取了一个产品的评论,用户代表性上较差。等学到了更多新技能后,再来优化:)。