Python解讀:五月天線上演唱會刷屏!這裡有你的青春嗎?

2020-12-10 CDA數據分析師

【導語】:今天我們來聊聊五月天這場刷屏朋友圈的線上演唱會,Python技術部分請看第四部分

Show me data,用數據說話!

在五月的最後一天,五月天實現了他們2020年的「五月之約」。5月31日 一場席捲朋友圈的線上演唱會如約上演。

空蕩的體育館,數萬根銀光棒,一個樂隊獨自在開狂歡的party ,感覺最近真的被蛋黃長裙洗腦了,深陷Jony J 魔咒。

好,讓我們言歸正傳。五月天實現了5月的約定,歌迷滿足了娛樂填補內心空虛的需求,要不真的要去擺地攤了,所以這場演唱也是瞬間火遍了全網,朋友圈刷屏的都是「五月天線上演唱會」。

雖然只有短短一個小時,沒有安可的喊聲,但是現場的效果還是非常好的。五月天唱著青春、夢想,唱著自己的人生經歷,而身處人生各個階段、懷著各種心情的歌迷,似乎都能找到共鳴,得到激勵。

那麼五月天的線上演唱會裡,有你的青春嗎?下面讓我們用數據說話。

01、豆瓣9.4分,這場線上演唱會到底多好看?

首先讓我們看到豆瓣上的數據:

截止到目前為止,五月天的這次線上演唱會共有10萬餘人進行了評價,目前豆瓣評分為9.4分,是非常高的成績了。

豆瓣評分分布

進一步分析可以看到,評論中有68.4%的人給出了滿分5星,其次24.2%的人給出了4星。

豆瓣評論詞雲圖

豆瓣評論中大家都在說些什麼呢?可以看到"太短"是大家的統一呼聲,這樣的演唱會一個小時實在是太短了,還有歌迷感嘆到 「五月天的演唱會就像我的青春,猝不及防結束了。」與此同時"青春"、"感動"、"永遠"等也是常出現的高頻詞。

02、喜歡五月天的都是哪些人?

那麼喜歡五月天的都是哪些人呢?最後讓我們看到五月天微博的粉絲畫像,我們一共收集整理的微博評論和粉絲數據在去重後,分別是4288條和4213條。

微博粉絲性別佔比

首先在性別佔比方面,五月天的粉絲中女歌迷是主力,佔到了79.84%,男歌迷佔比20.16%。

微博粉絲地區分布

在粉絲分布方面,廣東省是最多的位居榜首,其次身處海外的歌迷也不少,位居第二。北京、浙江、江蘇分別位居三四五名。

微博粉絲年齡分布

粉絲的年齡分布方面,不用想,90後妥妥的佔到了絕大多數,佔比高達71.11%。其次是00後,佔比12.74,80後位居第三7.88%。粉絲中也不乏一些10後,佔比4.81%。

03、線上開唱1小時,3500萬人在線同步觀看

我們整理分析了QQ音樂上五月天的評論數據,去重之後得到7126條樣本。下面先看到結論:

評論實時走勢圖

可以看到,在整體評論的實時走勢圖來看:關於五月天的評論留言在5月31日線上演唱會當天達到頂峰,之後逐步回落,趨於平穩。

整體評論詞雲

那麼評論中大家都在說些什麼呢?

看到整體評論的詞雲圖,我們發現在當中"喜歡"、"希望"、"感動"都是出現頻率特別高的詞;還有就是"青春"這個詞也多次出現,的確,尤其對於90後來說,五月天就是我們這一代人的青春記憶。

同時關於本次線上演唱會也是討論的焦點,比如"直播"、"現場"、"回放"等都被大家提及。與此同時,《知足》、《倔強》等歌也在評論中多次出現,這些也是最讓人產生共鳴的歌曲。

評論中關注成員對比

那麼五月天的成員中,大家關注度最高的是哪位成員呢?沒錯,在這方面,阿信是毫無懸念的第一位。其他幾位成員冠佑、怪獸、石頭和瑪莎的關注度就差不多了,平分秋色。

阿信評論詞雲圖

關於阿信的評論大家都在說些什麼?看到詞雲圖,最主要的就是"喜歡"、"希望"、表達歌迷對阿信的喜愛和美好祝願的,其次還提到其他幾個樂隊成員,有意思的是提"前女友"的也特別多。

評論關注歌曲對比

五月天的金曲實在是太多太多了,哪些歌曲是最受大家關注的呢?

通過分析整理可以看到,提到最多的就是《突然好想你》了,然後就是《知足》《倔強》。除此之外,還有《我不願讓你一個人》《星空》《盛夏光年》等等,全都是耳熟能詳的名曲。

04、教你用Python分析,QQ音樂評論數據

我們使用Python分別獲取了QQ音樂五月天/TME live評論數據、豆瓣短評數據和微博樂高中國的評論和粉絲數據,進行了數據分析。此處展示QQ音樂評論分析部分關鍵代碼,整體的分析流程如下:

評論數據獲取數據預處理數據可視化分析01 數據獲取

首先,我們獲取五月天/TME live的評論數據,地址如下:

https://y.qq.com/n/yqq/mv/v/k0034mj6ty2.html

通過分析網頁可以發現,評論的數據是通過js進行動態加載的,使用chrome瀏覽器簡單的抓包分析,得到真實的數據傳輸接口,通過精簡網址並修改其中的pageSize參數即可得到所有的數據。

代碼如下:

# 導入包

import pandas as pd

import time

import requests

import json

from faker import Factory

def get_qq_comment(page_num):

"""

功能:傳入頁面數,獲取QQ音樂評論數據。

"""

# 存儲數據

df_all = pd.DataFrame()

for i in range(page_num):

# 列印進度

print('我正在獲取第{}頁的信息'.format(i))

# 獲取URL

url = 'https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg?g_tk_new_20200303=1516279237&g_tk=470981629&loginUin=2315561922&hostUin=0&format=json&inCharset=utf8&outCharset=GB2312&notice=0&platform=yqq.json&needNewCode=0&cid=205360772&reqtype=2&biztype=5&topid=k0034mj6ty2&cmd=8&needmusiccrit=0&pagenum={}&pagesize=25&domain=qq.com&ct=24&cv=10101010'.format(i)

# 添加headers

headers = {

'user-agent': Factory.create().user_agent()

}

# 發起請求

r = requests.get(url, headers=headers)

# 解析網頁

json_data = json.loads(r.text)

# 獲取數據

comment_list = json_data['comment']['commentlist']

# 暱稱

nick_name = [i.get('nick') for i in comment_list]

# 評論內容

content = [i.get('rootcommentcontent') for i in comment_list]

# 評論時間

comment_time = [i.get('time') for i in comment_list]

# 存儲數據

df = pd.DataFrame({

'nick_name': nick_name,

'content': content,

'comment_time': comment_time

})

# 追加數據

df_all = df_all.append(df, ignore_index=True)

# 休眠一秒

time.sleep(1)

return df_all

if __name__ == '__main__':

# 運行函數

df = get_qq_comment(page_num=286)

通過以上程序,獲取到7127條評論數據。獲取數據格式如下所示:

df.head()

02 讀入數據和數據預處理

我們主要對以上獲取的數據集進行整理和清洗。工作包含:

檢查重複值和空值comment_time:將時間戳轉換成標準的時間格式content:替換錯誤值# 導入所需包

import numpy as np

import re

import jieba

# 讀入數據

df = pd.read_excel('../data/五月天QQ評論數據6.05.xlsx')

# 刪除重複值

df = df.drop_duplicates()

# 轉換函數

def transform_time(time_second):

time_array = time.localtime(time_second)

otherStyleTime = time.strftime('%Y-%m-%d %H:%M:%S', time_array)

return otherStyleTime

# 時間數據處理

df['comment_time'] = df['comment_time'].apply(lambda x: transform_time(x))

# content初步處理

pattern = re.compile('\[em\](.*?)\[/em\]')

df['content'] = df.content.str.replace(pattern, '')

df.head()

03 數據可視化分析

接下來我們使用數據可視化庫pyecharts進行以下的數據可視化分析,詞雲工具使用stylecloud庫。

# 導入庫

from pyecharts.charts import Pie, Bar, Map, Line, WordCloud, Page

from pyecharts import options as opts

from pyecharts.globals import SymbolType

import stylecloud

五月天QQ音樂評論日期走勢圖

# 日期數量

df['comment_time'] = pd.to_datetime(df['comment_time'])

day_num = df.comment_time.astype('str').str.split(':').str[0].value_counts().sort_index()

# 產生數據

x1_line1 = [i.split('2020-')[1] for i in day_num.index.values.tolist()]

y1_line1 = day_num.values.tolist()

# 繪製面積圖

line1 = Line(init_opts=opts.InitOpts(width='1350px', height='750px'))

line1.add_xaxis(x1_line1)

line1.add_yaxis('', y1_line1,

markpoint_opts=opts.MarkPointOpts(data=[

opts.MarkPointItem(type_='max', name='最大值'),

opts.MarkPointItem(type_='min', name='最小值')

]))

line1.set_global_opts(title_opts=opts.TitleOpts('五月天QQ音樂評論日期走勢圖'),

xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate='90')),

visualmap_opts=opts.VisualMapOpts(max_=2000)

)

line1.set_series_opts(label_opts=opts.LabelOpts(is_show=False),

linestyle_opts=opts.LineStyleOpts(width=3))

line1.render()

QQ音樂評論中關注歌手對比

# 計數

axin = df.content.str.contains('阿信|陳信宏').sum()

guaishou = df.content.str.contains('溫尚翊|阿翊|怪獸|團長').sum()

shitou = df.content.str.contains('石錦航|石頭').sum()

masha = df.content.str.contains('蔡升晏|瑪莎').sum()

guanyou = df.content.str.contains('劉冠佑|冠佑|劉諺明|劉浩明').sum()

actor_list = ['阿信', '怪獸', '石頭', '瑪莎', '冠佑']

actor_num = [int(axin), int(guaishou), int(shitou), int(masha), int(guanyou)]

# 條形圖

bar1 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))

bar1.add_xaxis(actor_list)

bar1.add_yaxis('', actor_num)

bar1.set_global_opts(title_opts=opts.TitleOpts(title='QQ音樂評論中關注歌手對比'),

visualmap_opts=opts.VisualMapOpts(max_=150),

)

bar1.render()

QQ音樂評論中關注歌曲對比

# 歌曲名稱

music_list = ['一顆蘋果', '盛夏光年', '孫悟空', '星空', '我不願讓你一個人',

'派對動物', '離開地球表面', '突然好想你', '愛情的模樣', '戀愛ing',

'知足', '諾亞方舟', '倔強']

music_num = [int(df.content.str.contains(pattern).sum()) for pattern in music_list]

# 創建df

df_music = pd.DataFrame({

'music_name': music_list,

'music_num': music_num

}).sort_values('music_num', ascending=True)

# 條形圖

bar2 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))

bar2.add_xaxis(df_music.music_name.values.tolist())

bar2.add_yaxis('', df_music.music_num.values.tolist())

bar2.set_global_opts(title_opts=opts.TitleOpts(title='QQ音樂評論中關注歌曲對比'),

visualmap_opts=opts.VisualMapOpts(max_=307),

)

bar2.set_series_opts(label_opts=opts.LabelOpts(position='right'))

bar2.reversal_axis()

bar2.render()

QQ評論整體詞雲圖

stylecloud.gen_stylecloud(text=' '.join(text_all), # text需要是str類型

max_words=1000,

collocations=False,

font_path=r'C:\Windows\Fonts\msyh.ttc',

icon_name='fas fa-comments',

size=768,

output_name='QQ音樂評論整體詞雲圖.png'

)

作者:澤龍、Mika

數據:真達

後期:澤龍

相關焦點

  • 五月天線上演唱會怎麼預約 五月天線上演唱會門票免費嗎
    5月25日,阿信在微博上傳預告影像並公布五月天即將於5月31日舉辦線上演唱會的好消息,發文表示:「誰說,2020沒有五月之約。2020.5.31,pm8:00,Mayday live in the sky。我們偶爾遲到,但是一定會到。5月的最後一天,每個城市,每個時區,全球同步,Live五月天。」
  • 五月天線上演唱會刷屏,這是給「大人們」的兒童節禮物
    五月的最後一天,一場「沒有觀眾的演唱會」在朋友圈和微博刷屏了。樂團五月天在臺北市體育場舉辦了出道以來首場線上live演唱會,各大平臺同步直播,上線後迅速收穫了上千萬流量。▲直播截圖。和歌迷們在五月相見,是五月天每年的慣例,今年受疫情的影響,演唱會被迫取消,於是他們就選擇「搬」來線上,用這種方式履行約定。▲樂隊主唱在微博發出「紀念票根」。
  • 預約人數超454萬人,五月天線上演唱會觸發青春回憶
    「抓住五月的尾巴。」「五月的最後一天看五月天!」5月31日晚,很多人在朋友圈和微博曬出藍色「票根」,這不是線下演出的票根,而是「五月天——突然好想見到你」的線上演唱會的「紀念票」。當晚,五月天演唱會全球同步播出,引發歌迷和網友們的線上狂歡。
  • 五月天線上演唱會直播地址 5月31日五月天線上演唱會在哪看
    五月天線上演唱會直播地址 5月31日五月天線上演唱會在哪看 五月天樂隊組合宣布,將在5月31日舉行線上演唱會,通過線上直播方式讓所有的粉絲可以與樂隊進行一年一度的演唱會。
  • 2020五月天線上演唱會時間是什麼時候?
    2020五月天線上演唱會時間是什麼時候?  2020年5月31日晚20:00  五月天線上演唱會在哪看:QQ音樂、酷狗音樂、酷我音樂、全民K歌等平臺  五月天線上演唱會直播預約:點擊進入截至2019年,發行了《第一張創作專輯》《愛情萬歲》《人生海海》《神的孩子都在跳舞》《後青春期的詩》《第二人生》《自傳》等九張專輯,創作並演唱了《瘋狂世界》《志明與春嬌》《溫柔》《倔強》《知足》《你不是真正的快樂》《突然好想你》等百餘首歌曲,舉辦了「你要去哪裡」、「天空之城」、「離開地球表面」、「諾亞方舟」、「人生無限公司」等多次巡迴演唱會,曾為《搖滾本事》《盛夏光年》《星空》《步步驚情》《你的名字
  • 五月天線上演唱會開唱現場0觀眾線上超火爆 哪首歌讓你聽哭了?
    「希望五月天讓你相信,這個世界上,有可以被兌現的諾言。」讓人驚喜的是,李榮浩、毛不易、蕭敬騰嘉賓助陣合唱《突然好想你》。有一天就是這一天,五月的最後一天我們去看五月天!五月天演唱會的歌你是不是每一首都會唱?誰沒在耳機裡循環播放《倔強》《盛夏光年》呢!直播現場處處可見粉絲激動回覆:「五月天現場演繹 《盛夏光年》,在無人的萬人體育場,太有感覺了吧!」
  • 五月天線上演唱會,告別五月,迎接六月
    嘿嘿嘿,現在的我可以說是太難受,相信大家應該都知道五月天的線上演唱會,但是小編由於某些原因還是沒有看到,真的是只能用遺憾來形容,作為五月天的鐵桿迷,我心態沒了啊,最然沒有看上,但是還是不得不發一篇文章來說一說五月天。
  • 五月天、劉若英頻刷屏 線上演唱會的商機在哪?
    來源:第一財經五月天、劉若英頻刷屏 線上演唱會的商機在哪?作者: 吳丹「誰說2020沒有五月之約?當我們唱起同一首歌,你不再是一個人。」5月25日,五月天在微博宣布,在5月的最後一天舉辦「突然好想見到你」線上演唱會。5月31日,這場演唱會引發80後、90後的集體刷屏。
  • 焦點分析|五月天線上刷屏,騰訊音樂背後打的什麼算盤?
    5月的最後一天,五月天在騰訊音樂平臺上開了1個小時的線上演唱會,引來了一波刷屏浪潮。多個演唱會相關話題上榜微博熱搜,其中「五月天線上演唱會」的閱讀次數已接近8億。不少網友留言,「很棒,就是時間有點短」、「陣容絕了,感謝主辦方」 、「圓了搶五月天演唱會門票的夢」等等。
  • 五月天線上演唱會即將來臨,紙巾,螢光棒,你們準備好了嗎?
    相信各位看到五月天線上演唱會的官宣,也是激動了一晚上吧,宣傳視頻看了不下十遍有木有?(沒看夠的繼續來看。)誰說2020沒有五月之約,我們偶爾遲到,但是一定會到,五月的最後一天,約定一起五月天。夠不夠得勁?夠不夠嗨?讓我們一起從五月唱到六月吧!
  • 5月31五月天線上演唱會觀看人數有多少?附回放入口
    5月31五月天線上演唱會觀看人數有多少?  共有超過3500萬人觀看直播,當晚有7條相關內容衝上微博熱搜榜。  截至在線上演出開播前,僅QQ音樂平臺預約觀看的人數就已超過454萬人。  公開資料顯示,5月25日,五月天成員阿信通過社交媒體發文稱,「誰說2020沒有五月之約。2020.5.31,pm8:00,Mayday live inthe sky。我們偶爾遲到,但是一定會到。5月的最後一天,每個城市,每個時區,全球同步,Live五月天」,由此正式宣布了五月天線上演唱會的消息。
  • 五月天線上演唱會時間公布,內附電視觀看直播詳細教程!
    五月天作為華語樂壇知名的樂隊之一,每一次的演唱會門票都會很快售罄。今日,五月天主唱阿信在社交網上公布一則重磅消息「誰說,2020沒有五月之約。2020.5.31,pm8:00,Mayday live in the sky。我們偶爾遲到,但是一定會到。
  • 五月天線上演唱會演出地曝光 首次戶外開唱0觀眾
    來源:新浪娛樂五月天線上演唱會地點曝光新浪娛樂訊 據臺媒報導,五月天25日無預警公布將於31日晚上8點舉辦「突然好想見到你Mayday live in the sky」線上演唱會,選在5月的最後一天,與粉絲實現五月之約;不同先前
  • 五月天線上演唱會直播入口:QQ音樂 全民K歌 酷狗音樂 酷我音樂
    五月天作為華語樂壇知名的樂隊之一,每一次的演唱會門票都會很快售罄。今日,五月天主唱阿信在社交網上公布一則重磅消息「誰說,2020沒有五月之約。2020.5.31,pm8:00,Mayday live in the sky。我們偶爾遲到,但是一定會到。5月的最後一天,每個城市,每個時區,全球同步,Live五月天。」
  • 五月天線上演唱會還沒看夠,這些「con」用英語怎麼說?
    還記得上個周日,五月的最後一天,刷爆朋友圈的五月天線上演唱會嗎?
  • 五月天線上演唱會視頻回看入口地址 五月天演唱會唱了幾首歌
    據臺灣媒體報導,五月天受到新冠肺炎疫情波及,將與歌迷的「五月之約」改為線上演出,5月31日晚他們在「突然好想見到你」演唱會帶來13首歌曲,不僅耗費心思搭建舞臺、燈光,還在觀眾席加上燈泡,象徵歌迷同在現場揮舞著螢光棒,讓線上網友直喊「好美」、「只想立刻衝到現場」、「頭一次在第1排看好爽」等。
  • 2020至2021五月天線上跨年演唱會直播入口
    每天都有分享。完全是免費訂閱,請放心關注。註:本文轉載自網絡,不代表本平臺立場,僅供讀者參考,著作權屬歸原創者所有。我們分享此文出於傳播更多資訊之目的。如有侵權,請在後臺留言聯繫我們進行刪除,謝謝!【導語】:2020年12月31日23:30五月天好好好想見到你線上演唱會來啦!12月31日,一起相約看直播吧!詳見正文!
  • 5月最後一天「五月天線上演唱會」:隔空對唱「突然好想你」五月天|...
    5月25日五月天主唱阿信發布消息5月的最後一天舉辦線上演唱會「我們偶爾遲到,但一定會到」他們說這個世界永遠會發生我們意想不到的事情改變隨時會來特別地想要做一件永遠不改變的事情所以有了「突然好想見到你」線上演唱會昨晚,五月天線上演唱會全場空座椅,現場沒有任何觀眾,但是每個座位上都放有螢光棒!
  • ...天線上演唱會」:隔空對唱「突然好想你」五月天|尤克裡裡彈唱曲譜
    音 樂 Music五月天曾經和歌迷們有一個約定每年的五月都要唱歌給大家聽因為疫情的關係原本以為今年沒有了五月之約5月25日五月天主唱阿信發布消息5月的最後一天舉辦線上演唱會「我們偶爾遲到,但一定會到」他們說這個世界永遠會發生我們意想不到的事情改變隨時會來特別地想要做一件永遠不改變的事情所以有了「突然好想見到你」線上演唱會昨晚,五月天線上演唱會全場空座椅,現場沒有任何觀眾,但是每個座位上都放有螢光棒!
  • 五月天線上演唱會時長太短?阿信回應
    5月31日,五月天舉辦「突然好想見到你」線上演唱會,6月1日晚,阿信上傳演唱會的精彩片段,配文回應網友調侃五月天「太短」:「五月天很短?一個小時的Live,才不短咧。」他還回憶了從第一次到最後團隊成員一起敲定沒有任何的質疑,因為相信「你會在這裡」。也更希望這次特殊的演唱會,讓大家以後回憶起來不只有那些令人恐懼的、害怕的 失望的、迷惑的的記憶,有的是美好的、歡樂的、感動的、不羈的、緊緊相系的、滿血復活的……還有一點笨拙的浪漫。阿信原文如下:五月天很短?