Python实现爬取并分析电商评论

作者:夏日的向日葵 时间:2022-11-21 17:18:47 

现如今各种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实现爬取并分析电商评论

来源:https://www.cnblogs.com/xiao02fang/p/13155124.html

标签:python,评论,分析,爬取
0
投稿

猜你喜欢

  • 使用Pyhton集合set()实现成果查漏的例子

    2023-10-20 17:49:00
  • Python 专题二 条件语句和循环语句的基础知识

    2022-11-29 16:46:41
  • 使用python开发vim插件及心得分享

    2023-11-22 11:30:32
  • 网页版权的正确写法

    2007-09-22 09:13:00
  • 超大数据量存储常用数据库分表分库算法总结

    2024-01-28 01:44:38
  • 详解oracle mysql 中的“不等于“ <> != ^= is not

    2024-01-25 03:35:08
  • 简单介绍Python中用于求最小值的min()方法

    2021-05-27 23:00:11
  • 详解python使用canvas实现移动并绑定键盘

    2022-08-18 01:02:52
  • 在服务端合并和压缩JavaScript和CSS文件

    2010-07-15 12:48:00
  • Python模拟简单电梯调度算法示例

    2021-09-27 14:52:31
  • 基于Python开发chrome插件的方法分析

    2023-04-22 14:41:33
  • 关于SQL Server数据库中转储设备分析

    2009-01-21 14:55:00
  • PyTorch搭建一维线性回归模型(二)

    2023-02-16 19:27:15
  • python3实现Dijkstra算法最短路径的实现

    2023-10-14 13:17:40
  • 图片自动更新(说明)

    2024-04-28 09:46:51
  • PyTorch搭建多项式回归模型(三)

    2022-09-04 00:43:49
  • [教程]用代码让你了解网页与键盘

    2008-06-10 12:18:00
  • 探秘TensorFlow 和 NumPy 的 Broadcasting 机制

    2023-07-22 06:09:50
  • 详解python 注释、变量、类型

    2023-10-27 10:01:18
  • asp连接SQL和Access数据代码(asp里的随机函数)

    2013-06-01 20:26:06
  • asp之家 网络编程 m.aspxhome.com