99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀Python\"大\"數(shù)據(jù)分析——《慶余年》為啥這么火?
Python\"大\"數(shù)據(jù)分析——《慶余年》為啥這么火?
2020-03-16
收藏
作者 | 俊欣 
來源 | AI籃球與生活

年末尾上映的古裝劇《慶余年》可謂是賺足了眼球,號稱投資了7個億,集齊陳道明吳剛袁泉等一票老戲骨,實力演員張若昀李沁主演,又有新頂流肖戰(zhàn)做配,在播出后沒多久便圈粉無數(shù)

在微博上對該話題的討論和閱讀數(shù)量已經(jīng)達到了幾十億(當然會存在水軍的成分),播一集就能上微博熱搜。在打分苛刻的豆瓣上面,截至目前為止,共有15萬人參與了打分,評分也維持在了7.9分左右搖擺,各大視頻網(wǎng)站也想趁這波熱潮想要從觀眾手中賺上一筆,特地推出了一個“超前點播“,惹得網(wǎng)友和眾多媒體吐槽聲不斷,

而前幾天的整部劇全集被泄露又是掀起了一波高潮,一些主流的視頻網(wǎng)站和版權(quán)方也因此損失慘重。當然我們整個社會需要加強打擊盜版這種違法行為,不過“超前點播”這種吃相并不好看的行為倒并不值得提倡!!

Anyway,今天小編呢從豆瓣上面爬取了關(guān)于慶余年的相關(guān)信息,通過“大數(shù)據(jù)”(其實并不大,或者還有點小)來幫大家分析一下,為什么觀眾喜歡看這部劇,喜歡看這部劇的觀眾又是誰以及看了之后又是怎么評價的。

01

數(shù)據(jù)的獲取

首先是關(guān)于數(shù)據(jù)的獲取,要想獲取豆瓣上面的數(shù)據(jù),首先需要登錄自己的豆瓣賬戶和密碼,并且獲取cookie,然后跳轉(zhuǎn)到《慶余年》相關(guān)的頁面,就是這個樣子,

然后我們利用request庫發(fā)送請求,便能夠獲得我們想要的數(shù)據(jù),相當簡單。小編此次爬取了觀看過、正在觀看的觀眾的相關(guān)信息以及評論的具體內(nèi)容。

登錄豆瓣頁面并獲取cookie

爬取評論內(nèi)容

02

數(shù)據(jù)的分析和挖掘

爬完數(shù)據(jù)之后,接下來便是簡單的數(shù)據(jù)清理和分析,以及數(shù)據(jù)可視化。用Python做數(shù)據(jù)可視化的工具有很多,目前比較輕量級好用的庫是pyecharts,在這里,小編就不做贅述。我們看一下pyecharts來對已經(jīng)獲取的數(shù)據(jù)做的可視化結(jié)果。

1、總體評分

《慶余年》在豆瓣當中的總體評分維持在7.9分左后,并不算低,并且有15萬人參與了評分。從評分的分布來看,大多數(shù)評分給了4星,占總數(shù)的48.7%,其次是5星,占總數(shù)的36.5%,剩下便是3星及以下的評分,一共占到了總數(shù)的14.8%,已經(jīng)是一個相當?shù)偷谋壤恕?/span>

2、城市以及省份的差異

首先是直方圖來粗略的展示前十大追劇熱度最高的城市,如下圖所示

但是直方圖的呈現(xiàn)并不總是那么的直觀和易于理解,所以小編也采用地圖的形式向大家展示主要看劇的觀眾分布在哪幾個區(qū)域,

可以看得出來,在長三角和珠三角這兩片區(qū)域聚集了大量熱愛該部劇的粉絲。

3、評論分析

在整理和分析了評論內(nèi)容之后,小編首先是對包含劇中人物的評論做了歸類,并通過直方圖來呈現(xiàn),


直方圖中我們可以看到,范閑和慶帝是被提到的次數(shù)最多的兩位人物,接下去便是林婉兒和長公主(畢竟人家皮膚這么好,看著一點都像40多歲的女性?)。既然張若昀在劇中的人氣這么高,小編便對針對范閑的評論做了進一步的探索,并用wordcloud庫繪制詞云圖。從詞云的分析情況來看,“劇情”,“搞笑”,“演技”,“原著”等字眼格外的醒目。

的確,這部劇不僅僅是劇情有趣,每一個演員演技還相當在線,該部劇不僅有張若昀、李沁、肖戰(zhàn)等青年演員,還有一大批演技精湛的老戲骨參演,其中7名是國家一級演員,(“一級演員”是文藝界設(shè)立的專業(yè)技術(shù)職稱,是國家對演員的最高職稱享受國務(wù)院特殊津貼。能獲得國家一級演員的稱號是莫大的榮譽)。

劇情精彩不拖沓,主演專業(yè)不尷尬,人物設(shè)定完美,劇中臺詞又不時會誕生各種金句和表情包,于情于理《慶余年》確實很難不火。

而《慶余年》的第二季也很快會開始拍攝,這下喜歡該劇的觀眾和粉絲可以期待一下了!

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }