zoukankan      html  css  js  c++  java
  • 王者荣耀白晶晶皮肤1小时销量突破千万!分析网友评论我发现了原因

    一、简介

    1、这两天在朋友圈、短视频,微博这些社交平台经常刷到这些内容(王者荣耀芈月白晶晶的皮肤)。

    2、好奇的我就去百度了一下,发现是王者荣耀最近出的一个皮肤,看到很多人都在讨论,我也开始爬取评论,看看大家对这款皮肤的看法?以及为什么这么热门!

    3、这个皮肤是与电影《大话西游》有关,具体介绍可以去官网了解(链接在下方),今天的目的不是介绍皮肤,而是学习爬虫和数据分析。

    https://pvp.qq.com/coming/v2/skins/0125-bjjmy.shtml?ADTAG=pvp.skin.pcgw
    

    二、爬取评论数据

    评论来源平台

    这里选择了B站,通过关键字:王者荣耀白晶晶,可以搜索相关的视频,这里采集多个视频弹幕评论去进行分析。

    为了讲解如何获取数据,这里选择了播放量(点击量)最大的视频作为样本采集评论。

    采集评论

    视频链接如下:

    https://www.bilibili.com/video/BV1dr4y1N7YT?from=search&seid=14952442383235795708
    

    确认好视频后,接着开始获取视频里面的弹幕和下方的评论内容。

    我之前写过一篇获取B站视频评论的文章分析B站《送你一朵小红花》弹幕评论,看过这篇文章的小伙伴都知道b站视频的弹幕怎么获取。不过这里再把方法讲一下。

    1.首先在视频页面按F12,查看数据包

    找到这个数据包

    https://api.bilibili.com/x/v2/dm/thumbup/stats?oid=287593212&ids=44298586098761735
    

    可以获取oid值287593212

    2.获取弹幕评论

    b站有专门获取弹幕评论的api接口,通过改变oid的值就可以获取每一个视频的弹幕评论

    https://api.bilibili.com/x/v1/dm/list.so?oid=287593212
    

    这样我们就可以获取到网友的弹幕评论数据了,下面开始对这些数据进行分析。

    编程实现

     1  
     2 import requests
     3  
     4 headers = {
     5  
     6 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0'
     7  
     8 }
     9  
    10 oidlist=['287593212','286279864','285602874','288005981','287970790','287621268']
    11  
    12 for j in oidlist:
    13  
    14 url="https://api.bilibili.com/x/v1/dm/list.so?oid="+str(j)
    15  
    16 r = requests.get(url, headers=headers)
    17 这里oidlist是六个,表示获取六个视频的弹幕评论数据
    18 
    19  
    20 with open("commit.txt","a+",encoding='utf-8') as f:
    21  
    22 for i in list_s:
    23  
    24 i = (i.split(">"))[1].replace("</d","")
    25  
    26 i = i.replace("","").replace("","").replace("","").replace("+","").replace("","").replace("....","").replace(".......","")
    27  
    28 f.write(str(i)+"
    ")

    获取到的数据进行相关的处理(去掉一下网页标签,标点符号?。,....)

    最后保存到commit文本文件中。

    三、分析评论数据

    1.词云分析

     1  
     2 ###1.词云分析
     3  
     4 def analysis1():
     5  
     6 with open("commit.txt", 'r', encoding='utf8') as f:
     7  
     8 st = f.read()
     9  
    10  
    11  
    12  
    13  
    14 #print(st)
    15  
    16 word_list = jieba.cut(st)
    17  
    18 result = " ".join(word_list) # 分词用 隔开
    19  
    20 # 制作中文云词
    21  
    22 icon_name = 'fab fa-qq'
    23  
    24 # 图片保存名称
    25  
    26 picp = '1.png'
    27  
    28 gen_stylecloud(text=result,
    29  
    30 font_path='simsun.ttc',
    31  
    32 # icon_name='fas fa-envira',
    33  
    34 icon_name='fas fa-cannabis',
    35  
    36 max_words=100,
    37  
    38 max_font_size=70,
    39  
    40 output_name='icon1.png',
    41  
    42 ) # 必须加中文字体,否则格式错误

    效果1

    分析

    词云图中,字体越大表示提到的次数越多

    1. 这是王者荣耀英雄,芈月的皮肤,所以少不了对应的关键字。

    2. 芈月的白晶晶皮肤是电影《大话西游》里面人物白晶晶的形象,电影中白晶晶与至尊宝人物有关联,这也是这款皮肤的热点、讨论点、卖点。

    3. 同时白晶晶人物与至尊宝关联,延伸到余至尊宝有关的紫霞仙子,王者荣耀里面的孙悟空(猴子)。

    4. 里面语气词(我、吗,有,了,的)等词也表现出来网友对于这款皮肤的话题很多。

    2.情感分析

    情感分析我们可以借助snownlp库去解决问题

    1  
    2 ###导入相应的库
    3  
    4 from snownlp import SnowNLP

    这里可以对每一条的评论进行打分(0~1),如果是0~0.5为消极,0.5~1为正向。

    废话不多说,直接实战!

    这里也去前5条看看效果

     1 with open("commit.txt", 'r', encoding='utf8') as f:
     2  
     3 data = f.readlines()
     4  
     5  
     6  
     7  
     8  
     9 for i in data[0:5]:
    10  
    11 sentiments = SnowNLP(i).sentiments
    12  
    13 print(i)
    14  
    15 print(sentiments)
    16  
    17 print("--------------------")

    效果2

    分析

    可以看到snownlp库提供的分析方法还算可以。

    情感分析平均分

    这么条评分,因此我们可以对应所以评论进行评分,然后求其平均分,这样可以大概了解,网友目前的总体感情是趋向消极还是正向。

    with open("commit.txt", 'r', encoding='utf8') as f:
     
    data = f.readlines()
     
     
     
     
     
    sum=0
     
    for i in data:
     
    sentiments = SnowNLP(i).sentiments
     
    #print(i)
     
    sum = sum+sentiments
     
    #print(sentiments)
     
    #print("--------------------")
     
    print("情感分析平均分:"+str(sum/len(data)))

    效果3

    分析

    1. 总体的评分是0.5713098907113867,大于0.5,说明整体趋势上,网友的评论情感还是正向的。

    2. 从侧面也可以看出,网友对这款皮肤还是比较喜欢,也是对对应《大话西游》里面至尊宝、紫霞、白晶晶等角色的各种话题正向不断。

    四、总结

    1. 再次回顾了如何获取B站弹幕评论的方法

    2. 通过两种分析方式:词云、情感分析,来分析网友的评论,有利于把握大众某个事物(比如本文的白晶晶皮肤)的看法以及表现的情感。

    3. 对评论的分析不再是局限于词云等可视化,还可以通过情感方式去把控网友的评论信息。

    【本文完整源码获取方式】

    后台回复:白晶晶皮肤

    ------------------- End -------------------

    【各种爬虫源码获取方式】

    识别文末二维码,回复:爬虫源码

    ------------- 精彩文章 -------------

    基金这么赚钱!!编程实现基金从采集到分析通用模板!(白酒为例)

    花一天时间做了一个福利资源网站!免费分享给大家

    1500元让我写一个api接口!没问题

    耐得住寂寞,才能登得顶
    Gitee码云:https://gitee.com/lyc96/projects
  • 相关阅读:
    [LCA] 最近公共祖先
    [DP] D. Beautiful Array
    [模板] [拓扑序列]
    [模板] 区间筛素数
    [DP] 简单的烦恼
    [贪心] 二元组最小值最大
    [模板] 树状数组及其应用
    [Trie] 最大异或对
    [模板][二分]倍增及其应用
    ios学习记录 day31 UI 9 多视图切换 导航控制器
  • 原文地址:https://www.cnblogs.com/chenlove/p/14404435.html
Copyright © 2011-2022 走看看