加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python数据可视化:啥是佩奇

发布时间:2019-01-26 01:04:56 所属栏目:教程 来源:小F
导读:她爹也是猪!她娘也是猪! 儿子还是猪!一窝猪! 或许这就是最好的回答。 原本只是一部电影方与移动合作的宣传短片。 却因里面打动人心的故事,大火了一把。 就如我之前的一篇文章里所提的。 不是年味越来越少,而是我们都长大了。 影片透露出那一股暖人心的亲
副标题[/!--empirenews.page--]

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

或许这就是最好的回答。

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

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

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

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

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

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

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

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

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

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

一、 网页分析

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

Python数据可视化:啥是佩奇

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

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

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

Python数据可视化:啥是佩奇

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

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

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

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

Python数据可视化:啥是佩奇

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

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

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

Python数据可视化:啥是佩奇

二、数据获取

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

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

获取数据代码如下。

  1. from bs4 import BeautifulSoup 
  2. import pandas as pd 
  3. import requests 
  4.  
  5. url = 'http://comment.bilibili.com/72036817.xml' 
  6. html = requests.get(url).content 
  7. html_data = str(html, 'utf-8') 
  8. soup = BeautifulSoup(html_data, 'lxml') 
  9. results = soup.find_all('d') 
  10.  
  11. comments = [comment.text for comment in results] 
  12. comments_dict = {'comments': comments} 
  13.  
  14. df = pd.DataFrame(comments_dict) 
  15. df.to_csv('bilibili.csv', encoding='utf-8') 

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

Python数据可视化:啥是佩奇

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

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

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

一种莫名的感动在心中。

三、数据可视化

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

  1. from wordcloud import WordCloud, ImageColorGenerator 
  2. import matplotlib.pyplot as plt 
  3. import pandas as pd 
  4. import jieba 
  5.  
  6. df = pd.read_csv('bilibili.csv', header=None) 
  7.  
  8. text = '' 
  9. for line in df[1]: 
  10.     text += ' '.join(jieba.cut(line, cut_all=False)) 
  11. backgroud_Image = plt.imread('peiqi.jpg') 
  12.  
  13. wc = WordCloud( 
  14.     background_color='white', 
  15.     mask=backgroud_Image, 
  16.     font_path='C:WindowsFontssimhei.ttf', 
  17.     max_words=2000, 
  18.     max_font_size=80, 
  19.     random_state=30, 
  20. wc.generate_from_text(text) 
  21. # 看看词频高的有哪些,把无用信息去除 
  22. process_word = WordCloud.process_text(wc, text) 
  23. sort = sorted(process_word.items(), key=lambda e:e[1], reverse=True) 
  24. print(sort[:50]) 
  25. img_colors = ImageColorGenerator(backgroud_Image) 
  26. wc.recolor(color_func=img_colors) 
  27. plt.imshow(wc) 
  28. plt.axis('off') 
  29. wc.to_file("佩奇.jpg") 
  30. print('生成词云成功!') 

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

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读