基于Python爬虫+词云图+情感分析对某东上完美日记的用户评论分析

 

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


目录

前言

一、研究背景

二、技术原理 

三、获取数据

四、词云图分析

五、情感分析

六、往期推荐


前言

        最近参加了腾讯云Cloud Studio的作品评选,本次实验的爬虫代码点击链接查看,https://club.cloudstudio.net/a/12010256262184960,对大家有帮助的话欢迎大家点个赞和Fork!十分感谢!

一、研究背景

        随着互联网和社交媒体的发展,用户评论成为了消费者表达自己意见和情感的主要途径之一。对于企业来说,深入了解用户对其产品或服务的看法可以帮助他们更好地了解市场需求、产品改进的方向,以及消费者的情感倾向。因此,对用户评论进行分析已经成为了市场研究和商业决策的重要手段之一。

        完美日记作为一家知名的化妆品品牌,其在社交媒体和电商平台上拥有大量的用户评论。通过对完美日记的用户评论进行分析,可以揭示出以下几个方面的信息:

  1. 消费者满意度: 通过情感分析,可以了解消费者对完美日记产品的满意度。情感分析可以判断评论中的情感倾向,如正面、负面或中性,从而判断消费者对产品的态度。

  2. 产品特点: 用户评论中可能提到产品的不同特点、功能和效果。通过词云图,可以直观地了解哪些特点被频繁提及,从而了解产品的优势和劣势。

  3. 市场趋势: 对用户评论进行分析可以发现市场的趋势和消费者的需求。例如,如果多数评论中提到某种产品特点,说明这个特点可能是当前市场上消费者关注的焦点。

  4. 品牌声誉: 用户评论不仅关注产品,还可能涉及到品牌的声誉、客服服务等方面。通过分析评论中对品牌的评价,可以了解品牌在消费者心目中的形象。

  5. 竞争分析: 通过比较完美日记与竞争对手的用户评论,可以了解不同品牌的优势和劣势,为市场竞争和战略制定提供依据。

        因此,基于Python爬虫获取完美日记用户评论,结合词云图和情感分析技术,可以深入挖掘用户的情感、意见和需求,为完美日记品牌的市场营销、产品改进以及品牌管理提供有价值的信息支持。这种综合分析方法有助于企业更好地了解市场动态,优化产品策略,提升品牌价值。

二、技术原理 

  1. Python爬虫: 爬虫是一种自动化工具,用于从网页上获取数据。通过Python编写爬虫脚本,可以模拟人类浏览器行为,访问目标网站,抓取用户评论数据。常用的Python爬虫库包括Requests和Beautiful Soup,它们可以帮助获取网页内容并解析HTML结构。

  2. 词云图生成: 词云图是一种图形化展示文本数据中关键词频率的方式。制作词云图需要对文本进行预处理,包括分词、去除停用词(如“的”、“是”等常见词语)、统计词频等。然后,根据词频将关键词按照大小不同进行排列,生成词云图。Python中的词云库如WordCloud可以帮助生成词云图。

  3. 情感分析: 情感分析是一种自然语言处理技术,用于判断文本中表达的情感倾向,如积极、消极或中性。情感分析可以通过机器学习模型,如基于深度学习的模型或传统的文本分类算法,来训练并判断文本情感。这些模型会根据文本的词汇、语法结构以及上下文来判断情感。

        在本次实验中,爬虫技术用于获取完美日记的用户评论数据,词云图技术用于可视化评论中的关键词频率,情感分析技术用于判断评论的情感倾向。结合这些技术,可以从大量的评论数据中提取出有关产品、品牌和消费者情感的有价值信息。

本次实验技术工具

Python版本:3.9

代码编辑器:jupyter notebook

三、获取数据

本次实验的目标是获取某东上关于完美日记的用户评论数据,打开京东官网,来到完美日记官方旗舰店

打开商品评论并使用开发者工具进行抓包分析,找到返回用户评论的接口并确定关键参数,最后使用requests库进行模拟请求,将返回的数据进行解析提取即可。 

分析过程其实不难,学过爬虫的话都知道,完整的代码及使用教程都在文章开头的链接里

代码运行之后,只需要输入你要爬取的商品ID和要爬取的页数即可

商品ID就是商品详情页网址最后的那串数字

四、词云图分析

首先读取我们刚爬取的完美日记评论数据

import pandas as pd
with open('JD_comment_100055983355.txt')as f:comment_list = []for comment in f.readlines():comment = comment.replace('\n','')comment_list.append(comment)df = pd.DataFrame(data=comment_list,columns=['comment'])
df

 接着自定义我们的画词云图函数

import jieba
import collections
import re
import stylecloud
from PIL import Imagedef draw_WorldCloud(df,pic_name,color='white'):data =  ''.join([item for item in df])# 文本预处理 :去除一些无用的字符只提取出中文出来new_data = re.findall('[\u4e00-\u9fa5]+', data, re.S)new_data = "".join(new_data)# 文本分词seg_list_exact = jieba.cut(new_data)result_list = []with open('停用词库.txt', encoding='utf-8') as f: #可根据需要打开停用词库,然后加上不想显示的词语con = f.readlines()stop_words = set()for i in con:i = i.replace("\n", "")   # 去掉读取每一行数据的\nstop_words.add(i)for word in seg_list_exact:if word not in stop_words and len(word) > 1:result_list.append(word)word_counts = collections.Counter(result_list)# 词频统计:获取前100最高频的词word_counts_top = word_counts.most_common(100)print(word_counts_top)# 绘制词云图stylecloud.gen_stylecloud(text=' '.join(result_list), # 提取500个词进行绘图collocations=False, # 是否包括两个单词的搭配(二字组)font_path=r'C:\Windows\Fonts\msyh.ttc', #设置字体,参考位置为  C:\Windows\Fonts\ ,根据里面的字体编号来设置size=800, # stylecloud 的大小palette='cartocolors.qualitative.Bold_7', # 调色板,调色网址: https://jiffyclub.github.io/palettable/background_color=color, # 背景颜色icon_name='fas fa-cloud', # 形状的图标名称 蒙版网址:https://fontawesome.com/icons?d=gallery&p=2&c=chat,shopping,travel&m=freegradient='horizontal', # 梯度方向max_words=2000, # stylecloud 可包含的最大单词数max_font_size=150, # stylecloud 中的最大字号stopwords=True, # 布尔值,用于筛除常见禁用词output_name=f'{pic_name}.png') # 输出图片# 打开图片展示img=Image.open(f'{pic_name}.png')img.show()

调用函数作图

draw_WorldCloud(df['comment'],'完美日记用户评论词云图')
[('喜欢', 146), ('颜色', 140), ('产品', 112), ('效果', 98), ('不错', 91), ('包装', 91), ('口红', 88), ('好看', 76), ('质感', 75), ('适合', 64), ('女朋友', 58), ('滋润', 52), ('持久', 48), ('完美', 47), ('特别', 45), ('肤色', 45), ('精致', 44), ('朋友', 42), ('礼物', 40), ('礼盒', 38), ('感觉', 37), ('日记', 36), ('满意', 32), ('物流', 30), ('值得', 28), ('超级', 26), ('送给', 26), ('京东', 26), ('特色', 26), ('质量', 25), ('购买', 22), ('快递', 20), ('速度', 20), ('推荐', 20), ('买来', 19), ('很快', 19), ('收到', 18), ('上档次', 16), ('高级', 16), ('色号', 16), ('盒子', 16), ('眼影', 15), ('高端', 15), ('性价比', 15), ('购物', 15), ('老婆', 14), ('颜值', 14), ('精美', 14), ('看着', 13), ('很漂亮', 13), ('送人', 13), ('日常', 13), ('搭配', 13), ('打开', 13), ('情人节', 13), ('整体', 12), ('价格', 12), ('设计', 11), ('希望', 11), ('质地', 11), ('合适', 11), ('下次', 11), ('卖家', 11), ('看起来', 11), ('活动', 10), ('挺不错', 10), ('客服', 10), ('大气', 10), ('漂亮', 10), ('外观', 10), ('高大', 10), ('生日礼物', 9), ('红色', 9), ('实惠', 9), ('很棒', 9), ('还会', 9), ('细腻', 9), ('掉色', 9), ('服务态度', 9), ('品牌', 9), ('发货', 9), ('宝贝', 9), ('体验', 9), ('做工', 9), ('拿到', 9), ('三种', 9), ('第二天', 8), ('信赖', 8), ('媳妇', 8), ('划算', 8), ('显白', 8), ('三个', 8), ('小巧', 8), ('节日', 8), ('来说', 8), ('一支', 8), ('粉色', 7), ('好评', 7), ('犹豫', 7), ('简直', 7)]

 从词云图可以发现,完美日记是一款口红产品,在颜色、包装、效果上有着不错的口碑,且这款产品多为送女朋友的礼物。

五、情感分析

         情感分析我们使用到是SnowNLP模块,SnowNLP是一个用于中文文本情感分析的Python库,它可以帮助你判断中文文本的情感倾向,即判断文本是积极的、消极的还是中性的。得到的分数表示文本的情感倾向,越接近1表示积极情感,越接近0表示消极情感。

代码如下:

#加载情感分析模块
from snownlp import SnowNLP
import matplotlib.pyplot as plt# 遍历每条评论进行预测
values=[SnowNLP(i).sentiments for i in df['comment']]
#输出积极的概率,大于0.5积极的,小于0.5消极的
#myval保存预测值
myval=[]
good=0
mid=0
bad=0
for i in values:if (i>=0.6):myval.append("积极")good=good+1elif 0.2<i<0.6:myval.append("中性")mid+=1else:myval.append("消极")bad=bad+1
df['预测值']=values
df['评价类别']=myval
df.head()

 接着做出情感分析的可视化图

rate=good/(good+bad+mid)
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()

         从图中可以看出绝大多数的评论情感得分都是在1附近,但是我们不知道消极、中性、积极评论的占比,于是我们做出饼图进行展示分析:

y = df['评价类别'].value_counts().values.tolist()
plt.pie(y,labels=['积极','中性','消极'], # 设置饼图标签colors=["#d5695d", "#5d8ca8", "#65a479"], # 设置饼图颜色autopct='%.2f%%', # 格式化输出百分比)
plt.show()

可以看出积极评论占比95%,消极评论仅占2%,可见该款产品的口碑非常不错!

六、往期推荐

基于爬虫+词云图+Kmeans聚类+LDA主题分析+社会网络语义分析对大唐不夜城用户评论进行分析

基于Tomotopy构建LDA主题模型(附案例实战) 

用Python爬取电影数据并可视化分析 

基于TF-IDF+KMeans聚类算法构建中文文本分类模型(附案例实战) 

文本分析-使用jieba库进行中文分词和去除停用词(附案例实战) 

基于sklearn实现LDA主题模型(附实战案例) 

数据分析案例-文本挖掘与中文文本的统计分析 

数据分析实例-获取某宝评论数据做词云图可视化 

数据分析案例-对某宝用户评论做情感分析 

文本分析-使用jieba库实现TF-IDF算法提取关键词 

ROSTEA软件下载及情感分析详细操作教程(附网盘链接) 

SnowNLP使用自定义语料进行模型训练(情感分析) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/31990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在SPSS中实现数据转置

在使用SPSS开展数据分析的过程中&#xff0c;有时候不可避免需要对数据进行转置处理。 例如Kendall协同系数检验和组内相关系数&#xff08;ICC&#xff09;检验这两种方法都可以检验定量数据的一致性程度&#xff0c;但是这两种方法对数据的要求不同。 组内相关系数&#xf…

layui 集成 ztree异步加载

首先&#xff0c;layui环境搭建&#xff0c;ztree环境引入 ztree的js和css都要引入&#xff0c;我这里暂时用的是core包> 静态&#xff0c;一句话就够了 <!-- 左侧菜单树形组件 --><div class"layui-col-md3"><div class"layui-footer "…

Ajax-概念、Http协议、Ajax请求及其常见问题

Ajax Ajax概念Ajax优缺点HTTP协议请求报文响应报文 Ajax案例准备工作express基本使用创建一个服务器 发送AJAX请求GET请求POST请求JSON响应 Ajax请求出现的问题IE缓存问题Ajax请求超时与网络异常处理Ajax手动取消请求Ajax重复发送请求问题 Ajax概念 AJAX 全称为Asynchronous J…

干货 | 详述 Elasticsearch 向量检索发展史

1. 引言 向量检索已经成为现代搜索和推荐系统的核心组件。 通过将复杂的对象&#xff08;例如文本、图像或声音&#xff09;转换为数值向量&#xff0c;并在多维空间中进行相似性搜索&#xff0c;它能够实现高效的查询匹配和推荐。 图片来自&#xff1a;向量数据库技术鉴赏【上…

安科瑞物联网表在虚拟电厂的应用

安科瑞 崔丽洁 应用场景 一般应用于控制中心 功能 能计量当前组合有功电能&#xff0c;正向有功电能&#xff0c;反向有功电能&#xff0c;正向无功电能&#xff0c;反向无功电能&#xff1b; ADW300支持RS485通讯、LORA通讯、NB、4G及Wifi通讯&#xff1b; 三套时段表,一年可以…

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI

光标位置 回忆上次内容 上次了解了 新的转义模式 \033 逃逸控制字符 escape 这个字符 让字符串 退出标准输出流进行控制信息的设置 可以设置 光标输出的位置 ASR33中的ALT MODE 是 今天的ESC键吗&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#x1f914; 查询文档…

关于APP备案、小程序备案的问题,如何备案?

近日&#xff0c;工信部发布了关于开展移动互联网应用程序备案工作的通知。为落实相关法律法规要求&#xff0c;促进互联网行业规范健康发展&#xff0c;进一步做好移动互联网信息服务管理&#xff0c;现组织开展移动互联网应用程序&#xff08;以下简称 APP&#xff09;备案工…

安灯Andon系统的应用与优势

安灯系统是一款与硬件相结合&#xff0c;实时了解机台与工位状态&#xff0c;让异常的信息得到快速、高效的解决的系统软件&#xff0c;同时记录每次异常报警的种类、响应时间和处理问题用时&#xff0c;提供改善生产管理和人员考核的数据参考&#xff0c;实现透明、快速的生产…

fetch-github-hosts间隔一年大更新v2.6发布,多端支持

前言 fetch-github-hosts是一款同步 github hosts 的工具&#xff0c;用于帮助您解决github时而无法访问的问题。在间隔了一年之久的时间&#xff0c;最近抽空将fetch-github-hosts的依赖及UI进行了一波大更新&#xff0c;同时也增加了一些实用的功能。 主要更新 更新了基础依…

Flutter:文件上传与下载(下载后预览)

Dio dio是一个强大的Dart Http请求库&#xff0c;提供了丰富的功能和易于使用的API&#xff0c;支持文件上传和下载。 这个就不介绍了&#xff0c;网上有很多的封装案例。 background_downloader 简介 适用于iOS&#xff0c;Android&#xff0c;MacOS&#xff0c;Windows和L…

Arcgis地图实战二:地图实时轨迹展示

1.最终效果预览 2.定时器执行方法 进入页面执行执行器 this.locationInterval setInterval(() > {this.getCurrentPosition();}, this.conf.LocateInterval);离开页面销毁 clearInterval(this.locationInterval);this.conf.LocateInterval为获取的数据同步中的定时器间隔…

Talk | ICCV‘23清华大学刘世隆:From Detection to Grounding-迈向更强的开集目标检测

本期为TechBeat人工智能社区第521期线上Talk&#xff01; 北京时间8月10日(周四)20:00&#xff0c;清华大学博士生—刘世隆的Talk已准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “From Detection to Grounding-迈向更强的开集目标检测”&#xff0c;他分…

栈和队列(二) 队列操作详解及栈与队列的相互实现

文章目录 四、队列1、什么是队列2、队列的基本操作Queue.hQueue.c初始化队列队尾入队列队头出队列获取队列头部元素获取队列队尾元素获取队列中有效元素个数检测队列是否为空&#xff0c;如果为空返回非零结果&#xff0c;如果非空返回0销毁队列 五、设计循环队列六、栈与队列的…

前端面试自我介绍

前端面试自我介绍精选篇1 各位面试官大家好&#xff0c;我叫__&#xff0c;就读于__大学__学&#xff0c;大学本科学历&#xff0c;我的求职意向是与金融专业相关的职位&#xff0c;本人拥有较强的学习能力&#xff0c;能快速适应工作环境&#xff0c;兴趣爱好广泛&#xff0c…

日常BUG ——乱码

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 A系统使用Feign调用B系统时&#xff0c;传递的String字符串&#xff0c;到了B系统中变为了乱…

HCIP STP(生成树)

目录 一、STP概述 二、生成树协议原理 三、802.1D生成树 四、STP的配置BPDU 1、配置BPDU的报文格式 2、配置BPDU的工作过程 3、TCN BPDU 4、TCN BPDU的工作过程 五、STP角色选举 1、根网桥选举 2、根端口选举 3、指定端口选举 4、非指定端口选举 六、STP的接口状…

QT中的PRO文件怎么进行相关的信息的注释?

小白学开发之QT下的PRO文件怎么进行注释&#xff0c;以及Pro文件的作用 Hello大家好&#xff0c;这里是程序员小白学开发&#xff0c;我是一个刚入门QT的初学者&#xff0c;晕乎晕乎的&#xff01;希望能够随时随地将自己所学的知识分享给大家&#xff0c;带着大学从零基础开始…

MySQL刷题遇到的盲点(五)窗口函数

窗口函数 语法&#xff1a; <窗口函数> over (partition by <用于分组的列名>order by <用于排序的列名>) partition by&#xff1a;用来对表分组&#xff08; partition 子句可以省略&#xff0c;省略就是不指定分组&#xff09; order by&#xff1a;是…

Docker 大热,还不了解 Dockerfile 你就OUT啦~

♥ 前 言 前言&#xff1a;近年来 Docker 非常火&#xff0c;想要玩好 Docker 的话 Dockerfile 是绕不开的&#xff0c;这就好比想要玩好 Linux 服务器绕不开 shell 道理是一样的。今天我们就来聊一聊 Dockerfile 怎么写&#xff0c;那些指令到底是什么意思。 一、先来看一…

【深度学习】StyleGANv2 2019 论文,Analyzing and Improving the Image Quality of StyleGAN

StyleGAN论文&#xff1a; 《A Style-Based Generator Architecture for Generative Adversarial Networks》 论文&#xff1a;https://arxiv.org/abs/1812.04948 代码&#xff1a; https://github.com/NVlabs/stylegan StyleGANv2论文&#xff1a; 《Analyzing and Improving …