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脚本实现查找webshell的方法
Jul 31 Python
Python入门篇之数字
Oct 20 Python
PyCharm代码回滚,恢复历史版本的解决方法
Oct 22 Python
Selenium chrome配置代理Python版的方法
Nov 29 Python
用python爬取租房网站信息的代码
Dec 14 Python
PyTorch基本数据类型(一)
May 22 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
Python 导入文件过程图解
Oct 15 Python
Python实现随机取一个矩阵数组的某几行
Nov 26 Python
python numpy 矩阵堆叠实例
Jan 17 Python
Python图像处理二值化方法实例汇总
Jul 24 Python
matplotlib对象拾取事件处理的实现
Jan 14 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
PHP5 面向对象程序设计
2008/02/13 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
php版微信数据统计接口用法示例
2016/10/12 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
用JQUERY增删元素的代码
2012/02/14 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
使用命令对象代替switch语句的写法示例
2015/02/28 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
微信小程序  action-sheet详解及实例代码
2016/11/09 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
turn.js异步加载实现翻书效果
2019/07/25 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
Python性能优化的20条建议
2014/10/25 Python
详解Python中的循环语句的用法
2015/04/09 Python
Python字符串匹配算法KMP实例
2015/07/18 Python
python 构造三维全零数组的方法
2018/11/12 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
python同时遍历两个list用法说明
2020/05/02 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
帕克纽约:PARKER NY
2018/12/09 全球购物
介绍一下OSI七层模型
2012/07/03 面试题
cf收人广告词大全
2014/03/14 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
实验心得体会范文
2016/01/25 职场文书
创业计划书之废品回收
2019/09/26 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python
阿里云日志过滤器配置日志服务
2022/04/09 Servers