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 GAE、Django导出Excel的方法
Nov 24 Python
使用Python写CUDA程序的方法
Mar 27 Python
详解 Python 读写XML文件的实例
Aug 02 Python
Python进阶学习之特殊方法实例详析
Dec 01 Python
Python遍历pandas数据方法总结
Feb 09 Python
python高阶爬虫实战分析
Jul 29 Python
关于Numpy数据类型对象(dtype)使用详解
Nov 27 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
从多个tfrecord文件中无限读取文件的例子
Feb 17 Python
python代码实现TSNE降维数据可视化教程
Feb 28 Python
在Python 中将类对象序列化为JSON
Apr 06 Python
Python内置包对JSON文件数据进行编码和解码
Apr 12 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
利用PHP如何实现Socket服务器
2015/09/23 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
2013/09/13 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
2017/01/20 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
使用axios实现上传图片进度条功能
2017/12/21 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
python变量的存储原理详解
2019/07/10 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
浅谈Python 参数与变量
2020/06/20 Python
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
2014年教务处工作总结
2014/12/03 职场文书
关于五一放假的通知
2015/08/18 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis
Oracle用户管理及赋权
2022/04/24 Oracle
Python PIL按比例裁剪图片
2022/05/11 Python