亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python爬蟲的電影數(shù)據(jù)可視化分析

        2020-05-20 10:47:50孫盼盼李大舟
        沈陽化工大學(xué)學(xué)報 2020年1期
        關(guān)鍵詞:可視化用戶評分

        高 巍, 孫盼盼,李大舟

        (沈陽化工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 沈陽 110142)

        近年來隨著電影市場的繁榮,電影評分及趨勢分析成為一個熱點(diǎn)研究課題,其中的數(shù)據(jù)分析及可視化受到廣泛關(guān)注.電影趨勢分析可以通過用戶對于不同電影類型評分的變化分析讓影業(yè)公司了解到用戶的喜好,有利于電影事業(yè)的發(fā)展.

        目前,國外有很多基于Movielens和IMDB電影數(shù)據(jù)的可視化研究.Herr等[1]對428 440部電影做簡單統(tǒng)計后,使用折線圖來可視化電影的發(fā)展;Haughton等用網(wǎng)絡(luò)圖的方法分析電影與演員之間的關(guān)系[2];Nemeth等[3]推薦符合用戶興趣的電影,對每一個電影設(shè)計特征地圖;許冰晗等[4]使用ThemeRiver技術(shù)[5]對電影數(shù)據(jù)進(jìn)行可視化分析.這些工作大多是對國外電影網(wǎng)站數(shù)據(jù)的分析,或是從觀眾或演員的角度研究電影數(shù)據(jù),或是用折線圖來分析電影的發(fā)展趨勢.本文針對國內(nèi)電影網(wǎng)站數(shù)據(jù)進(jìn)行研究,從電影類型與評分關(guān)系的角度分析電影的發(fā)展,并使用Python對數(shù)據(jù)進(jìn)行可視化分析.通過數(shù)據(jù)爬蟲技術(shù)獲取用戶的評分,分析用戶對不同電影類型的鐘愛程度,用分析結(jié)果幫助用戶決策,幫助制片商提供調(diào)整營銷策略[6].豆瓣作為互聯(lián)網(wǎng)Web 2.0時代的一個奇跡,憑借獨(dú)特的使用模式、持續(xù)的創(chuàng)新和對用戶的尊重,成為最火熱的用戶發(fā)布、傳播、共享信息的自媒體興趣網(wǎng)絡(luò)社區(qū).其中豆瓣電影是中國最大最權(quán)威的電影評論與分享社區(qū),收錄了幾百萬條影片和電影人的資料,更匯聚了數(shù)千萬熱愛電影的人.豆瓣電影海量的信息存在著大量有價值的信息,豆瓣電影評分就是其中一類.用戶借助豆瓣平臺表達(dá)自己的觀點(diǎn)并發(fā)表評分成為一種新的電影社交模式.本文依據(jù)豆瓣電影數(shù)據(jù)的特點(diǎn),從豆瓣電影網(wǎng)站爬取所需數(shù)據(jù),對爬取數(shù)據(jù)清洗和預(yù)處理并對數(shù)據(jù)進(jìn)行可視化分析.整個過程均用 Python 語言實現(xiàn)[7],其中:數(shù)據(jù)的爬取用BeautifulSoup實現(xiàn);數(shù)據(jù)預(yù)處理用Numpy和Pandas實現(xiàn);數(shù)據(jù)可視化分析用Matplotlib和Seaborn實現(xiàn).

        1 環(huán)境搭建

        Matplotlib是Python主要的繪圖庫,自動化程度非常高,其基于 numpy 的數(shù)組運(yùn)算功能能夠輕易地畫出各種統(tǒng)計圖形,如散點(diǎn)圖、柱狀圖、餅圖等,十分適合數(shù)據(jù)的可視化分析.

        Seaborn是斯坦福大學(xué)出品的一個特別以數(shù)據(jù)可視化為目標(biāo)的制圖工具庫,其在Matplotlib上構(gòu)建,能夠通過模塊自帶的定制主題和高級接口控制Matplotlib圖表的外觀,解決Matplotlib存在的問題,在默認(rèn)情況下就可以創(chuàng)建出賞心悅目的圖,并且支持Numpy和Pandas的數(shù)據(jù)結(jié)構(gòu)可視化.Seaborn適用于比較各個變量的分布情況,可視化線性回歸模型中的變量,并能夠在分割區(qū)域制圖.

        本文的開發(fā)工作在 Windows 操作系統(tǒng)環(huán)境下完成,其中 Python 開發(fā)環(huán)境通過安裝 Anaconda創(chuàng)建.Anaconda是一個用于科學(xué)計算的開源Python發(fā)行版本,其包含 Conda、Python等180多個科學(xué)包及依賴項,支持Windows、Linux、Mac系統(tǒng),提供包管理及環(huán)境管理功能,方便地解決了多版本 Python并存及各種第三方包安裝問題.Seaborn 與Matplotlib 均為 Anaconda 默認(rèn)安裝庫,不用額外安裝,比相似研究使用的ThemeRiver技術(shù)簡單方便,可視化圖片更加直觀.

        2 數(shù)據(jù)獲取及預(yù)處理

        豆瓣電影上有很多關(guān)于每一部電影的信息,但豆瓣電影對數(shù)據(jù)爬蟲的 IP 限制無法直接獲取目標(biāo)電影的全部數(shù)據(jù),所以本文采用 Python 網(wǎng)絡(luò)爬蟲來爬取數(shù)據(jù).由于豆瓣網(wǎng)是一個具有反爬蟲功能的網(wǎng)站,所以在做網(wǎng)絡(luò)數(shù)據(jù)爬蟲時進(jìn)行了瀏覽器訪問模擬,通過分析網(wǎng)頁的源代碼,用BeautifulSoup獲取所需要的數(shù)據(jù).為了能夠更好地分析不同電影類型熱度及評分的分布情況,在獲取數(shù)據(jù)時爬取豆瓣2016年公映的全部電影類型和評分?jǐn)?shù)據(jù)進(jìn)行分析[8].通過類型評分的對比分析,更能反映觀眾對不同類型電影的偏好.

        在爬取數(shù)據(jù)過程中,不同網(wǎng)站的網(wǎng)頁結(jié)構(gòu)也不盡相同.爬取2016年公映電影,首先通過進(jìn)入豆瓣網(wǎng)站進(jìn)入2016年公映電影頁面,獲取該頁面的 URL,通過查看網(wǎng)頁源代碼找到目標(biāo)數(shù)據(jù)的位置,再使用urlopen把每部電影的整個

        代碼提取出來,然后使用BeautifulSoup對爬取的代碼進(jìn)行提取,每部電影的具體介紹都包含在一對div中.提取出每部電影的信息后,根據(jù)需要借助庫文件 BeautifulSoup提取出電影的名稱、評分、評論人數(shù)和產(chǎn)地.最后利用循環(huán)來進(jìn)行讀取每頁影評的數(shù)據(jù),將所有數(shù)據(jù)存放到記事本中.

        獲取數(shù)據(jù)的主要代碼如下:

        def get_html(url): # 通過url獲取網(wǎng)頁內(nèi)容

        message = urllib2.urlopen(url)

        return message.read()

        def get_movie(html): #用soup提取每個電影的全部信息,以列表返回

        soup = BeautifulSoup(html)

        movie_list = soup.find_all(′div′,

        class_=′bd doulist-subject′)

        return movie_list

        def get_movie_1(movie):

        message=[] # 用于存儲提取出來的電影信息

        soup = BeautifulSoup(str(movie))

        title = soup.find_all(′div′,class_=′title′)

        soup_title = BeautifulSoup(str(title[0]))

        for line in soup_title.stripped_strings:

        #提取 里的內(nèi)容

        message.append(line)

        num = soup.find_all(′span′)

        message.append(num[1].contents[0])

        soup_num = BeautifulSoup(str(num[0]))

        for line in soup_num.stripped_strings:

        #對獲取到的里的內(nèi)容進(jìn)行提取

        message = message + line

        info = soup.find_all(′div′,class_=′abstract′)

        soup_info = BeautifulSoup(str(info[0]))

        message_str = “”

        for line in soup_info.stripped_strings:

        # 提取

        里的內(nèi)容

        message_str = message_str + line

        message.append(message_str)

        return message # 返回提取到的結(jié)果

        為方便數(shù)據(jù)可視化分析,運(yùn)用Python語言對數(shù)據(jù)進(jìn)行預(yù)處理,清洗無用信息,去除無評分電影.整理后的部分?jǐn)?shù)據(jù)格式如表1所示.

        表1 整理后的部分?jǐn)?shù)據(jù)格式

        3 數(shù)據(jù)分析及可視化

        3.1 數(shù)據(jù)分析依據(jù)

        隨著電影行業(yè)的蓬勃發(fā)展,電影市場的競爭越來越激烈,越來越多的影業(yè)公司想通過用戶對于不同電影類型評分的變化了解用戶的喜好.評分是觀眾從接受的角度對影片進(jìn)行的評價和回饋,一方面取決于電影本身的藝術(shù)質(zhì)量,另一方面則取決于觀眾本身的需求,即影片在多大程度上與觀眾的期待視域達(dá)到融合[9].那么如何了解影片類型、評分等因素對觀眾選擇的影響呢?首先,從電影類型數(shù)量分析熱門類型.其次,從平均評分的角度分析觀眾對不同影片類型的接受程度.再次,從評分的分布情況更真實地了解大部分觀眾對電影的滿意程度.最后,結(jié)合評論人數(shù)與評分之間的關(guān)系進(jìn)一步分析用戶對電影的情感.

        3.2 從電影類型數(shù)量分析熱門類型

        2016年公映電影數(shù)量超過30的主要電影類型有10種:劇情、喜劇、愛情、動作、冒險、動畫、懸疑、驚悚、奇幻和犯罪.

        從圖1可以看出:劇情類影片的數(shù)量占比是19.41 %,是冒險類數(shù)量占比的兩倍多,說明劇情類型電影最受制片商追捧.而喜劇、愛情兩種類型電影的數(shù)量在總數(shù)量占比分列第2、第3位,并且這3類影片數(shù)量占總量的47.98 %.動作、冒險、動畫、懸疑、驚悚、奇幻和犯罪類型的數(shù)量占總數(shù)量的 52.02 %,說明電影類型較多,但并沒有很多制片商選擇.

        圖1 電影類型數(shù)量餅圖

        3.3 從平均評分角度分析觀眾對影片類型的接受程度

        從圖2可以看出:冒險、犯罪、奇幻、動作、劇情和動畫類影片評分均為5分以上,評分最高的是冒險類,此類影片劇情豐富,觀賞性強(qiáng),易被觀眾認(rèn)可;第2名、第3名的犯罪和奇幻類影片平均評分相差非常小,具有刺激性效應(yīng)的電影容易吸引觀眾;對于最后一名驚悚類型的影片平均評分僅有4.0分,本身類型小眾,內(nèi)容恐怖,如果影片品質(zhì)很差,很難被觀眾接受.

        圖2 電影平均評分對比

        3.4 從評分分布角度分析觀眾對影片類型的滿意程度

        圖3~圖5分別是散點(diǎn)圖、小提琴圖和箱型圖的不同類型電影評分分布情況,對比其他研究的普通折線圖、網(wǎng)絡(luò)圖,小提琴圖及箱型圖對數(shù)據(jù)可視化效果更好,能更加直觀地表現(xiàn)數(shù)據(jù)分布.

        圖3 電影評分分布散點(diǎn)圖

        圖4 電影評分分布小提琴圖

        圖5 電影評分分布箱型圖

        從圖3可以清楚地看出奇幻類、冒險類、動作類評分普遍較高.從圖4可以看出奇幻和冒險類的評分多數(shù)高于6分,而動作類評分較多在5~6分之間.說明在動作類影片生產(chǎn)上還有品質(zhì)提升空間,觀眾的口味多元化,并不是很喜歡單純的動作片,相比之下,帶有探索冒險、科幻奇妙劇情的電影更受觀眾追捧.如果此類型影片質(zhì)量更好一些,那么觀眾認(rèn)可度會更高.

        由圖4可以看出:動畫類電影評分的分布兩極化明顯,與國外的動漫產(chǎn)業(yè)相比,國內(nèi)在思想觀念及技術(shù)水平方面均相對落后,還未完全打開市場,除了題材不夠新穎外,劇本稀缺和整個電影工業(yè)跟不上也是重要因素;犯罪類評分普遍在5分以上,在2016年獲得了較高的口碑,犯罪題材天生能夠滿足普通觀眾的獵奇和窺私欲望,而犯罪題材的深刻之處在于人性的集中爆發(fā),一部好的犯罪片往往會觸及到嚴(yán)峻的社會問題和人性的陰暗面,所以犯罪類型電影很有可能成為下一個爆發(fā)的熱點(diǎn).

        結(jié)合圖3和圖5可以看出:作為好萊塢類型片市場一大支柱的喜劇類影片,雖然比較受制片商的追捧,但并沒有得到觀眾的好評.近年來低成本、高回報的喜劇電影扎堆,其整體質(zhì)量卻令人堪憂,未來的國產(chǎn)喜劇電影創(chuàng)作亟需創(chuàng)新.從青春愛情片市場打開后,每年幾十部主打青春和愛情的電影噴涌而出,形態(tài)紛呈,但卻很難滿足觀眾的要求.中國愛情片亟需跟上世界電影發(fā)展潮流,在愛情片的多元化和現(xiàn)代化方面做出努力,以更好地適應(yīng)在大眾文化的時代背景下高速增長的觀影需求.驚悚類和懸疑類無論影片數(shù)量還是評分均明顯低于其他類型電影,情況堪憂.

        3.5 評論人數(shù)與評分的關(guān)系

        圖6為評論人數(shù)與評分聯(lián)合分布圖,相對常見的其他分析可視化而言,Python的聯(lián)合分布圖在可視化的同時可以直接計算相關(guān)性并表現(xiàn)在圖中,并不需要另行計算.

        圖6 評論人數(shù)與評分聯(lián)合分布圖

        由圖6可以看出:評論人數(shù)與評分之間呈現(xiàn)正相關(guān)關(guān)系,相關(guān)系數(shù)為0.52,屬于中等程度相關(guān)(相關(guān)系數(shù)在-1~1之間,在統(tǒng)計學(xué)意義成立的基礎(chǔ)上,相關(guān)系數(shù)越接近1,評價人數(shù)與票房之間的正相關(guān)性越大),表現(xiàn)為評價人數(shù)越多,則評分高的可能性越大,具有統(tǒng)計學(xué)意義.從總體來看,評論人數(shù)普遍在10萬人以下,并且評論人數(shù)很多的電影評分也相對較高.評分與評價人數(shù)是用戶觀影參考的重要指標(biāo),它顯露出票房的氣息,能給消費(fèi)者指示時下大眾的觀影潮流.人數(shù)與評價,在由外部環(huán)境、影片質(zhì)量、個體心靈所編織的網(wǎng)絡(luò)中相互牽扯,兩者的關(guān)系曖昧不清、若即若離.

        4 結(jié)束語

        闡述了Python語言在數(shù)據(jù)爬取及可視化分析中的應(yīng)用.通過對豆瓣網(wǎng)2016年公映電影的分析,可以給影業(yè)公司一些制片提示,也可以為用戶觀影提供重要的參考指標(biāo).通過實例可知:使用Python語言進(jìn)行可視化分析可以更好地將大量而繁雜的數(shù)據(jù)應(yīng)用起來,使可視化結(jié)果更形象,更直觀地被大眾接受理解,大大提高了工作效率.Matplotlib 和Seaborn作為 Python 著名的繪圖庫可以輕松繪制出各種統(tǒng)計圖形,借助 Python 語言強(qiáng)大的數(shù)據(jù)處理和科學(xué)計算能力,在電影數(shù)據(jù)的分析處理方面有非常出色的表現(xiàn).對比現(xiàn)有的ThemeRiver技術(shù)以及普通網(wǎng)絡(luò)圖、折線圖可視化效果,Python數(shù)據(jù)爬取及可視化分析中具有簡單、高效的特性,能夠繪制出其他繪圖工具無法繪制的統(tǒng)計圖形,具有較好的發(fā)展前景.

        然而,由于個人或企業(yè)因素電影評分可能不是出自評論者觀影后的客觀公正評價,評論者自身也會存在隨機(jī)打星評級的現(xiàn)象,會造成分析結(jié)果不理想,需要改進(jìn).未來將針對這一現(xiàn)象深入研究,利用數(shù)據(jù)挖掘算法提升分析的效果,解決實際問題.

        猜你喜歡
        可視化用戶評分
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        Disorders of the brain-gut interaction and eating disorders
        我給爸爸評分
        基于CGAL和OpenGL的海底地形三維可視化
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        A2DS2評分與AIS-APS評分在預(yù)測卒中相關(guān)肺炎中的表現(xiàn)
        Castleman disease in the hepatic-gastric space: A case report
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        国产日产高清欧美一区| 日韩精品人妻中文字幕有码在线| 色多多性虎精品无码av| 在线亚洲午夜理论av大片| 久久无码高潮喷水免费看| 加勒比特在线视频播放| 蜜臀一区二区三区精品 | 国产亚洲女在线线精品| 日本岛国视频在线观看一区二区| 蜜桃视频在线观看免费亚洲| 无码乱人伦一区二区亚洲一| 波多野结衣在线播放一区| 91成人自拍视频网站| 性人久久久久| 欧美午夜精品一区二区三区电影| 亚洲精品成人av一区二区| 黄片免费观看视频播放| 日日躁夜夜躁狠狠躁| 中文字幕无线码中文字幕| 国产精品一区成人亚洲| 经典三级免费看片天堂| 无码国产福利av私拍| 久久久久成人亚洲综合精品 | 日日摸夜夜添夜夜添无码免费视频 | 国产成人高清亚洲一区二区| 一本到在线观看视频| 色狠狠av老熟女| 亚洲精品日本| 久久日韩精品一区二区| 美女av一区二区三区| 综合色久七七综合尤物| 一区二区三区四区国产亚洲| 无码熟妇人妻av在线影片最多 | 国产精美视频| 亚洲天堂av在线免费看| 国产av无码专区亚洲版综合| 欧美黑人疯狂性受xxxxx喷水| 日本一区二区三区资源视频| av中文字幕一区不卡| 国外亚洲成av人片在线观看| 人妻无码中文专区久久AV|