美文网首页
Python数据可视化:啥是佩奇

Python数据可视化:啥是佩奇

作者: 天善智能 | 来源:发表于2019-03-01 11:07 被阅读16次

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!

    对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。

    作者:法纳斯特,Python爱好者,专注爬虫,数据分析及可视化

    微信公众号:法纳斯特(ID: walker398)

    她爹也是猪!她娘也是猪! 儿子还是猪!一窝猪!

    或许这就是最好的回答。

    原本只是一部电影方与移动合作的宣传短片。

    却因里面打动人心的故事,大火了一把。

    就如我之前的一篇文章里所提的。

    不是年味越来越少,而是我们都长大了。

    影片透露出那一股暖人心的亲情,如今也是越来越不容乐观。

    物以稀为贵,或许这就便是能引起大家共鸣的原因吧。

    其实大家心里都想,只不过由于种种原因,没能实现罢了。

    本次对B站的弹幕数据进行获取。

    来看看大家的弹幕信息,能不能让我们得到回答。

    亦或发现一些有趣的信息。

    / 01 / 网页分析

    B站的弹幕数据有现成的接口,只需找到对应视频的cid值即可。

    从上图可以知道,弹幕一共2719条,视频的cid值为72036817。

    接下来访问接口,获取数据。

    网址:http://comment.bilibili.com/72036817.xml

    接口获取的弹幕数据最多只有1000条。

    但是总数却是是2719条,那么再找找看。

    登陆B站后,点击查看历史弹幕按钮。

    发现了每日视频的弹幕接口(只需将请求头加上cookies,即可访问)。

    发现还是限制1000条,这里也是不解。

    难不成每个视频播放时就只会放出来1000条弹幕?

    不过相比第一个接口,应该能多出不少弹幕。

    / 02 / 数据获取

    鉴于只是练手而已,就偷个懒。

    直接从不需要cookies的接口获取1000条弹幕。

    获取数据代码如下。

    from bs4 import BeautifulSoup
    import pandas as pd
    import requests

    url = 'http://comment.bilibili.com/72036817.xml'
    html = requests.get(url).content
    html_data = str(html, 'utf-8')
    soup = BeautifulSoup(html_data, 'lxml')
    results = soup.find_all('d')

    comments = [comment.text for comment in results]
    comments_dict = {'comments': comments}

    df = pd.DataFrame(comments_dict)
    df.to_csv('bilibili.csv', encoding='utf-8')

    最后成功获取1000条弹幕数据。

    第958条,和我外公外婆一样,来到家之后一包一包的都是他们从家里带来的菜和水果

    不知道,你有没有相同的感受呢?

    相信大多数人都会说,有!!!

    一种莫名的感动在心中。

    / 03 / 数据可视化

    利用jieba分词,对弹幕数据生成词云。

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

    df = pd.read_csv('bilibili.csv', header=None)

    text = ''
    for line in df[1]:
        text += ' '.join(jieba.cut(line, cut_all=False))
    backgroud_Image = plt.imread('peiqi.jpg')

    wc = WordCloud(
        background_color='white',
        mask=backgroud_Image,
        font_path='C:\Windows\Fonts\simhei.ttf',
        max_words=2000,
        max_font_size=80,
        random_state=30,
    )
    wc.generate_from_text(text)
    # 看看词频高的有哪些,把无用信息去除
    process_word = WordCloud.process_text(wc, text)
    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("佩奇.jpg")
    print('生成词云成功!')

    原图如下,来自一位PPT大神的鼠绘佩奇。

    如有需要下图的,公众号回复「佩奇」即可。

    最后生成词云图。

    啥是佩奇,我肯定是知道的...

    估计逛B站的大佬们也都知道,所以猪这个词,出现的并不多。

    看看弹幕数据还能发现一些其他什么东西。

    这里发现河北、保定、张家口、怀来县这几个地名冒出。

    说明短片可能是在河北省拍的。

    还有爷爷是短片的主角,短片中的手套和手机也成功吸引了大家的关注。

    朋克和硬核又是什么鬼,不解...

    / 04 / 总结

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

    说到底这个宣传片之所以能火起来,靠的还是咱中国人的情。

    是农村生活,过年生活的真实写照。

    反映了现代社会农村的真实情况,包括4G网以及智能手机还未普及,农村空巢老人的生活状态。

    或许,这就是大家有共鸣的点。

    万水千山总是情,点个「好看」行不行。

    作者其它好文推荐:

    Python数据可视化:豆瓣电影TOP250

    Python的爱好者社区历史文章大合集

    2018年Python爱好者社区历史文章合集(作者篇)

    关注后在公众号内回复“ 课程 ”即可获取:

    小编的转行入职数据科学(数据分析挖掘/机器学习方向)【最新免费】

    小编的Python的入门免费视频课程

    小编的Python的快速上手matplotlib可视化库!

    崔老师爬虫实战案例免费学习视频。

    陈老师数据分析报告扩展制作免费学习视频。

    玩转大数据分析!Spark2.X + Python精华实战课程免费学习视频。

    相关文章

      网友评论

          本文标题:Python数据可视化:啥是佩奇

          本文链接:https://www.haomeiwen.com/subject/osoruqtx.html