Python数据可视化:啥是元宇宙

1.引言

要说21年什么概念最火,那元宇宙三个字绝对榜上有名,这个词一经出现,就引发了科技界和投资界的广泛关注。

在这里插入图片描述

今天我们就来通过分析up主【小宁子同学】科普视频《元宇宙到底是什么》的弹幕信息,看能不能发现一些有趣的信息。

2.网页分析

我们知道某站的弹幕数据有现成的接口,只需要找到对应视频的cid值即可。

在这里插入图片描述
从上图可以看到,弹幕一共2350条,视频的cid的值为441219274.
接下来我们访问接口,获取数据。
网址:http://comment.bilibili.com/441219274.xml

在这里插入图片描述
找到了弹幕所在的网址,我们就可以开始获取对应的数据啦。

3.数据获取

我们接下来使用以下爬虫代码,直接对上述我们得到的网址进行数据获取,代码如下:

from bs4 import BeautifulSoup
import  pandas as pd
import requests

def get_url_data(url,save_file):
    html = requests.get(url).content
    # print(html)
    html_data = str(html, 'utf-8')
    soup = BeautifulSoup(html_data, 'lxml')
    retsults = soup.find_all('d')

    comments = [comment.text for comment in retsults]
    comments_dict = {'comment': comments}
    df = pd.DataFrame(comments_dict)
    df.to_csv(save_file, encoding='utf-8')

if __name__ == "__main__":
    url = 'http://comment.bilibili.com/441219274.xml'
    save_file = './data/data.csv'
    get_url_data(url,save_file)

最后我们打开保存的data.csv文件来查看我们最终获取的弹幕数据。

在这里插入图片描述
第1条,这是近期看的几个元宇宙视频讲的最好的一个

哈哈哈,毕竟我收藏的宝藏up主,讲解真的还是很赞的哟。
推荐大家有时间的话去观看原视频哟。

4.数据可视化

接着利用jieba分词,对上述爬取到的数据生成词云。
代码如下:

from wordcloud import WordCloud,ImageColorGenerator
import matplotlib.pyplot as plt
import pandas as pd
import jieba

def parse_data(csv_file,bake_img_file,font_file,stop_words_file,result_file):
    df = pd.read_csv(csv_file,header=None)
    text = ''
    for line in df[1]:
        text += ' '.join(jieba.cut(line,cut_all=False))

    backgroud_image = plt.imread(bake_img_file)
    stop_words = open(stop_words_file, encoding="utf8").read().split("\n")
    wc = WordCloud(
        background_color='white',
        mask = backgroud_image,
        font_path=font_file,
        max_words=2000,
        max_font_size=80,
        stopwords=stop_words,
        random_state=30
    )
    wc.generate_from_text(text)
    process_word = WordCloud.process_text(wc,text)
    # print(process_word.items())
    sort = sorted(process_word.items(),key=lambda e:e[1],reverse=True)
    print(sort[:50])
    img_colors = ImageColorGenerator(backgroud_image)
    wc.recolor(color_func=img_colors)
    plt.imshow(wc)
    plt.axis('off')
    wc.to_file(result_file)
    print("done")

if __name__ == "__main__":
    csv_file = './data/data.csv'
    bake_img_file = './img/heart.jpeg'
    font_file = './font/SimHei.ttf'
    stop_words_file = './data/stopwords-zh.txt'
    result_file = './result/result_heart.jpg'
    parse_data(csv_file,bake_img_file,font_file,stop_words_file,result_file)

上述代码使用的背景图为心形图,原图如下:

在这里插入图片描述
使用上述代码生成的词云图如下:

在这里插入图片描述
所以观察上述词云图,大家对元宇宙的理解:虚拟世界、概念、游戏、货币、金融、炒等为高频词。

哈哈哈,关于弹幕还有一些对主播的评价的,比如漂亮、老婆等也出现在分词后的结果里啦,果然宝藏Up主不仅知识渊博,人还好看。。。

当然我们也可以使用其他背景图,来看下我们生成的其他效果图。
大树状词云图:
在这里插入图片描述
小猪佩奇版词云图:
在这里插入图片描述

5.总结

下面这段内容,来自知乎。

元宇宙是整合多种新技术而产生的新型虚实想融的互联网应用和社会形态。
元宇宙基于扩展现实技术提供沉浸式体验,基于数字孪生技术生成现实世界的镜像,基于区块链技术搭建经济体系,将虚拟世界与现实世界在经济系统,社交系统,身份系统上密切融合,并且允许每个用户进行内容生产和世界编辑。

嗯捏,总之元宇宙是一个不断发展不断演变的概念,不同参与者以自己的方式不断丰富它的含义。

万水千山总是情,点个赞来行不行。

6 参考

链接一

关注公众号《AI算法之道》,获取更多AI算法资讯。
在这里插入图片描述

关注公众号,后台回复元宇宙,即可获取完整代码。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵卓不凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值