會唱歌的程式設計師為何如此受歡迎?
文章轉載自公眾號 凹凸玩資料
愛奇藝的獨家綜藝《樂隊的夏天》總決賽終於落下了帷幕,雖然決賽過程有些“曲折”,但是我最喜歡的刺蝟樂隊,仍然憑藉自己的硬實力,最終排在第二名!
值得一提的是,這隻樂隊的吉他手兼主唱也是一位程式設計師。
刺蝟樂隊其實成立10多年了,很有實力。
但是在老牌樂隊雲集的這次比賽中,第一次31進16時僅僅排在第12名,那麼他又是如何逆風翻盤的?
讓我來複盤一下。
獲取資料
獲取愛奇藝影片《樂隊的夏天》各期節目的下面的評論。
F12,Network檢視非同步請求XHR,找到評論介面。
不要以為這裡結束了,我們來看一下Request URL
content_id=2537368600&types=time&last_id=213811925021
&business_type=17&agent_type=119&agent_version=9.9.0&authcookie=
經過測試,大部分引數都是不變的,只有“content_id”和“last_id”,content_id對於每一期節目是固定的,我們可以自己手動獲分析獲得。那麼last_id是怎麼來的?
給大家放一下連續幾頁的 last_id 看一下吧。
213811925021
213372828221
212600215021
211973666621
它們之間並沒有什麼累加的規律。
放棄的同學可以直接翻到上一張圖,標黃的部分“213811925021”,正是我們看到的第一個 last_id 引數。
也就是說每個json裡的最後一個 CommentId ,作為下一個url的 last_id 使用。
那麼我們需要注意的就是在解析json的過程中需要返回最後一個 CommentId 。
def get_comments(url):
data = []
doc = get_json(url)
jobs=doc['data']['comments']
for job in jobs:
dic = {}
global CommentId
CommentId=jsonpath.jsonpath(job,'$..id')[0] #id
dic['id'] = CommentId
dic['content']=jsonpath.jsonpath(job,'$..content')[0] #評論
add_Time=jsonpath.jsonpath(job,'$..addTime')[0] #時間
dic['addTime'] = stampToTime(add_Time) #轉化時間格式
dic['uid']=jsonpath.jsonpath(job['userInfo'],'$..uid')[0] #使用者id
dic['uname']=jsonpath.jsonpath(job['userInfo'],'$..uname')[0] #使用者名稱稱
dic['gender']=jsonpath.jsonpath(job['userInfo'],'$..gender')[0] #性別
data.append(dic)
return data,CommentId #獲得每個json裡的最後一個CommentId
資料分析
一個樂隊名稱在每期評論中的提及次數,可以側面反映這隻樂隊在這期節目後受到觀眾喜歡的程度。
#樂隊在評論中的提及數
a = {'痛仰':'痛仰', '新褲子':'褲子','猴子軍團':'猴子軍團','鹿先森':'鹿先森','旺福':'旺福','九連真人':'九連','盤尼西林':'盤尼西林|青黴素',
'反光鏡':'反光鏡','click15':'click15|#15','海龜先生':'海龜先生','皇后皮箱':'皇后皮箱','面孔':'面孔','和平和浪':'和平和浪','MR.MISS':'MR.MISS|MISS',
'VOGUE5':'VOGUE5|VOGUE','薄荷綠':'薄荷綠','熊貓眼':'熊貓眼','果味VC':'果味VC','BONGBONG':'BONGBONG','醒山':'醒山','刺蝟':'刺蝟','旅行團':'旅行團',
'麋鹿王國':'麋鹿王國','宇宙人':'宇宙人','黑撒':'黑撒','南無':'南無','斯斯與帆':'斯斯與帆','葡萄不憤怒':'葡萄不憤怒','茶涼粉':'茶涼粉',
'青年小夥子':'青年小夥子','Mr.WooHoo':'Mr.WooHoo|WooHoo',}
for key, value in a.items():
data1[key] = data1['content'].str.contains(value)
staff_count = pd.Series({key: data1.loc[data1[key], 'content'].count() for key in a.keys()}).sort_values()
print(staff_count)
以第一期為例,結果如下。
每期節目的樂隊排名都依次降序盤點彙總一下。
結果還蠻驚訝的。
除去第二期他們沒有參加,也就是說從第三期開始,刺蝟樂隊便開始展現實力,幾乎每一期都能讓觀眾如此喜歡。
資料視覺化
篩選出評論中提到刺蝟樂隊的評論資料。
data_ciwei= data[data['content'].str.contains('刺蝟')]
爬取得到的資料欄位其實沒幾個。
簡單看一下喜歡他們的觀眾的性別分佈。
from pyecharts import Pie
# 生成餅圖
gender_data = data_ciwei.groupby(['gender'])
gender_cw = gender_data['gender'].agg(['count'])
gender_cw.reset_index(inplace=True)
attr = ['女', '男', '無']
v1 = gender_cw['count']
pie = Pie("評論提及刺蝟樂隊的使用者性別分佈", title_pos='center', title_top=0)
pie.add("", attr, v1, radius=[40, 70], label_text_color=None, is_label_show=True, legend_orient="vertical", legend_pos="left", legend_top="%10")
pie
使用pyecharts作圖。
至於評論的長度之類的就不做分析了。
最後看一下詞雲,不用jieba分詞試試。
from pyecharts import WordCloud
# 生成詞雲
bj_tag = []
for st in data_ciwei.dropna(subset=['content'])['content']:
bj_tag.extend(st.split(' '))
name, value = WordCloud.cast(Counter(bj_tag))
wordcloud = WordCloud(width=1000, height=500)
wordcloud.add("", name, value, word_size_range=[18, 250])
wordcloud
還是使用pyecharts作圖。
可以看出觀眾對於刺蝟樂隊的要麼是直接誇,要麼是和其他強隊做對比,總體都是希望它能越來越好。
刺蝟總是強調搖滾樂是屬於年輕人的,35歲之後可能就不那麼搖滾了。
不過35歲之後,他們又將去向哪裡呢?
也許等到中年的子健,面對著年輕的樂手們會說:
我不是針對誰,我是說在坐的各位,都沒我程式碼寫的好!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31555699/viewspace-2654172/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 邊緣計算為何會如此受歡迎?
- [翻譯] 為什麼 Golang 在系統程式設計中如此受歡迎?Golang程式設計
- 作為一門程式語言 Python為什麼如此受歡迎Python
- 怎樣成為一名受程式設計師歡迎的產品經理程式設計師
- 為什麼React Native如此受歡迎的7個原因React Native
- UI設計師在哪些就業方向受歡迎呢?UI就業
- 簡單是優勢,但為何複雜性還受歡迎?
- 樂訊通雲通訊:物聯網路卡為什麼如此受歡迎?
- 程式設計師,為什麼如此迷茫?程式設計師
- Linux為啥會那麼受歡迎?Linux學多久Linux
- 為何程式設計如此之難?Erlang 之父的感觸程式設計
- 社交交友原始碼app為何受歡迎?它具有哪些功能特點?原始碼APP
- 為什麼Linux這麼受歡迎?Linux
- 為什麼 PostgresSQL 比 mySQL 更受歡迎?MySql
- 在中國,什麼樣的Java程式設計師最受歡迎Java程式設計師
- 深受Java程式設計師歡迎的10款Java IDEJava程式設計師IDE
- 軟體測試架構師受歡迎嗎?架構
- 為何程式設計師工資高?程式設計師
- 深受C/C++程式設計師歡迎的11款IDEC++程式設計師IDE
- 程式設計師會喜歡的 12 款鍵盤程式設計師
- 為什麼python大資料受歡迎?Python大資料
- 為什麼bootstrap不再那麼受歡迎了?boot
- 為什麼程式設計師喜歡在深夜程式設計?程式設計師
- 為啥程式設計師喜歡Android?程式設計師Android
- Linux作業系統有什麼吸引力,在程式設計師中這麼受歡迎!Linux作業系統程式設計師
- 7個最受Linux程式設計師歡迎的程式碼編輯器Linux程式設計師
- 5個最受Linux程式設計師歡迎的程式碼編輯器Linux程式設計師
- 低程式碼開發平臺為什麼那麼受歡迎
- Python語言如此受歡迎 學習Python要多長時間Python
- 程式設計師 為何你不該加班?程式設計師
- 程式設計師為什麼喜歡程式設計這項工作?程式設計師
- 為什麼NoSQL資料庫這麼受歡迎?SQL資料庫
- 物聯網路卡為什麼那麼受歡迎
- 什麼樣的工程師更受大公司的歡迎?工程師
- Golang 受歡迎的原因:大道至簡Golang
- 受歡迎的無程式碼開發平臺有哪些?
- 聽說Python在程式設計師裡很受歡迎,啥理由?Python程式設計師
- 想成為高階程式設計師?最受歡迎的十大資料庫,全給你了!程式設計師大資料資料庫