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 自动安装 Rising 杀毒软件
Apr 24 Python
理解Python中函数的参数
Apr 27 Python
Python正则表达式完全指南
May 25 Python
Python实现文件内容批量追加的方法示例
Aug 29 Python
python实现音乐下载器
Apr 15 Python
pandas 数据归一化以及行删除例程的方法
Nov 10 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
NumPy 数组使用大全
Apr 25 Python
Django如何简单快速实现PUT、DELETE方法
Jul 24 Python
python实现井字棋小游戏
Mar 04 Python
如何利用python发送邮件
Sep 26 Python
Python如何批量生成和调用变量
Nov 21 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学习之数据类型之间的转换代码
2011/05/29 PHP
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
PHP基础知识回顾
2012/08/16 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
JavaScript中判断函数是new还是()调用的区别说明
2011/04/07 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
2015/09/14 Javascript
angular.bind使用心得
2015/10/26 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
vue实现整屏滚动切换
2020/06/29 Javascript
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
python字符串编码识别模块chardet简单应用
2015/06/15 Python
python opencv之分水岭算法示例
2018/02/24 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
公司管理建议书范文
2014/03/12 职场文书
优秀教导主任事迹材料
2014/05/09 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书