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下进行UDP网络编程的教程
Apr 29 Python
python从sqlite读取并显示数据的方法
May 08 Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
python下实现二叉堆以及堆排序的示例
Sep 29 Python
TensorFlow平台下Python实现神经网络
Mar 10 Python
pyQt4实现俄罗斯方块游戏
Jun 26 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
Python文件操作方法详解
Feb 09 Python
Python 中random 库的详细使用
Jun 03 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
vue的一个分页组件的示例代码
2017/12/25 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
vue生命周期的探索
2019/04/03 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
python实现机器人行走效果
2018/01/29 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
python如何删除文件中重复的字段
2019/07/16 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
英文简历中的自荐信范文
2013/12/14 职场文书
公司活动邀请函
2014/01/24 职场文书
导游词之晋城蟒河
2019/12/12 职场文书