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中的getattr函数 hasattr函数
Jun 14 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
Aug 28 Python
python中pip的安装与使用教程
Aug 10 Python
python中将zip压缩包转为gz.tar的方法
Oct 18 Python
Python Numpy:找到list中的np.nan值方法
Oct 30 Python
python算法与数据结构之单链表的实现代码
Jun 27 Python
python写入数据到csv或xlsx文件的3种方法
Aug 23 Python
Python多进程编程常用方法解析
Mar 26 Python
Pandas实现一列数据分隔为两列
May 18 Python
python入门教程之基本算术运算符
Nov 13 Python
Python函数调用追踪实现代码
Nov 27 Python
Python re.sub 反向引用的实现
Jul 07 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
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
php动态生成函数示例
2014/03/21 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
JQuery jsonp 使用示例代码
2009/08/12 Javascript
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
JavaScript 数组详解
2013/10/10 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
document.write的几点使用心得
2014/05/14 Javascript
简述AngularJS的控制器的使用
2015/06/16 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Django Admin实现上传图片校验功能
2016/03/06 Python
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
python实现决策树分类
2018/08/30 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
计算机专业应届毕业生自荐信
2013/09/26 职场文书
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
毕业生简单求职信
2013/11/19 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
教师个人学习总结
2015/02/11 职场文书
工作时间证明
2015/06/15 职场文书