唯品会数据分析

news/2024/11/18 2:50:50/

研究思路
确定好研究唯品会后,就开始要确定数据来源,了解到身边群体普遍使用淘宝和京东,对于唯品会的了解只停留在前段时间的唯品会假货事件和巨额亏损,导致从身边群体搜集数据变得格外困难,所以我们决定从微博入手,编程制作爬虫来爬取微博评论来进行分析。
在编好基本语言后,我们对微博可以爬取的数据维度进行讨论分析,最后重点开始分析需要的数据维度,最一开始的微博文本(用户发表的言论)是必须的,团队讨论一段时间后决定了一下几个维度:用户ID、信息来源、发布时间、文本内容、评论数、转发数、阅读数。
确定好了维度,我们团队就开始爬取数据,得到了近一个月用户发布的所有数据,开始对文本进行数据清洗,将无用的新闻清理出去,得到了由文本数据组成的数据。
这时候开始文本分析,由于文本数据是杂乱无章的,所以需要提取关键词,这时候我们对数据进行可视化,制作出词云图,在词云图的帮助下,所有词出现的频率和高频词汇全都一览无余,然后我们队员开始对高频词汇进行分析,重点在那些词汇中需要重点研究的方向。讨论过后,找到了几个关键词,顺利确定了研究方向,这些关键词分别是:商品质量 售后服务 物流快递。

在找到关键词后,开始对关键词进行假设,提出了这几个可能的地方。商品属性:质量、假货、性价比、商品更新速度、商品信息详情;物流支持:物流速度、安全(物品安全、客户骚扰);顾客服务:投诉处理、退换货。然后就开始了数据打标签。
考虑到打标签过程过于复杂,所以就找了个捷径,利用微博搜索功能,搜索栏的搜索内容为“唯品会+关键词”,通过微博进行一轮数据筛选,然后再进行一次数据爬取,得到了与关键词息息相关的评论内容和文本数据。
对关键词开始了数据分析,还是先对文本内容进行数据清洗,筛选出干净的数据,再进行数据可视化,得到了词云和词汇频率,最后开始商讨如何针对数据进行分析。

在分析阶段,考虑到需要对文本情感进行进行研究,需要把文本情感分析出来,但是大量数据如果人工来进行一个个读取将会是很大的工作量,所以开始考虑机器情感分析,这时候我们借用了Python中的SnowNLP库。
首先简单介绍一下这个库可以进行哪些文本挖掘。snownlp主要可以进行中文分词(算法是Character-Based Generative Model)、词性标注(原理是TnT、3-gram 隐马)、情感分析(官网木有介绍原理,但是指明购物类的评论的准确率较高,其实是因为它的语料库主要是购物方面的,可以自己构建相关领域语料库,替换原来的,准确率也挺不错的)、文本分类(原理是朴素贝叶斯)、转换拼音、繁体转简体、提取文本关键词(原理是TextRank)、提取摘要(原理是TextRank)、分割句子、文本相似(原理是BM25)等等功能,主要是针对文本数据进行挖掘的工具。这里重点使用中文分词、词性标注和情感分析。
通过SnowNLP库的帮助,我们对文本数据就行了情感分析,并将根据关键词得到的数据进行了数据挖掘。然后就开始分析,因为文本数据内容有差异,需要甄别那些元素是很重要,反响度很高的方面需要马上修改,而那些频率低且情感分析无关紧要的就不需要修改。

我们对数据进行研读,得到了几个数据维度,评论数、转发数、点赞数、关键词出现频率和单位时间爬取到相应信息个数、情感得分。
在研究方法上面,我们决定使用层次分析法和四分图,对需要修改的流程进行分类研究,确定了维度为时间频率和情感得分。

微博爬虫代码:
import urllib.request
import json
import csv
import re

proxy_addr=“119.28.118.116:1080”
i=1
n=2
file=str(n)+".cvs"

while True:
url=‘https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D%E5%BE%AE%E4%BF%A1+%E4%BD%BF%E7%94%A8%E4%BD%93%E9%AA%8C&page_type=searchall&page=’+str(n)
req=urllib.request.Request(url)
req.add_header(“User-Agent”,“Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”)
proxy=urllib.request.ProxyHandler({‘http’:proxy_addr})
opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
data=urllib.request.urlopen(req).read().decode(‘utf-8’,‘ignore’)
content=json.loads(data).get(‘data’)
cards=content.get(‘cards’)
for mblog in cards:
card_group=mblog.get(“card_group”)
try:
if(len(cards)>0):
for i in range(8):
print("-----正在爬取第"+str(n)+“页,第”+str(i)+“条微博------”)
s=card_group[i]
card_type=s.get(‘card_type’)
if(card_type==9):
mblog=s.get(“mblog”)
id=mblog.get(“id”)
user=mblog.get(‘user’)
gender=user.get(‘gender’)
source=mblog.get(“source”)
favorited=mblog.get(‘favorited’)
text=mblog.get(‘text’)
label_filter = re.compile(r’</?\w+[^>]*>’, re.S)
text = re.sub(label_filter, ‘’, text)
attitudes_count=mblog.get(‘attitudes_count’)
comments_count=mblog.get(‘comments_count’)
created_at=mblog.get(‘created_at’)
reposts_count=mblog.get(‘reposts_count’)
with open(file,‘a’,encoding=‘utf-8’) as fh:
fh.write(str(id)+’,’+str(gender)+’,’+str(source)+’,’+str(favorited)+’,’+str(created_at)+","+text+","+str(attitudes_count)+","+str(comments_count)+","+str(reposts_count)+"\n")
else:
break
n+=1
else:
break
except Exception as e:
print(e)
pass

情感分析代码:
from snownlp import SnowNLP

file=‘10.cvs’
text=open(r’C:\Users\Administrator\Desktop\2.txt’,“r”,encoding=‘utf-8’).read()
s=SnowNLP(text)
a=0
b=0
c=0
d=0
for sentence in s.sentences:
s1=SnowNLP(sentence)
if s1.sentiments > 0.8 :
a+=1
elif s1.sentiments > 0.5 :
b+=1
elif s1.sentiments >0.2:
c+=1
else :
d+=1
with open(file,‘a’,encoding=‘utf-8’) as fh:
fh.write(str(sentence)+","+str(s1.sentiments)+"\n")
print(a,b,c,d)

词云图代码:
#--coding:utf-8 --

from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba

#生成词云
def create_word_cloud(filename):
text = open("{}.txt".format(filename),“r”,encoding=‘utf-8’).read()
# 结巴分词
wordlist = jieba.cut(text, cut_all=True)
wl = " ".join(wordlist)

# 设置词云
wc = WordCloud(# 设置背景颜色background_color="white",# 设置最大显示的词云数max_words=200,# 这种字体都在电脑字体中,一般路径font_path='C:\Windows\Fonts\simfang.ttf',height=1200,width=1600,#stopwords = STOPWORDS,#设置停用词# 设置字体最大值max_font_size=100,# 设置有多少种随机生成状态,即有多少种配色方案random_state=30,
)myword = wc.generate(wl)  # 生成词云
# 展示词云图
plt.imshow(myword)
plt.axis("off")
plt.show()
wc.to_file('p.png')  # 把词云保存下

if name == ‘main’:
create_word_cloud(r’C:\Users\Administrator\Desktop\2’)


http://www.ppmy.cn/news/744400.html

相关文章

聚美优品与唯品会全方位比较

原标题&#xff1a;全方位比较&#xff1a;聚美优品VS唯品会 聚美优品上市表现抢眼&#xff0c;在相当程度上沾了唯品会的光。 在投资人眼里两家都属于垂直电商&#xff0c;都以品牌、折扣、闪购为特色&#xff0c;唯品会股价飞天神话给聚美优品罩上一层光环。2012年3月23日&a…

唯品会电商api接口

item_search-按关键字搜索vip商品 注册开通key测试 API测试完整返回结果 { "items": { "page": 0, "error": "", "total_results": "3250", "real_total_results&quo…

唯品会还“品“的动吗?

昨日的阿里巴巴&#xff0c;今天的唯品会&#xff0c;都在反垄断的道路上翻了个跟头。 据唯品会官方微博发布公告显示&#xff0c;2021年1月14日&#xff0c;唯品会接到国家市场监管总局通知&#xff0c;对唯品会涉嫌不正当竞争行为立案调查。唯品会表示积极配合监管部门调查。…

唯品会:高利润,慢增长?

配图来自Canva可画 近日&#xff0c;阿里、京东等互联网大厂纷纷发布了新一季度的财报&#xff0c;从其财报不难看出&#xff0c;国内头部电商平台已经告别了一路狂奔的时代&#xff0c;开始愈发稳健起来。唯品会虽然在体量和规模上都还不能和这两家巨头相比&#xff0c;但自其…

唯品会获得vip商品详情 API

item_get-获得vip商品详情 注册开通 onebound.vip.item_get 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,ite…

唯品会

电商大战主角在营销上都不惜血本&#xff0c;只求全方位包围消费者&#xff0c;以形成洗脑般的攻势。 打开手机看个新闻、刷个八卦乃至查看天气&#xff0c;都能看到各种响亮的口号&#xff0c;“买家电上xx”。IP明星也是电商平台爱承包的对象&#xff0c;前有苏宁易购捆绑《…

另类的唯品会和得物比价

目前得物h5和小程序防爬弄得采集数据很费劲&#xff0c;另辟蹊径做了一款通过模拟器和商家后台方式采集数据的方式&#xff0c;目前实现了跟唯品会的比价。运行界面如下&#xff1a; 输入品牌名称&#xff0c;点击“开始”&#xff0c;表格中左边依次显示唯品会采集的数据&…

唯品会技术架构一览表

目录 一、前言 二、venus生态系统 三、OSP篇 ​四、配置中心 五、Thrift 六、Saturn 一、前言 唯品会&#xff08;VIPISHOP&#xff09;作为全国前几名的零售电商企业&#xff0c;主打品牌折扣商品&#xff0c;涵盖名品服饰鞋包、美妆、母婴、居家等各大品类。目前已发…