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 22 Python
详解Python迭代和迭代器
Mar 28 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
python编辑用户登入界面的实现代码
Jul 16 Python
python调用摄像头显示图像的实例
Aug 03 Python
用python打印菱形的实操方法和代码
Jun 25 Python
python实现图片插入文字
Nov 26 Python
pytorch 实现cross entropy损失函数计算方式
Jan 02 Python
python中数据库like模糊查询方式
Mar 02 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
Python结合Window计划任务监测邮件的示例代码
Aug 05 Python
Docker如何部署Python项目的实现详解
Oct 26 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
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
基于vue实现分页效果
2017/11/06 Javascript
详解webpack babel的配置
2018/01/09 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
python中threading超线程用法实例分析
2015/05/16 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
python中字典增加和删除使用方法
2020/09/30 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
《长江之歌》教学反思
2014/04/17 职场文书
企业文化宣传标语
2014/06/09 职场文书
搞笑老公保证书
2015/02/26 职场文书
居安思危观后感
2015/06/11 职场文书
世界名著读书笔记
2015/06/25 职场文书
golang中实现给gif、png、jpeg图片添加文字水印
2021/04/26 Golang
html form表单基础入门案例讲解
2021/07/21 HTML / CSS
使用Apache Camel表达REST服务的方法
2022/06/10 Servers