爬取了 48048 條評(píng)論數(shù)據(jù),解讀 9.3 分的《毒液》是否值得一看谓苟?

11月官脓,由湯姆·哈迪主演的“毒液:致命守護(hù)者”在國(guó)內(nèi)上映,依托漫威的光環(huán)以及演員們精湛的演技涝焙,這部動(dòng)作科幻片在貓眼評(píng)分得到豆瓣7.4的評(píng)分卑笨,口碑和票房都高于大多數(shù)同期上映的其他影片。

所以周日的時(shí)候跟基友去電影院去看了這場(chǎng)正邪共生的電影仑撞,100多人的影院座無虛席赤兴,不過看完之后對(duì)比其他漫威作品,我倒也沒覺得有多大的驚喜隧哮,覺得貓眼上的9.3評(píng)分的感受不符桶良。

頭部的幾條評(píng)論顯然有些夸大,那大眾對(duì)“毒液”感受是怎么呢沮翔?于是筆者動(dòng)手開始分析起來陨帆。

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

首先要獲取數(shù)據(jù),準(zhǔn)備爬取貓眼上的電影評(píng)論作為本次分析樣本鉴竭,PC官網(wǎng)上只顯示了電影的10條熱門短評(píng)歧譬,顯然不夠岸浑,于是準(zhǔn)備從M端抓包找到評(píng)論接口搏存。

接口鏈接:

http://m.maoyan.com/mmdb/comments/movie/42964.json?v=yes&offset=15&startTime=2018-11-20%2019%3A17%3A16。

接口中對(duì)我們本次抓取主要有用的參數(shù)是offset偏移量以及日期矢洲,這兩個(gè)條件限制了抓取的條數(shù)璧眠。分析接口結(jié)果:


這里有用戶評(píng)論的相關(guān)數(shù)據(jù),我們選取了地理位置(用戶為授權(quán)無法獲取)责静、評(píng)論內(nèi)容袁滥、用戶名、評(píng)分以及評(píng)論時(shí)間的數(shù)據(jù)灾螃,通過python的requests模塊開始爬取题翻。導(dǎo)入本次爬取需要的包,開始抓取數(shù)據(jù)腰鬼。

`defget_data(url):

headers?=?{

'User-Agent':'Mozilla/5.0?(iPhone;?CPU?iPhone?OS?11_0?like?Mac?OS?X)?AppleWebKit/604.1.38?(KHTML,?like?Gecko)?Version/11.0?Mobile/15A372?Safari/604.1'}

html?=?requests.get(url,?headers=headers)

ifhtml.status_code?==200:

returnhtml.content

else:

returnnone`

其次是解析Json數(shù)據(jù)嵌赠,每個(gè)接口有15條評(píng)論數(shù)據(jù),10條熱門評(píng)論數(shù)據(jù)熄赡,我們將評(píng)論數(shù)據(jù)中用戶名姜挺、城市名、評(píng)論內(nèi)容彼硫、評(píng)分炊豪、評(píng)論時(shí)間依次解析出來,并返回拧篮。

`defparse_data(html):

json_data?=?json.loads(html)['cmts']

comments?=?[]

try:

foriteminjson_data:

comment?=?{

'nickName':?item['nickName'],

'cityName':?item['cityName']if'cityName'initemelse'',

'content':?item['content'].strip().replace('

',''),

'score':?item['score'],

'startTime':?item['startTime']

}

comments.append(comment)

returncomments

exceptExceptionase:

print(e)`

接著我們將獲取到的數(shù)據(jù)保存到本地词渤。此過程中,對(duì)接口url中時(shí)間的處理借鑒了其他博主的爬蟲思路串绩,將每次爬取的15條數(shù)據(jù)取最后一條的評(píng)論時(shí)間掖肋,減去一秒(防止重復(fù)),從該時(shí)間向前獲取直到影片上映時(shí)間赏参,獲取所有數(shù)據(jù)志笼。

`defsave():

start_time?=?datetime.now().strftime('%Y-%m-%d?%H:%M:%S')

end_time?='2018-11-09?00:00:00'

whilestart_time?>?end_time:

url?='http://m.maoyan.com/mmdb/comments/movie/42964.json?_v_=yes&offset=15&startTime='+?start_time.replace(

'?','%20')

html?=None

try:

html?=?get_data(url)

exceptExceptionase:

time.sleep(0.5)

html?=?get_data(url)

else:

time.sleep(0.1)

comments?=parse_data(html)

start_time?=?comments[14]['startTime']

print(start_time)

start_time?=?datetime.strptime(start_time,'%Y-%m-%d?%H:%M:%S')?+?timedelta(seconds=-1)

start_time?=?datetime.strftime(start_time,'%Y-%m-%d?%H:%M:%S')

foritemincomments:

print(item)

withopen('files/comments.txt','a',?encoding='utf-8')asf:

f.write(item['nickName']+','+item['cityName']?+','+item['content']+','+str(item['score'])+?item['startTime']?+'

')

if__name__?=='__main__':

url?='http://m.maoyan.com/mmdb/comments/movie/42964.json?_v_=yes&offset=15&startTime=2018-11-19%2019%3A36%3A43'

html?=?get_data(url)

reusults?=?parse_data(html)

save()`

最終抓取了48048條評(píng)論相關(guān)數(shù)據(jù)作為此次分析樣本。?

數(shù)據(jù)可視化

數(shù)據(jù)可視化采用了pyecharts把篓,按照地理位置制作了毒液觀眾群的分布圖纫溃。部分代碼如下:

`geo?=?Geo('《毒液》觀眾位置分布','數(shù)據(jù)來源:貓眼-Ryan采集',?**style.init_style)

attr,value=?geo.cast(data)

geo.add('',?attr,value,?visual_range=[0,1000],

visual_text_color='#fff',?symbol_size=15,

is_visualmap=True,?is_piecewise=False,?visual_split_number=10)

geo.render('觀眾位置分布-地理坐標(biāo)圖.html')

data_top20?=?Counter(cities).most_common(20)

bar?=?Bar('《毒液》觀眾來源排行TOP20','數(shù)據(jù)來源:貓眼-Ryan采集',?title_pos='center',?width=1200,?height=600)

attr,value=?bar.cast(data_top20)

bar.add('',?attr,value,?is_visualmap=True,?visual_range=[0,3500],?visual_text_color='#fff',?is_more_utils=True,

is_label_show=True)

bar.render('觀眾來源排行-柱狀圖.html')`

從可視化結(jié)果來看,“毒液”觀影人群以東部城市為主韧掩,觀影的top5城市為深圳紊浩、北京、上海疗锐、廣州坊谁、成都。?

觀眾地理位置分布圖

觀眾來源排行TOP20

用戶評(píng)論滑臊,詞云圖

只看觀眾分布無法判斷大家對(duì)電影的喜好口芍,所以我把通過jieba把評(píng)論分詞,最后通過wordcloud制作詞云雇卷,作為大眾對(duì)該電影的綜合評(píng)價(jià)鬓椭。

`?comments?=?[]

withopen('files/comments.txt','r',?encoding='utf-8')asf:

rows

=?f.readlines()

try:

forrowinrows:

comment?=?row.split(',')[2]

ifcomment?!='':

comments.append(comment)

#?print(city)

except?Exceptionase:

print(e)

comment_after_split?=?jieba.cut(str(comments),?cut_all=False)

words?='?'.join(comment_after_split)

#多慮沒用的停止詞

stopwords?=?STOPWORDS.copy()

stopwords.add('電影')

stopwords.add('一部')

stopwords.add('一個(gè)')

stopwords.add('沒有')

stopwords.add('什么')

stopwords.add('有點(diǎn)')

stopwords.add('感覺')

stopwords.add('毒液')

stopwords.add('就是')

stopwords.add('覺得')

bg_image?=?plt.imread('venmo1.jpg')

wc?=?WordCloud(width=1024,?height=768,?background_color='white',?mask=bg_image,?font_path='STKAITI.TTF',

stopwords=stopwords,?max_font_size=400,?random_state=50)

wc.generate_from_text(words)

plt.imshow(wc)

plt.axis('off')

plt.show()

`

從最終的詞云結(jié)果上來看颠猴,大多數(shù)觀眾還是對(duì)“毒液”很滿意的。

想了解更多前沿技術(shù)小染,想獲取最新免費(fèi)編程資源視頻源碼筆記翘瓮,小伙伴請(qǐng)往下看!

qun號(hào)是:八六四裤翩,六三四资盅,八四五。qun內(nèi)有很多開發(fā)工具踊赠,很多干貨和技術(shù)資料分享律姨!

如果您覺得此篇文章對(duì)您有幫助,歡迎關(guān)注微信公眾號(hào):大禹編程臼疫,您的支持是對(duì)我最大的鼓勵(lì)择份!共同學(xué)習(xí),共同進(jìn)步

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末烫堤,一起剝皮案震驚了整個(gè)濱河市荣赶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鸽斟,老刑警劉巖拔创,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異富蓄,居然都是意外死亡剩燥,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門立倍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灭红,“玉大人,你說我怎么就攤上這事口注”淝埽” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵寝志,是天一觀的道長(zhǎng)娇斑。 經(jīng)常有香客問我,道長(zhǎng)材部,這世上最難降的妖魔是什么毫缆? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任味榛,我火速辦了婚禮函荣,結(jié)果婚禮上澜沟,老公的妹妹穿的比我還像新娘匾效。我一直安慰自己,他們只是感情好爽茴,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布寒矿。 她就那樣靜靜地躺著蹋半,像睡著了一般鹦聪。 火紅的嫁衣襯著肌膚如雪账阻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天泽本,我揣著相機(jī)與錄音淘太,去河邊找鬼。 笑死规丽,一個(gè)胖子當(dāng)著我的面吹牛蒲牧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赌莺,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼冰抢,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了艘狭?” 一聲冷哼從身側(cè)響起挎扰,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎巢音,沒想到半個(gè)月后遵倦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡官撼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年梧躺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片傲绣。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掠哥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秃诵,到底是詐尸還是另有隱情龙致,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布顷链,位于F島的核電站目代,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏嗤练。R本人自食惡果不足惜榛了,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望煞抬。 院中可真熱鬧霜大,春花似錦、人聲如沸革答。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至途茫,卻和暖如春碟嘴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背囊卜。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工娜扇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人栅组。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓雀瓢,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親玉掸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刃麸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容