Python數(shù)據(jù)可視化:啥是佩奇
她爹也是豬!她娘也是豬! 兒子還是豬!一窩豬!
或許這就是***的回答。
原本只是一部電影方與移動(dòng)合作的宣傳短片。
卻因里面打動(dòng)人心的故事,大火了一把。
就如我之前的一篇文章里所提的。
不是年味越來越少,而是我們都長大了。
影片透露出那一股暖人心的親情,如今也是越來越不容樂觀。
物以稀為貴,或許這就便是能引起大家共鳴的原因吧。
其實(shí)大家心里都想,只不過由于種種原因,沒能實(shí)現(xiàn)罷了。
本次對(duì)B站的彈幕數(shù)據(jù)進(jìn)行獲取。
來看看大家的彈幕信息,能不能讓我們得到回答。
亦或發(fā)現(xiàn)一些有趣的信息。
一、 網(wǎng)頁分析
B站的彈幕數(shù)據(jù)有現(xiàn)成的接口,只需找到對(duì)應(yīng)視頻的cid值即可。
從上圖可以知道,彈幕一共2719條,視頻的cid值為72036817。
接下來訪問接口,獲取數(shù)據(jù)。
網(wǎng)址:http://comment.bilibili.com/72036817.xml
接口獲取的彈幕數(shù)據(jù)最多只有1000條。
但是總數(shù)卻是是2719條,那么再找找看。
登陸B(tài)站后,點(diǎn)擊查看歷史彈幕按鈕。
發(fā)現(xiàn)了每日視頻的彈幕接口(只需將請(qǐng)求頭加上cookies,即可訪問)。
發(fā)現(xiàn)還是限制1000條,這里也是不解。
難不成每個(gè)視頻播放時(shí)就只會(huì)放出來1000條彈幕?
不過相比***個(gè)接口,應(yīng)該能多出不少彈幕。
二、數(shù)據(jù)獲取
鑒于只是練手而已,就偷個(gè)懶。
直接從不需要cookies的接口獲取1000條彈幕。
獲取數(shù)據(jù)代碼如下。
- 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條彈幕數(shù)據(jù)。
第958條,和我外公外婆一樣,來到家之后一包一包的都是他們從家里帶來的菜和水果。
不知道,你有沒有相同的感受呢?
相信大多數(shù)人都會(huì)說,有!!!
一種莫名的感動(dòng)在心中。
三、數(shù)據(jù)可視化
利用jieba分詞,對(duì)彈幕數(shù)據(jù)生成詞云。
- 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大神的鼠繪佩奇。
如有需要下圖的,公眾號(hào)回復(fù)「佩奇」即可。
***生成詞云圖。
啥是佩奇,我肯定是知道的...
估計(jì)逛B站的大佬們也都知道,所以豬這個(gè)詞,出現(xiàn)的并不多。
看看彈幕數(shù)據(jù)還能發(fā)現(xiàn)一些其他什么東西。
這里發(fā)現(xiàn)河北、保定、張家口、懷來縣這幾個(gè)地名冒出。
說明短片可能是在河北省拍的。
還有爺爺是短片的主角,短片中的手套和手機(jī)也成功吸引了大家的關(guān)注。
朋克和硬核又是什么鬼,不解...
四、總結(jié)
下面這段內(nèi)容,摘自知乎。
說到底這個(gè)宣傳片之所以能火起來,靠的還是咱中國人的情。
是農(nóng)村生活,過年生活的真實(shí)寫照。
反映了現(xiàn)代社會(huì)農(nóng)村的真實(shí)情況,包括4G網(wǎng)以及智能手機(jī)還未普及,農(nóng)村空巢老人的生活狀態(tài)。
或許,這就是大家有共鳴的點(diǎn)。