Python实现爬取并分析电商评论


Posted in Python onJune 19, 2020

现如今各种APP、微信订阅号、微博、购物网站等网站都允许用户发表一些个人看法、意见、态度、评价、立场等信息。针对这些数据,我们可以利用情感分析技术对其进行分析,总结出大量的有价值信息。例如对商品评论的分析,可以了解用户对商品的满意度,进而改进产品;通过对一个人分布内容的分析,了解他的情绪变化,哪种情绪多,哪种情绪少,进而分析他的性格。怎样知道哪些评论是正面的,哪些评论是负面的呢?正面评价的概率是多少呢?

利用python的第三方模块SnowNLP可以实现对评论内容的情感分析预测,SnowNLP可以方便的处理中文文本内容,如中文分词、词性标注、情感分析、文本分类、提取文本关键词、文本相似度计算等。大概大于等于0.5,可以判断为正面评价——积极情感,小于0.5,可以判断为负面评价——消极情感。

下面分析一组京东上某产品的评论数据并生成折线图:

部分源数据:

Python实现爬取并分析电商评论

实现过程:

#加载情感分析模块
from snownlp import SnowNLP
#from snownlp import sentiment
import pandas as pd
import matplotlib.pyplot as plt
#导入样例数据
aa ='F:\\python入门\\python编程锦囊\\Code(实例源码及使用说明)\\Code(实例源码及使用说明)\\Code(实例源码及使用说明)\\09\\data\\京东评论.xls'
#读取文本数据
df=pd.read_excel(aa)
#提取所有数据
df1=df.iloc[:,3]
print('将提取的数据打印出来:\n',df1)
#遍历每条评论进行预测
values=[SnowNLP(i).sentiments for i in df1]
#输出积极的概率,大于0.5积极的,小于0.5消极的
#myval保存预测值
myval=[]
good=0
bad=0
for i in values:
  if (i>=0.5):
    myval.append("正面")
    good=good+1
  else:
    myval.append("负面")
    bad=bad+1
df['预测值']=values
df['评价类别']=myval
#将结果输出到Excel
df.to_excel('F:\\python入门\\python编程锦囊\\Code(实例源码及使用说明)\\Code(实例源码及使用说明)\\Code(实例源码及使用说明)\\09\\data\\result2.xls')
rate=good/(good+bad)
print('好评率','%.f%%' % (rate * 100)) #格式化为百分比
#作图
y=values
plt.rc('font', family='SimHei', size=10)
plt.plot(y, marker='o', mec='r', mfc='w',label=u'评价分值')
plt.xlabel('用户')
plt.ylabel('评价分值')
# 让图例生效
plt.legend()
#添加标题
plt.title('京东评论情感分析',family='SimHei',size=14,color='blue')
plt.show()

Excel结果:

Python实现爬取并分析电商评论

作图的结果:

Python实现爬取并分析电商评论

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 Python
使用python搭建Django应用程序步骤及版本冲突问题解决
Nov 19 Python
python实现数值积分的Simpson方法实例分析
Jun 05 Python
python如何通过protobuf实现rpc
Mar 06 Python
实例讲解Python中SocketServer模块处理网络请求的用法
Jun 28 Python
python 环境变量和import模块导入方法(详解)
Jul 11 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
10个Python小技巧你值得拥有
Sep 29 Python
Python读入mnist二进制图像文件并显示实例
Apr 24 Python
pip install命令安装扩展库整理
Mar 02 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 Python
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 #Python
Python爬虫实现HTTP网络请求多种实现方式
Jun 19 #Python
Keras设置以及获取权重的实现
Jun 19 #Python
Python包和模块的分发详细介绍
Jun 19 #Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 #Python
Python爬虫headers处理及网络超时问题解决方案
Jun 19 #Python
sklearn和keras的数据切分与交叉验证的实例详解
Jun 19 #Python
You might like
php4的session功能评述(三)
2006/10/09 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
Jquery 弹出层插件实现代码
2009/10/24 Javascript
javascript 验证日期的函数
2010/03/18 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
在Python中COM口的调用方法
2019/07/03 Python
基于python的列表list和集合set操作
2019/11/24 Python
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
致跳远运动员广播稿
2014/02/11 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
办公室主任个人总结
2015/02/28 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
详解thinkphp的Auth类认证
2021/05/28 PHP
详细了解MVC+proxy
2021/07/09 Java/Android