背景
最近在调研电商平台黑猪肉市场需求情况,电商平台有效的用户评论,可以用来辅助理解客户需求。
下面对网易未央的一款猪肉评论进行抓取,并做简单分析。
技术有限,大部分代码是参考这里的。
网页分析
京东商城的信息储存在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
|
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: contents = comment['content'] item = { '评论内容': contents, } string = str(item) fp.write(string + '\n') print('第%s页完成' %(i+1)) time.sleep(2) fp.close()
|
分析结论
因需要分析的是“评论内容”,所以未爬取“评论时间”,“用户”等信息。
爬取得完后,常规操作是利用Matplotlib、Pandas等进行数据分析及可视化,现在我们用最简单的词频统计工具分析,后面学会了这些工具,在完善。
此次爬取了200页,总共2000条的评论,通过图悦分析词评,删除没有意义的“评论内容”,“猪肉”等词语,生成的词云如下:
从中可以得出用户购买猪肉关注的点:味道、价格、送货速度、外观、健康、售后服务、服务稳定性。这些指标在一定程度为生产经营提供了方向性参考,当然还需要进一步把这些指标拆解成具体的行动。
不足之处:获取的评论数量依然有限,同时只获取了一个产品的评论,用户代表性上较差。等学到了更多新技能后,再来优化:)。