大家买猪肉时关心啥?爬取京东上2000条评论后发现了!
背景
最近在调研电商平台黑猪肉市场需求情况,电商平台有效的用户评论,可以用来辅助理解客户需求。
下面对网易未央的一款猪肉评论进行抓取,并做简单分析。
技术有限,大部分代码是参考这里的。
网页分析
京东商城的信息储存在JSON里面,我们首先要找到储存评论的JSON。
使用谷歌浏览器,点击检查—Network,刷新进入,搜索发现储存评论的网址。
第一个网页链接打开后,发现搜索错了,并非是评论储存的地方。我们继续往下找,如下图所示的便是商品评论储存的地方了。观察URL,最后一个数字是“1”,表示评论的页数。我们可以通过for循环,爬取需要的数据。
代码如下
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条的评论,通过图悦分析词评,删除没有意义的“评论内容”,“猪肉”等词语,生成的词云如下:
从中可以得出用户购买猪肉关注的点:味道、价格、送货速度、外观、健康、售后服务、服务稳定性。 这些指标在一定程度为生产经营提供了方向性参考,当然还需要进一步把这些指标拆解成具体的行动。
不足之处:获取的评论数量依然有限,同时只获取了一个产品的评论,用户代表性上较差。等学到了更多新技能后,再来优化:)。