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处理圆角图片、圆形图片的例子
Apr 25 Python
Python读写配置文件的方法
Jun 03 Python
Python实现的文本编辑器功能示例
Jun 30 Python
python中for用来遍历range函数的方法
Jun 08 Python
python 文件转成16进制数组的实例
Jul 09 Python
使用python实现http及ftp服务进行数据传输的方法
Oct 26 Python
Python GUI编程 文本弹窗的实例
Jun 11 Python
Python日志无延迟实时写入的示例
Jul 11 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
python中JWT用户认证的实现
May 18 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
Pytorch中的学习率衰减及其用法详解
Jun 05 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导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
php实现的二分查找算法示例
2017/06/20 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
2017/01/17 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
2018/08/13 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
flask中过滤器的使用详解
2018/08/01 Python
如何更优雅地写python代码
2019/07/02 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
2020/05/22 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
Python页面加载的等待方式总结
2021/02/28 Python
经济管理专业毕业生推荐信
2013/11/11 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
大学军训感言300字
2014/03/09 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP