文末領取【pandas題庫】
上篇文章→:3個套路帶你玩轉Excel動態圖表
繼《隱秘的角落》後,又一部「爆款劇」——《三十而已》獲得了口碑收視雙豐收,王漫妮、顧佳、鍾曉芹三個女主角的故事線頻頻登上微博熱搜。該劇於2020年7月17日在東方衛視首播,並在騰訊視頻同步播出。為了了解吃瓜群眾們對這部劇的看法,我爬了爬騰訊視頻關於這部劇的評論,並做了簡單文本可視化分析。
01 數據獲取
1.分析評論頁面
騰訊視頻評論要點擊查看更多評論才能加載更多數據,很明顯是一個動態網頁,評論內容使用了Ajax動態加載技術。因此,我們需要找到真實URL,然後再請求數據。
找到真實URL其實不難,按照以下步驟即可找到。當然,你也可以使用抓包工具fiddler,同樣可以輕鬆找到。
2.尋找參數規律
我們多刷新幾次,找幾個真實的URL看看這些參數有什麼變化。下圖是我刷新了3次得到的真實的URL:
第1次刷新:
https://video.coral.qq.com/varticle/5572751505/comment/v2?callback=_varticle5572751505commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6689895369036463828&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1595994099261
第2次刷新:
https://video.coral.qq.com/varticle/5572751505/comment/v2?callback=_varticle5572751505commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6689950633282796870&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1595994099262
第3次刷新:
https://video.coral.qq.com/varticle/5572751505/comment/v2?callback=_varticle5572751505commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6690046095919619518&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1595994099263
很顯然,只有cursor=?和_=?有變化,_=?為公差為1的等差數列,而cursor=?貌似沒有什麼規律。根據以往經驗,這類參數有可能藏在上一個真實URL中。我們嘗試將第1個URL在瀏覽器中打開,然後搜索第2個真實URL的中的cursor值。
還真有!一般情況下,我們還要多試幾次,對我們的猜想進行驗證。既然規律已經找到,接下來就很簡單了。限於篇幅,以下給出部分代碼:
def main:
初始待刷新頁面的cursor=?
lastId="0"
for i in range(1,1000):
time.sleep(1)
html = get_content(page,lastId)
獲取下一輪刷新頁ID
lastId=get_lastId(html)
page += 1
if __name__ == '__main__':
main
02 數據處理
1.導入相關包
分詞庫
import jieba
import re
繪製詞雲圖
text1 = get_cut_words(content_series=df1['評論內容'])
stylecloud.gen_stylecloud(text=' '.join(text1), max_words=1000,
collocations=False,
font_path='演示悠然小楷.ttf',
icon_name='fas fa-heart',
size=653,
palette='matplotlib.Inferno_9',
output_name='./評論.png')
Image(filename='./評論.png')
通過對一萬多條熱評內容繪製詞雲圖,我們很容易看出大家對《三十而已》的喜歡,以及對主要角色和演員的關注。家庭與工作如何兼得?婚姻與愛情如何共處?這些問題都被廣大觀眾所熱議。
2.評論類型分布
df2 = df1.groupby('評論類型')['評論內容'].count
df2 = df2.sort_values(ascending=False)
regions = df2.index.to_list
values = df2.to_list
c = (
Pie(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
.add("", zip(regions,values),radius=["40%", "70%"])
.set_global_opts(title_opts=opts.TitleOpts(title="評論類型佔比",subtitle="數據來源:騰訊視頻",pos_top="2%",pos_left = 'center'))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%",font_size=18))
)
c.render_notebook
從評論類型來看,以短評居多,佔比72.52%。另外,有4.15%的評論者給出了50字以上的評論,表達出自己對《三十而已》的獨到見解。
3.演員角色提及
df3 = df1.iloc[:,2:].sum.reset_index.sort_values(0,ascending = True)
df3.columns = ['角色','次數']
df3['佔比'] = df3['次數'] / df3['次數'].sum
c = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
.add_xaxis(df3['角色'].to_list)
.add_yaxis("",df3['次數'].to_list).reversal_axis 更改橫坐標字體大小
yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=16)), #更改縱坐標字體大小
)
.set_series_opts(label_opts=opts.LabelOpts(font_size=16,position='right'))
)
c.render_notebook
童瑤及其飾演的顧佳被評論者提及的次數最多,都超過500次。江疏影,人氣也較高,獲得了300多次的評論。王漫妮和鍾曉芹提及次數相對少一些,隨著劇情的推進應該會有所提升。
4.對王漫妮的評論
王漫妮是眾人眼中的標準都市女性,大家普遍認為她長得好看又努力上進,甚至有人覺得她是完美的存在。身為櫃姐的她對顧客進行極致化服務,卻遭到現實的嘲諷。感情上,想要好好過日子的她卻遇到不該遇到的男人。
5.對顧佳的評論
顧佳作為一名全職太太,在觀眾看來是個優秀的居家女人。雙商在線能力強,將自己的孩子和丈夫的公司都打理得井井有條。與此同時,幸福的生活出現了入侵者,顧佳沒有被現實打倒,勇敢應戰。另外,顧佳因為長得像章子怡,也被眾多觀眾所提及。
6.對鍾曉芹的評論
鍾曉芹被認為是標準化的大多數,嫁給事業單位鐵飯碗的男人,安心做一個平凡妻子,過一個普通生活。卻因寫作愛好偶然賣出高價版權,家庭情況變得複雜,鍾曉芹面臨艱難抉擇。
04
聲明
本數據分析只做學習研究之用途,評論數據範圍為第一集,提供的結論僅供參考
作者與騰訊視頻無任何瓜葛,只是他家評論數據比較全面,大家也可以去豆瓣看看
作者對影視行業了解甚微,相關描述可能存在不盡完善之處,請勿對號入座
長按下方海報添加微信領取【pandas題庫】
↓↓↓文末點擊閱讀原文獲取直播連結↓↓↓
· 愛數據每周免費直播 ·
直播主題:數據分析面試:如何應對業務問題
直播內容:
數據分析師業務問題分類
業務面問題舉例
回答業務面的要點以及策略
題目1:網站銷售額下降專題分析
題目2:用戶流失專題分析
直播時間:8月6日周四20:30準時直播分享
球分享
球在看