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实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 Python
python 队列详解及实例代码
Oct 18 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
python删除某个字符
Mar 19 Python
Python GUI Tkinter简单实现个性签名设计
Jun 19 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 Python
Python学习工具jupyter notebook安装及用法解析
Oct 23 Python
Pycharm中如何关掉python console
Oct 27 Python
Python try except else使用详解
Jan 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
制作美丽的拉花
2021/03/03 冲泡冲煮
我用php+mysql写的留言本
2006/10/09 PHP
PHP中soap的用法实例
2014/10/24 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
JS选取DOM元素的简单方法
2016/07/08 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
Python检测网站链接是否已存在
2016/04/07 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
如何写求职信
2014/05/24 职场文书
经理任命书模板
2014/06/06 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
财务稽核岗位职责
2015/04/13 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书