版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于豆瓣網(wǎng)電影數(shù)據(jù)的分析與可視化摘要隨著我國互聯(lián)網(wǎng)行業(yè)和數(shù)字電影行業(yè)的不斷飛速發(fā)展,兩者之間的合作聯(lián)系越來越緊密。還陸續(xù)出現(xiàn)了許多基于互聯(lián)網(wǎng)上的視頻播放網(wǎng)站。用戶想要在這些視頻播放網(wǎng)站上找到自己喜歡的電影是一件很不容易的事,為了給用戶的選擇提供一個有用的參考,在龐大的網(wǎng)絡(luò)電影庫中快速找到自己真正喜歡的網(wǎng)絡(luò)電影,本次課題從電影信息和短評信息兩方面入手設(shè)計了豆瓣電影數(shù)據(jù)可視化系統(tǒng)。為了更好地對國內(nèi)電影網(wǎng)站數(shù)據(jù)進(jìn)行分析,本課題首先利用Python+Scrapy建立一套爬蟲系統(tǒng),收集豆瓣網(wǎng)的相關(guān)數(shù)據(jù),通過Mysql數(shù)據(jù)庫把獲取到的電影名、電影導(dǎo)演、電影評分、電影類型、評論用戶等數(shù)據(jù)進(jìn)行持久化,為整個可視化系統(tǒng)提供了廣泛而可靠的數(shù)據(jù)支持。最后使用Python提供的第三方庫Matplotlib、Pands和Excel數(shù)據(jù)可視化工具進(jìn)行數(shù)據(jù)清洗和以圖形的形式直觀地展示數(shù)據(jù)結(jié)果,并多角度分析電影的發(fā)展,得出相關(guān)結(jié)論。關(guān)鍵詞:Scrapy;Python;第三方庫;數(shù)據(jù)可視化;電影
AbstractWiththerapiddevelopmentofChina'sInternetindustryanddigitalfilmindustry,thecooperationbetweenthetwoismoreandmoreclose.TherearealsomanyInternet-basedvideoplaybackwebsites.Userswanttofindtheirfavoritemovieonthesevideoplaybacksiteisaverynoteasything,inordertogivetheuserchoicetoprovideausefulreference,inthehugenetworkmovielibraryquicklyfindtheirreallylikenetworkmovie,thesubjectfromthemovieinformationandshortreviewinformationdesignthedoubanmoviedatavisualizationsystem.Inordertobetteranalyzethedomesticfilmwebsitedata,thistopicfirstusePython+Scrapytoestablishacrawlersystem,collectrelevantdataofdouban,throughMysqldatabasetoobtainthemoviename,moviedirector,movierating,movietype,anduserdataforpersistent,providesextensiveandreliabledatasupportforthewholevisualizationsystem.Finally,thethird-partylibraryMatplotlib,PandsandExceldatavisualizationtoolsprovidedbyPythonwereusedtocleanthedataandintuitivelydisplaythedataresultsingraphicalform,andthedevelopmentofthefilmwasanalyzedfrommultipleanglestodrawrelevantconclusions.Keywords:Scrapy;Python;third-partylibrary;datavisualization;movie
目錄TOC\o"1-3"\h\u1緒論 緒論第一章主要介紹了關(guān)于這個項(xiàng)目的一些基本介紹,包括有開發(fā)系統(tǒng)之前的要了解這個項(xiàng)目的背景和意義,然后關(guān)于這個課題的國內(nèi)外的研究現(xiàn)狀如何,然后介紹在開發(fā)這個系統(tǒng)的時候需要用到那些技術(shù),本章主要介紹這些內(nèi)容,本章的具體內(nèi)容如下。1.1研究背景和意義近幾年,在網(wǎng)絡(luò)Python語言強(qiáng)勢的發(fā)展背景下,數(shù)據(jù)思維及數(shù)據(jù)分析方法也逐漸被運(yùn)用到各個領(lǐng)域當(dāng)中,成為人們進(jìn)行分析數(shù)據(jù),傳播內(nèi)在規(guī)律的有效途徑。如果我們只用人力來下載相關(guān)信息,不僅要花很多時間,而且得到的信息也很少。[1]網(wǎng)絡(luò)爬蟲是一個你可以自己獲取網(wǎng)頁的次序。它將從包含大量信息的信息庫中提取有用的信息,爬蟲在提取有用信息方面非常有效,這使得解決和分析數(shù)據(jù)成為現(xiàn)實(shí)。網(wǎng)絡(luò)爬蟲將繼續(xù)提取網(wǎng)頁上的數(shù)據(jù),并將其存儲在本地。通過分析和篩選,可以在緩存數(shù)據(jù)中創(chuàng)建準(zhǔn)則并存儲在系統(tǒng)中,方便用戶查詢和搜索。爬蟲系統(tǒng)很好地提取了隱藏在大量數(shù)據(jù)中的信息,搜索效率很高,在很大程度上更好地利用了信息數(shù)據(jù)庫。爬蟲系統(tǒng)節(jié)省了大量的讀取和存儲數(shù)據(jù)的時間,協(xié)助研究人員以及儲存眾多信息,因此可以更加便捷地獲取藏匿在數(shù)據(jù)之后的知識。現(xiàn)階段,電影已經(jīng)逐漸成為現(xiàn)代人們?nèi)粘蕵沸蓍e消遣的重要生活方式之一,受到越來越多的年輕人的喜愛和追捧。根據(jù)初步統(tǒng)計,2016年中國電影門票市場已經(jīng)實(shí)現(xiàn)各項(xiàng)重要指標(biāo)的快速健康發(fā)展。在這個新的時代背景下,中國電影行業(yè)要想取得更大進(jìn)步,就必然需要不斷提升每部電影作品質(zhì)量,挖掘廣大觀眾對每部電影的總體評價和觀眾反饋的每部電影的相關(guān)數(shù)據(jù),充分及時了解廣大觀眾的觀影需求,制作和推出更多受觀眾歡迎的好電影作品。從用戶觀眾體驗(yàn)層面來說,網(wǎng)絡(luò)上存在著大量的網(wǎng)絡(luò)電影視頻資源,用戶想要在龐大的網(wǎng)絡(luò)電影庫中快速找到自己真正喜歡的網(wǎng)絡(luò)電影比較困難。所以本次課題從豆瓣電影入手,分析電影評分與電影導(dǎo)演、電影評分與電影主演、電影評分與地區(qū)等之間的關(guān)系,以及用戶對電影的短評數(shù)據(jù),為用戶提供更加詳細(xì)的電影觀看建議與電影推薦,為電影行業(yè)提供可用的觀眾滿意度數(shù)據(jù)等等。1.2國內(nèi)外研究現(xiàn)狀在國內(nèi),很多平臺都會使用大數(shù)據(jù)來研究電影相關(guān)信息進(jìn)而預(yù)測票房和電影口碑,致力于提供給觀眾更加優(yōu)質(zhì)的電影產(chǎn)品。2010年,惠普實(shí)驗(yàn)室分析了推特上的電影數(shù)據(jù)實(shí)現(xiàn)票房預(yù)測。Python作為搜索引擎技術(shù)組成部分之一,自九十年代初誕生了第一個網(wǎng)絡(luò)爬蟲以來,Python技術(shù)已經(jīng)經(jīng)過了20多年的發(fā)展,經(jīng)過這么多年的發(fā)展,Python技術(shù)也趨于成熟,逐漸覆蓋了網(wǎng)頁開發(fā)、游戲開發(fā)、爬蟲分析可視化、腳本開發(fā)等等專業(yè)領(lǐng)域。[5]并通過其簡單易懂、代碼編寫效率高的特點(diǎn),成為目前最為火熱的開發(fā)編程語言,也正是其應(yīng)用廣泛,上手容易,語法強(qiáng)大,代碼可讀性強(qiáng)的特點(diǎn),受到了很多人的喜愛,讓很多人愛不釋手。同時,由于不同的人對于數(shù)據(jù)爬取內(nèi)容的差異,常常會產(chǎn)生不同的需求,因此爬蟲主要可以分為以下兩種:通用爬蟲:通用爬蟲其實(shí)很簡單,它的作用就是將網(wǎng)絡(luò)上的網(wǎng)頁下載下來,保存到本地,其實(shí)就是生成一個副本,作為網(wǎng)頁的備份。所以通用搜索一般得到的都是網(wǎng)頁,對于用戶來說,網(wǎng)頁的內(nèi)容十之八九都是沒用的,要的只是網(wǎng)頁中的某些特定的信息。所以就有了我們第二種爬蟲方法。聚焦爬蟲:聚焦爬蟲是比通用爬蟲更加復(fù)雜一點(diǎn),它不同于通用爬蟲,通用爬蟲是將網(wǎng)頁保存到本地,但是聚焦爬蟲,它不會將整個網(wǎng)頁爬取下來,它會篩選得到網(wǎng)頁中我們所需要的東西,而篩選的條件規(guī)則是由我們自己定義的,相比通用爬蟲,聚焦爬蟲它做的工作更多,但是得到的數(shù)據(jù)更加符合我們的要求,本文所實(shí)現(xiàn)的爬蟲,就是通過聚焦爬蟲所實(shí)現(xiàn)的。自1990年代以來,許多計算機(jī)工作者一直從專注于相關(guān)領(lǐng)域的研發(fā)工作。從當(dāng)前實(shí)際看,爬蟲科技日漸成熟。國內(nèi)有許多研究網(wǎng)絡(luò)爬蟲系統(tǒng)的組織和學(xué)者,如杜鳳媛設(shè)計實(shí)現(xiàn)的一套分布式自定義集合網(wǎng)絡(luò)爬蟲系統(tǒng),它可以一次準(zhǔn)確識別大量各種網(wǎng)頁元素,能夠形成提取規(guī)則,而且可以通過不同的網(wǎng)頁情況以信息采集方式對場景化進(jìn)行適應(yīng),從而對數(shù)據(jù)進(jìn)校高效處理。用戶可以根據(jù)自己的需求可視化地編輯爬蟲任務(wù)腳本,自動完成爬蟲數(shù)據(jù)的采集。還有一個潘劍鋒設(shè)計的主題爬蟲系統(tǒng),從結(jié)構(gòu)化數(shù)據(jù)中提取,計算網(wǎng)頁結(jié)構(gòu)相似度,去噪文本,中文分詞,主題關(guān)鍵詞抽取等五個方面對主題爬蟲的工作流程進(jìn)行了設(shè)計和研究,介紹了網(wǎng)頁分類的基本步驟,重點(diǎn)分析了樸素貝葉斯分類算法、TF-IDF算法和余弦相似度的基本工作原理。[11]在實(shí)際對客戶查詢要求進(jìn)行解決的基礎(chǔ)上,有的學(xué)者對網(wǎng)絡(luò)爬蟲定義進(jìn)行了研究,主要數(shù)基于信息抓取的考慮,采用特征并不明顯的特定爬蟲。網(wǎng)絡(luò)爬蟲技術(shù)旨在為在互聯(lián)網(wǎng)上搜索用戶提供后續(xù)搜索和推薦服務(wù)。國內(nèi)外的大型搜索引擎公司每天都使用自己的爬蟲程序在互聯(lián)網(wǎng)上爬取大量信息。除了搜索引擎公司的閉源爬蟲程序之外,互聯(lián)網(wǎng)上還有許多開放源爬蟲技術(shù)[12]。在Scrapy爬蟲框架中主要采用的語言是Python。[13]而該框架主要依賴于Python事件進(jìn)行框架驅(qū)動,能夠讓操作人員非常簡便地運(yùn)用爬蟲對相關(guān)模塊進(jìn)行研發(fā),而通過不同頁面的抓取,以結(jié)構(gòu)數(shù)據(jù)進(jìn)行顯現(xiàn),通過多樣的配置,不斷增加定義的中間軟件,通過鏈接和進(jìn)程以及代理去抓取、測試以及進(jìn)行并發(fā)和速度控制?;赟crapy框架細(xì)節(jié)以及爬蟲策略的深入研究,能夠?qū)ε廊〔呗耘c架構(gòu)進(jìn)行深入整合分析,在優(yōu)化系統(tǒng)中,可以讓多個環(huán)節(jié)環(huán)環(huán)相連。[14]Scrapy具有更成熟的文檔和擴(kuò)展名,因此實(shí)現(xiàn)預(yù)期目標(biāo)進(jìn)行開發(fā)相對方便。西方學(xué)者比國內(nèi)學(xué)者更早使用大數(shù)據(jù)的方法對電影領(lǐng)域進(jìn)行分析。其中最有代表性的是澳洲學(xué)者巴里·索特。[15]索特對影片的模式進(jìn)行了十分精確地更改:遠(yuǎn)景,中景,近攝,長鏡頭,短鏡頭,動作鏡頭等等。他通過計算這些場景的數(shù)據(jù)判斷出導(dǎo)演或時代的風(fēng)格。1.3系統(tǒng)主要內(nèi)容及論文結(jié)構(gòu)安排1.3.1系統(tǒng)主要內(nèi)容這次課題的主要內(nèi)容是通過Python3+Scrapy框架爬取所需要的1000多個數(shù)據(jù),并全部存入Mysql,然后對存入Mysql中的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗與提取成Csv文件、Excel數(shù)據(jù)表和文本文件等等。通過Python第三方庫Matplotlib等對Csv文件或者文本文件中的內(nèi)容進(jìn)行分析,或?qū)xcel數(shù)據(jù)表用Excel可視化工具進(jìn)行分析。本次課題主要研究高評分豆瓣電影之間的關(guān)系,能夠帶給觀眾更方便的電影觀看選擇,以及研究觀眾在豆瓣電影評論區(qū)的短評內(nèi)容,帶給電影制作方更直觀的觀眾觀看后的感想與體會1.3.2論文結(jié)構(gòu)安排本文共分為7個章節(jié),具體內(nèi)容和操作順序如下:第一章是引言,此章節(jié)主要闡述了本次研究課題的背景、開發(fā)的意義和國內(nèi)外的現(xiàn)狀。第二章是相關(guān)技術(shù)和開發(fā)環(huán)境。本章介紹了本次課題所采用的各種相關(guān)開發(fā)技術(shù)和系統(tǒng)開發(fā)環(huán)境。第三章是可行性與需求分析,此章節(jié)介紹了本次課題的技術(shù)上和經(jīng)濟(jì)上的可行性以及需求分析。第四章是數(shù)據(jù)可視化總體設(shè)計,此章節(jié)介紹了系統(tǒng)的簡單架構(gòu)組成、主要的功能模塊、數(shù)據(jù)庫表的設(shè)計和連接。第五章是數(shù)據(jù)可視化系統(tǒng)實(shí)現(xiàn),此章節(jié)介紹了如何實(shí)現(xiàn)本次課題的各個功能模塊。第六章是數(shù)據(jù)可視化結(jié)果展示,此章節(jié)介紹了數(shù)據(jù)可視化的結(jié)果展示。第七章是系統(tǒng)測試,此章節(jié)介紹了系統(tǒng)用例測試。
2相關(guān)技術(shù)與開發(fā)環(huán)境在進(jìn)行設(shè)計的時候,需要先了解需要掌握相關(guān)的技術(shù)才可以,然后還要確定使用的開發(fā)環(huán)境,這里采用了Pycharm來作為編譯代碼的開發(fā)工具。2.1相關(guān)技術(shù)簡介2.1.1Python簡介1991年,吉多·范羅蘇姆開發(fā)出了Python腳本語言。Python腳本語言是一個具有良好的解釋性、編譯性、互動性等一系列特性的面向?qū)ο缶幊棠_本語言。它最大的特點(diǎn)和優(yōu)勢之一是有豐富的標(biāo)準(zhǔn)庫,Python提供的第三方庫主要可以實(shí)現(xiàn)web軟件開發(fā)、圖形繪制等多個功能。比較著名的庫有:Django、Flask、Tornado、Matplotlib、SciPy、NumPy、PyQt、WxPython、PIL、TensorFlow等。所以Python可以讓用戶在編程的過程中用最少的代碼來表達(dá)自己的想法。2.1.2XPath簡介Xpath編程語言被設(shè)計以來就可以提供給xslt、xquery以及xpointery使用。Xpath提供很多標(biāo)準(zhǔn)庫函數(shù)。Xpath的內(nèi)置函數(shù)就有100個。其中字符串函數(shù)主要有string(object)、concat(string1,string2)、format-number(num)等;布爾函數(shù)主要有true()、false()、lang(string)等;數(shù)字函數(shù)主要有number(object)、floor(number)、round(number)。2.1.3Scrapy框架簡介Scrapy框架是適用于Python的網(wǎng)站數(shù)據(jù)爬蟲框架。該框架常常被用在數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)清洗等程序。利用Scrapy框架可以快速實(shí)現(xiàn)一個網(wǎng)站爬蟲,抓取指定網(wǎng)站內(nèi)容。盡管Scrapy的框架最初是為了它被用來在網(wǎng)絡(luò)上抓取,但它也被認(rèn)為是很容易通過訪問api提取結(jié)構(gòu)性數(shù)據(jù)。Srapy框架文件具有以下6個主要的文件目錄結(jié)構(gòu):items、middlewares、pipelines、settings、spiders、scrapy.cfg。Scrapy的架構(gòu)圖如圖2-1所示。圖2-1scrapy架構(gòu)圖(綠線是數(shù)據(jù)流向)2.1.4Matplotlib簡介Matplotlib庫是一個基于Python眾多第三方繪圖包中比較熱門的一個。是一個提供數(shù)據(jù)繪圖功能的第三方繪圖庫,pyplot子庫把構(gòu)造數(shù)據(jù)繪圖所需對象的過程封裝在一個函數(shù)中,可以用來快速實(shí)現(xiàn)各種數(shù)據(jù)顯示圖形繪圖。使用Matplotlib庫。開發(fā)人員僅僅需要幾行簡略的代碼,便能夠快速地生成圖表。一般可以用來繪制條形圖、詞云圖、雷達(dá)圖等等。2.1.5Pandas簡介最開始,因?yàn)镻andas是一個金融數(shù)據(jù)分析工具,Pandas工具包在時間序列數(shù)據(jù)分析中具有較強(qiáng)的數(shù)據(jù)分析功能和支持。使用爬蟲爬取到的數(shù)據(jù)會存在大量的噪音,比如空格、重復(fù)值等等。因此需要對原始數(shù)據(jù)進(jìn)行進(jìn)一步的清洗。清洗后的數(shù)據(jù)才是我們需要分析的數(shù)據(jù)。Python中的Pandas庫可以對采集到的數(shù)據(jù)進(jìn)行統(tǒng)計與處理進(jìn)行。將爬取得數(shù)據(jù)組合成DataFrame表格格式。2.2開發(fā)環(huán)境2.2.1PyCharm簡介PyCharm是個功能強(qiáng)大的IDE,它已經(jīng)發(fā)展成為一個強(qiáng)大的工具。專業(yè)軟件開發(fā)人員和剛開始學(xué)習(xí)的開發(fā)人員都可以安全使用。Pycharm使用的PEP8標(biāo)準(zhǔn)是Python規(guī)范。對于初學(xué)者,Pycharm為autopep8提供了這個工具。只需要在環(huán)境中安裝此工具,就可以解決代碼不規(guī)范問題。同時,Pycharm還擁有斷點(diǎn)調(diào)試功能,在程序debug時,程序就會在添加了斷點(diǎn)標(biāo)記的行停下來。Pycharm還擁有大量的快捷鍵,除了我們平時經(jīng)常使用的那些,它還有些編碼時能夠加快編碼速度的快捷鍵,比如alt+insert(自動生成代碼)、ctrl+alt+l(代碼格式化)等等。2.2.2Mysql簡介Mysql現(xiàn)在屬于Oracle公司。Mysql數(shù)據(jù)庫也是以c/s結(jié)構(gòu)為基礎(chǔ)的數(shù)據(jù)庫軟件,訪問者必須通過客戶端進(jìn)行訪問。Mysql數(shù)據(jù)庫可以被永久性地存儲在一個磁盤中。Mysql使用的是sql語言,sql語言是訪問數(shù)據(jù)庫最常用的標(biāo)準(zhǔn)化語言,可以很好地實(shí)現(xiàn)對用戶數(shù)據(jù)庫的查詢。Mysql數(shù)據(jù)庫是一種支持關(guān)聯(lián)的數(shù)據(jù)庫系統(tǒng),關(guān)聯(lián)的數(shù)據(jù)庫將被所有用戶使用的數(shù)據(jù)存儲在不同的數(shù)據(jù)庫表中。Mysql也支持大型的數(shù)據(jù)庫。2.3本章小結(jié)本章主要介紹研究過程使用的相關(guān)技術(shù)和開發(fā)環(huán)境,相關(guān)技術(shù)主要包括了Python,以及Python相關(guān)的庫,還有XPath和爬蟲框架Scrapy框架的介紹。開發(fā)環(huán)境則是PyCharm和MySql。
3可行性與需求分析想要寫好系統(tǒng)的功能,就要提前對系統(tǒng)的所有功能都設(shè)計好,思路清晰,考慮能預(yù)見的所有情況,也要好好考慮。通過對功能的設(shè)計,讓系統(tǒng)的結(jié)構(gòu)更加合理。3.1可行性分析3.1.1技術(shù)可行性數(shù)據(jù)可視化分析科技是利用多種可視化界面和一體化分析數(shù)據(jù)理論的方法,幫企業(yè)和用戶快速解讀復(fù)雜數(shù)據(jù)的分析技術(shù)??稍敿?xì)分為數(shù)據(jù)采集、數(shù)據(jù)持久化、數(shù)據(jù)清洗、數(shù)據(jù)可視化4個步驟。數(shù)據(jù)采集的執(zhí)行過程可分為:確定獲取內(nèi)容、分析網(wǎng)頁布局、下載Html頁面、解析頁面內(nèi)容、存入數(shù)據(jù)庫。解析網(wǎng)頁內(nèi)容有Xpath和正則表達(dá)式兩種方法。數(shù)據(jù)持久化可以通過Python中的Pymysql模塊將獲取到的數(shù)據(jù)存入Mysql完成數(shù)據(jù)持久化。數(shù)據(jù)清洗與提取可以使用Pandas庫可以對采集到的數(shù)據(jù)進(jìn)行統(tǒng)計與處理。數(shù)據(jù)可視化可以通過Excel工具或者第三方庫Matplotlib進(jìn)行可視化分析。3.1.2經(jīng)濟(jì)可行性在互聯(lián)網(wǎng)大數(shù)據(jù)的背景下,可以使用大數(shù)據(jù)對于電影內(nèi)容進(jìn)行可視化的分析??梢酝ㄟ^數(shù)據(jù)采集,發(fā)現(xiàn)觀眾的電影喜好內(nèi)容是什么,把對應(yīng)的電影推薦給觀眾,實(shí)現(xiàn)大數(shù)據(jù)營銷和預(yù)測電影票房。還可以把一部熱門電影的幾千萬條用戶評論數(shù)據(jù)進(jìn)行搜集、整理,就可以通過尋找篩選出其中有利的一些東西做成電影品牌,這樣可以精細(xì)地理解用戶的電影愛好,對電影下一步的創(chuàng)作和發(fā)展具有很好的指導(dǎo)性。3.1.3操作可行性本系統(tǒng)界面清晰易懂,功能簡單,頁面響應(yīng)速度快。能夠讓用戶能快速了解系統(tǒng)。只要你了解過操作系統(tǒng)用戶都可以使用這個程序,它的可操作性是其他替代軟件無法比擬的。可以讓用戶簡單地看到電影的數(shù)據(jù),電影的各個數(shù)據(jù)非常簡單的展示。因此,該系統(tǒng)具有很大的可操作性。3.2需求分析3.2.1系統(tǒng)功能需求分析系統(tǒng)的使用者主要是影評人員,對系統(tǒng)的可視化模塊進(jìn)行查看,將數(shù)據(jù)匯報給片方,片方根據(jù)影評人員匯報的數(shù)據(jù)對電影信息進(jìn)行相應(yīng)的處理。本系統(tǒng)主要實(shí)現(xiàn)了數(shù)據(jù)采集模塊和可視化功能模塊。如圖3-1系統(tǒng)用例圖所示。圖3-1系統(tǒng)用例圖3.2.2各功能用例分析(1)數(shù)據(jù)采集用例說明:數(shù)據(jù)獲取用例詳細(xì)描述如下表3-1所示。表3-1數(shù)據(jù)采集用例描述用例條目描述用例名稱數(shù)據(jù)采集功能主要業(yè)務(wù)參與者管理員其他參與者無描述進(jìn)行需要數(shù)據(jù)的采集前置條件無后置條件將需要的數(shù)據(jù)存入數(shù)據(jù)庫觸發(fā)條件輸入要獲取的數(shù)據(jù)管理員輸入要獲取的信息結(jié)束獲取成功或者失敗實(shí)現(xiàn)約束和說明輸入的必須是電影的信息待解決問題無電影信息分析用例說明:電影信息分析用例詳細(xì)描述如下表3-2所示。表3-2電影信息分析用例描述用例條目描述用例名稱電影信息分析主要業(yè)務(wù)參與者管理員其他參與者無描述對電影信息的進(jìn)行分析,以柱狀圖的形式展示出來前置條件數(shù)據(jù)預(yù)處理后置條件柱狀圖展示觸發(fā)條件數(shù)據(jù)可視化圖例基本流程進(jìn)行數(shù)據(jù)可視化圖例展示圖片展示替代流程無結(jié)束圖片成功展示或者失敗實(shí)現(xiàn)約束和說明數(shù)據(jù)已經(jīng)存入數(shù)據(jù)庫待解決問題無短評信息分析用例說明:短評信息分析用例詳細(xì)描述如下表3-3所示。表3-3短評信息分析用例描述用例條目描述用例名稱短評信息分析主要業(yè)務(wù)參與者管理員其他參與者無描述對電影信息的進(jìn)行分析,以柱狀圖的形式展示出來前置條件數(shù)據(jù)預(yù)處理后置條件柱狀圖展示觸發(fā)條件數(shù)據(jù)可視化圖例基本流程進(jìn)行數(shù)據(jù)可視化圖例展示圖片展示替代流程無結(jié)束圖片成功展示或者失敗實(shí)現(xiàn)約束和說明數(shù)據(jù)已經(jīng)存入數(shù)據(jù)庫待解決問題無3.2.3可視化功能性分析一個完整的數(shù)據(jù)可視化開發(fā)過程需要經(jīng)過數(shù)據(jù)采集,數(shù)據(jù)持久化,數(shù)據(jù)清洗,數(shù)據(jù)可視化這4個階段。數(shù)據(jù)可視化的主要實(shí)現(xiàn)功能如下:(1)實(shí)現(xiàn)數(shù)據(jù)采集。要實(shí)現(xiàn)電影相關(guān)數(shù)據(jù)的完整采集,電影相關(guān)數(shù)據(jù)主要是電影數(shù)據(jù)和短評數(shù)據(jù)。(2)模擬瀏覽器。豆瓣網(wǎng)站存在反爬蟲機(jī)制,想要通過python爬蟲收集數(shù)據(jù)而不被豆瓣網(wǎng)站服務(wù)器拒絕訪問。所以應(yīng)該通過設(shè)置RequestHeaders中的User-Agent模擬瀏覽器來進(jìn)行訪問。(3)模擬Ajax請求,豆瓣網(wǎng)站中有些頁面是異步加載形式的,所以應(yīng)通過抓包得到RequestURL返回json數(shù)據(jù),模擬Ajax請求通過規(guī)律循環(huán)爬取頁面信息。(4)連接數(shù)據(jù)庫,要實(shí)現(xiàn)數(shù)據(jù)持久化,可以通過Python的連接MySQL服務(wù)器的庫pymysql連接數(shù)據(jù)庫,將采集到的數(shù)據(jù)存入數(shù)據(jù)庫[2]。就可以永久存儲到本地磁盤。(5)實(shí)現(xiàn)了電影數(shù)據(jù)的預(yù)處理。本文從電影信息和短評信息兩個方面對數(shù)據(jù)進(jìn)行分析,實(shí)現(xiàn)了對電影的多角度數(shù)據(jù)清洗。分析內(nèi)容包括電影的電影評分,電影的主演,電影的類型,短評的評分等等。(6)繪制圖表。需要在數(shù)據(jù)清洗的前提下,通過python的第三方庫或者Excel數(shù)據(jù)可視化工具繪制圖像直觀地展現(xiàn)出數(shù)據(jù)可視化結(jié)果,實(shí)現(xiàn)多個維度的對電影數(shù)據(jù)進(jìn)行可視化分析。3.2.4可視化非功能性分析(1)安全性:由于我們爬取的是豆瓣網(wǎng)的用戶評論數(shù)據(jù),在訪問過程中會產(chǎn)生大量的個人隱私信息,包括個人信息和網(wǎng)絡(luò)安全信息。所以我們在編程時生成的數(shù)據(jù)要及時銷毀,防止用戶信息泄露。(2)易用性:易學(xué)習(xí),易上手;(3)可靠性:接收數(shù)據(jù)準(zhǔn)確無丟失。3.3本章小結(jié)本章主要介紹了本次課題的可行性分析和需求分析??尚行苑治鰹榧夹g(shù)可行性分析、經(jīng)濟(jì)可行性分析和操作可行性分析三種。而需求分析則是可視化功能分析,還有以安全性,易用性,可靠性的非功能分析。
4數(shù)據(jù)可視化總體設(shè)計系統(tǒng)總體設(shè)計與實(shí)現(xiàn),先進(jìn)行總體架構(gòu)設(shè)計,并對數(shù)據(jù)庫進(jìn)行創(chuàng)建,對數(shù)據(jù)表進(jìn)行創(chuàng)建,連接數(shù)據(jù)庫準(zhǔn)備工作,使各個模塊成功連接起來。4.1數(shù)據(jù)可視化架構(gòu)設(shè)計本次系統(tǒng)主要分為數(shù)據(jù)采集、數(shù)據(jù)庫和數(shù)據(jù)可視化。數(shù)據(jù)采集主要采用Scrapy框架,主要通過豆瓣網(wǎng)站的網(wǎng)頁URL采集豆瓣電影網(wǎng)站上的電影信息和短評文本等。數(shù)據(jù)庫主要采用Mysql關(guān)系型數(shù)據(jù)庫,主要存儲從豆瓣電影數(shù)據(jù)平臺采集的電影信息、短評文本等[3]。數(shù)據(jù)可視化主要采用Matplotlib庫和數(shù)據(jù)可視化工具來進(jìn)行分析并輸出成圖表。數(shù)據(jù)可視化系統(tǒng)的簡單架構(gòu)如圖4-1所示。圖4-1數(shù)據(jù)可視化系統(tǒng)的簡單架構(gòu)圖4.2系統(tǒng)功能模塊設(shè)計該系統(tǒng)可以大概分為2個功能模塊:數(shù)據(jù)采集和數(shù)據(jù)可視化。其中數(shù)據(jù)采集功能模塊,主要是負(fù)責(zé)從網(wǎng)上自動采集數(shù)據(jù)并直接存入數(shù)據(jù)庫。采用的當(dāng)下熱門的Scrapy框架和Mysql。數(shù)據(jù)可視化功能模塊,主要負(fù)責(zé)將清洗后的數(shù)據(jù)通過圖表方式展示出來。采用的當(dāng)下流行的第三方庫Matplotlib、Jieba等。系統(tǒng)功能結(jié)構(gòu)如圖4-2所示。圖4-2系統(tǒng)功能結(jié)構(gòu)圖4.2.1數(shù)據(jù)采集功能模塊設(shè)計此模塊主要采集所需的電影數(shù)據(jù),并對采集到的數(shù)據(jù)進(jìn)行清洗和存儲。(1)數(shù)據(jù)采集類型本次設(shè)計的爬蟲系統(tǒng)主要收集豆瓣電影網(wǎng)站上的兩個電影數(shù)據(jù)類型,第一個數(shù)據(jù)類型是電影的基本信息包括電影名、電影Id、豆瓣評分、主演、導(dǎo)演、簡介等。電影基本信息采集結(jié)果如圖4-3所示。圖4-3電影基本信息采集第二個數(shù)據(jù)類型是短評信息包括短評內(nèi)容、評論時間、短評用戶、短評評分等。短評信息采集如圖4-4所示。圖4-4短評信息采集因?yàn)橐杉淘u信息就需要先采集電影的基本信息,從采集到的電影基本信息中提取出電影ID字段構(gòu)造出短評信息URL采集短評信息,這兩類數(shù)據(jù)有一個先后的采集順序[4]。(2)數(shù)據(jù)的采集電影的基本信息和短評信息雖然有一個先后的數(shù)據(jù)采集順序,但是數(shù)據(jù)采集的原理是差不多相同的,在這里主要介紹是如何進(jìn)行電影數(shù)據(jù)的采集。本系統(tǒng)電影數(shù)據(jù)采集的功能主要采用了Scrapy爬蟲框架的方法來實(shí)現(xiàn),該爬蟲框架的基本核心功能就是Scrapy的調(diào)度器,爬蟲的調(diào)度端主要功能是用來控制啟動網(wǎng)絡(luò)爬蟲、監(jiān)視網(wǎng)絡(luò)爬蟲的運(yùn)行狀況或者是停止網(wǎng)絡(luò)爬蟲[5]。調(diào)度器從入口URL開始,并按照調(diào)度器中定義的電影數(shù)據(jù)字段的鏈接地址順序使用XPath或Re正則表達(dá)式獲取更多電影頁面源鏈接和數(shù)據(jù)。(3)數(shù)據(jù)的存儲網(wǎng)絡(luò)爬蟲從網(wǎng)頁上采集來的數(shù)據(jù)是有一個時效性,為了讓爬取到的信息永久都存在,就需要對數(shù)據(jù)進(jìn)行數(shù)據(jù)持久性操作也就是數(shù)據(jù)存儲。目前數(shù)據(jù)存儲方式有文本文件、Excel表、數(shù)據(jù)庫等。為了給后續(xù)的數(shù)據(jù)可視化提供數(shù)據(jù)支持,此次系統(tǒng)主要采用Mysql數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲。(4)數(shù)據(jù)的清洗在網(wǎng)頁上采集的電影數(shù)據(jù)不能直接拿來使用,可能存在空值、無效值、錯誤值等。所以我們需要及時處理這些雜亂的數(shù)據(jù),將其轉(zhuǎn)化成可以直接進(jìn)行計算分析的電影數(shù)據(jù)[6]。數(shù)據(jù)清洗就是對采集到的電影基本信息和短評信息進(jìn)行缺失值處理、空值處理、去重處理等等。為了方便進(jìn)行后續(xù)的數(shù)據(jù)可視化,需要處理部分列的電影原始數(shù)據(jù),比如講電影類型這種原始數(shù)據(jù)通過關(guān)鍵字“/”分列后再近些匯總處理。4.2.2數(shù)據(jù)可視化功能模塊設(shè)計數(shù)據(jù)可視化功能模塊主要通過圖表顯示數(shù)據(jù)清洗后的數(shù)據(jù)信息。例如,我們可以對短評的評分分布和內(nèi)容進(jìn)行統(tǒng)計分析,最后將分析結(jié)果繪制成相應(yīng)的圖表進(jìn)行展示。數(shù)據(jù)采集功能模塊是將采集到的數(shù)據(jù)存儲到本地關(guān)系數(shù)據(jù)庫Mysql中,然后對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行清理。數(shù)據(jù)可視化功能模塊主要是讀取本地Mysql數(shù)據(jù)庫的數(shù)據(jù)或者是清洗后存入本地文檔中的文本文件和Excel表,然后利用第三方庫或者Excel數(shù)據(jù)可視化工具將結(jié)果以圖表的形式展示出來。該模塊主要包括兩個子模塊:電影基本信息的統(tǒng)計分析和對短評信息的統(tǒng)計分析。其中每個子模塊包含多種功能。電影基本信息的統(tǒng)計分析模塊有4個功能:不同類型的電影數(shù)量分析功能、演員的主演次數(shù)分析功能、豆瓣評分集中趨勢分析功能、電影的評分變化分析功能。短評信息的統(tǒng)計分析模塊有關(guān)鍵詞分析功能和短評評分占比的分析功能。(1)電影短評分析。電影的短評是用戶較為關(guān)注的一個指標(biāo),由于豆瓣對電影的評論把控要求特別嚴(yán)格,相比一些其他的互聯(lián)網(wǎng)視頻網(wǎng)站,豆瓣的短評具有一定的說服力[7],本節(jié)主要從短評關(guān)鍵字進(jìn)行分析。(2)電影基本信息分析。從電影的基本信息角度分析中國電影總體的作品質(zhì)量和滿意度等等。4.3時序圖設(shè)計為了直觀的了解各個模塊的是如何運(yùn)轉(zhuǎn),進(jìn)行了時序圖的創(chuàng)建。如圖4-5所示。圖4-5對象的實(shí)體關(guān)系圖4.4系統(tǒng)數(shù)據(jù)庫設(shè)計為了實(shí)現(xiàn)數(shù)據(jù)的持久化,本系統(tǒng)對4.2.1小節(jié)的數(shù)據(jù)存儲功能進(jìn)行了系統(tǒng)數(shù)據(jù)庫設(shè)計。4.4.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計系統(tǒng)的數(shù)據(jù)庫的對象主要包括電影基本信息,短評信息。電影對象是指收集到的電影基本數(shù)據(jù)。電影對象的屬性包括電影id、電影名稱、簡介、制片地區(qū)、主演、類型、豆瓣評分等。短評對象是指收集到的每部電影的短評信息,短評對象包含的屬性是短評用戶、短評文本、評論時間、短評評分等。電影與短評之間存在著1對多的關(guān)系,一部電影能夠擁有多條短評,單身一個短評只能被一部電影所擁有[8]。對象的實(shí)體關(guān)系圖如圖4-6所示。圖4-6對象的實(shí)體關(guān)系圖4.4.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計根據(jù)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計,現(xiàn)設(shè)計以下數(shù)據(jù)庫表。(1)《瘋狂動物城》短評數(shù)據(jù)表存放爬取到的《瘋狂動物城》這部電影的電影id、短評用戶名、短評評論的時間、短評評分、短評的內(nèi)容。如表5.1所示。表5.1《瘋狂動物城》短評數(shù)據(jù)表列名數(shù)據(jù)類型長度允許空是否主鍵說明movie_idInt11否是電影idPL_namevarchar255否否短評用戶名Pl_timevarchar255否否短評評論時間PL_numbervarchar255否否短評評分PL_mattervarchar255否否短評內(nèi)容(2)中國大陸最近熱門電影信息表存放爬取到的電影id、電影的名稱、電影的評分、電影的導(dǎo)演名稱、電影的主演、電影的類型、電影的制片地區(qū)、電影的語言類型、電影的簡介。如表5.2所示。表5.2中國大陸最近熱門電影信息表列名數(shù)據(jù)類型長度允許空是否主鍵說明movie_idInt11否是電影idmovie_namevarchar255否否電影名稱movie_scorevarchar255否否電影的評分movie_dirvarchar255否否電影導(dǎo)演名稱movie_actvarchar255否否電影的主演movie_typevarchar255否否電影的類型movie_areasvarchar255否否電影的制片地區(qū)movie_lanvarchar255否否電影的語言類型movie_briefvarchar255否否電影的簡介4.5本章小結(jié)本章主要介紹了本次課題數(shù)據(jù)可視化系統(tǒng)的基礎(chǔ)架構(gòu)設(shè)計,系統(tǒng)主要功能模塊設(shè)計,主要模塊是數(shù)據(jù)采集功能模塊,可視化功能模塊,最后,怎么能忘記數(shù)據(jù)庫的設(shè)計,包括數(shù)據(jù)庫的概念設(shè)計和邏輯結(jié)構(gòu)設(shè)計。
5數(shù)據(jù)可視化系統(tǒng)實(shí)現(xiàn)5.1數(shù)據(jù)采集功能實(shí)現(xiàn)電影的數(shù)據(jù)采集主要使用基于Python開發(fā)的爬蟲輕量級框架Scrapy框架實(shí)現(xiàn)數(shù)據(jù)采集[9]。因?yàn)檫@兩類數(shù)據(jù)有一個采集順序。在實(shí)際采集的過程中,先要采集電影的基本信息,存入數(shù)據(jù)庫電影基本信息表中。再根據(jù)電影基本信息表中的電影的Id構(gòu)造出電影短評的URL用來采集指定電影的前200個短評信息,存入數(shù)據(jù)庫短評信息表中。上述關(guān)于存入數(shù)據(jù)庫的關(guān)鍵代碼如下圖所示:數(shù)據(jù)采集流程圖如5-1所示。圖5-1數(shù)據(jù)采集流程圖雖然這兩種數(shù)據(jù)采集的順序不同,但采集原理是相同的,本文主要對電影基本信息的采集實(shí)現(xiàn)做了具體的介紹。因?yàn)槎拱觌娪熬W(wǎng)站是異步加載的,所以需要使用分頁請求來抓取電影數(shù)據(jù)頁面的URL。先獲取電影分類頁URL,然后通過遍歷分類頁URL循環(huán)解析電影分類頁面中的電影詳情URL和一些基本信息,之后進(jìn)入電影詳情URL下載并解析出想要的電影數(shù)[10]。關(guān)鍵代碼如下:豆瓣電影平臺的電影資源顯示在異步加載的分類頁面上,以每頁增加20部電影的數(shù)量展示在頁面上,因此用豆瓣的分類頁抓包返回的Requesturl作為Base_url并且每以20遞增構(gòu)造新的電影分類頁URL。為了防止豆瓣網(wǎng)站的反爬蟲機(jī)制,采取模擬瀏覽器登錄,關(guān)鍵代碼如下:電影數(shù)據(jù)頁面主要通過xpath字符串或者re正則式匹配HTML中對應(yīng)字段消息[11]。網(wǎng)頁解析關(guān)鍵代碼如圖所示:數(shù)據(jù)解析之后就是數(shù)據(jù)存儲階段,數(shù)據(jù)存儲階段是通過Pymysql庫連接到數(shù)據(jù)庫。電影數(shù)據(jù)存儲代碼如圖所示:在數(shù)據(jù)存儲之后,最后一個過程是數(shù)據(jù)清理,主要是通過Pandas檢查數(shù)據(jù),重復(fù)值檢查,空值檢查等等。電影數(shù)據(jù)清洗代碼如圖所示:5.2數(shù)據(jù)可視化功能實(shí)現(xiàn)數(shù)據(jù)可視化功能模塊主要是對電影基本信息和短評信息進(jìn)行統(tǒng)計分析,并以圖表的方式進(jìn)行顯示。目前常用的可視化方法有兩種:分別是數(shù)據(jù)可視化軟件和可以進(jìn)行數(shù)據(jù)可視化的第三方庫。本系統(tǒng)的數(shù)據(jù)可視化模塊利用數(shù)據(jù)可視化軟件Excel+第三方庫matplotlib進(jìn)行可視化展示。中國大陸最近熱門電影作品豆瓣評分集中趨勢直方圖如圖6.4所示。該模塊的實(shí)現(xiàn)原理都一樣,現(xiàn)主要針對從豆瓣評分集中趨勢的展示實(shí)現(xiàn)做一個介紹。豆瓣評分集中趨勢用直方圖展示,橫坐標(biāo)是豆瓣評分,評分區(qū)間是0-10。縱坐標(biāo)是相同評分的影片數(shù)量。第一使用pandas的read_csv讀入csv文件,第二配置中文字體和修改字體,避免出現(xiàn)亂碼現(xiàn)象。第三創(chuàng)建畫布。最后繪制直方圖。5.3本章小結(jié)本章主要介紹了本次課題數(shù)據(jù)可視化系統(tǒng)實(shí)現(xiàn)環(huán)境,數(shù)據(jù)采集功能實(shí)現(xiàn),數(shù)據(jù)可視化分析功能實(shí)現(xiàn)。具體表現(xiàn)為各個模塊的代碼展示,以及設(shè)計思路。
6數(shù)據(jù)可視化結(jié)果展示隨著電影行業(yè)的飛速發(fā)展,越來越多的電影公司開始希望通過用戶對不同電影的評分變化來了解用戶想看電影的需求和喜好。電影評分主要是觀眾對于電影從期待和接受的角度對于電影內(nèi)容進(jìn)行的一種評價和回饋,一方面是取決于電影本身質(zhì)量,另一方面則是取決于觀眾本身對電影的這種接受需求,即電影在多大程度上與電影對于觀眾的這種期待以及視域已經(jīng)達(dá)到了融合[12]。本次課題主要從以下幾點(diǎn)來為用戶提供詳細(xì)的觀看建議與推薦,為電影行業(yè)制片人等提供可用的觀眾喜好數(shù)據(jù)。第一,從關(guān)鍵詞分析觀眾看點(diǎn)。第二,從短評評分占比角度分析用戶對電影的接受程度。第三,從不同電影的評分變化角度分析最近熱門中國大陸作品質(zhì)量。第四,從豆瓣評分集中趨勢的角度分析最近熱門中國大陸作品質(zhì)量。第五,從演員擔(dān)任不同電影的主演次數(shù)的角度分析觀眾接受度。最后,從不同類型的電影數(shù)量角度分析觀眾喜歡的電影類型。6.1關(guān)鍵詞分析觀眾看點(diǎn)《瘋狂動物城》短評文本詞云圖如圖6.1所示。從圖6.1可知,這部影片是動畫類型。影片角色有狐貍、兔子、樹懶等。圖中存在“最佳”、“好看”、“不錯”、“細(xì)節(jié)”、“可以”等“關(guān)鍵字”,可以分析出這部影片作品質(zhì)量比較高,觀眾對這部影片持支持態(tài)度。喜歡動畫類型但是找不到好電影的就可以嘗試觀看該影片,電影制片方也能借此分析出觀眾們喜歡的看點(diǎn)是什么。圖6.1《瘋狂動物城》短評文本詞云圖6.2從豆瓣評分趨勢的角度分析最近熱門中國大陸作品質(zhì)量橫坐標(biāo)是豆瓣評分,評分區(qū)間是0-10??v坐標(biāo)是相同評分的影片數(shù)量。中國大陸最近熱門電影作品豆瓣評分集中趨勢直方圖如圖6-2所示。圖6-2中國大陸Top250部電影作品豆瓣評分集中趨勢直方圖從圖6.2可知,中國大陸Top250部電影的豆瓣評分集中在8-9分之間,其中8.8分最多,8.7分其次。低于8.4分的作品很少,但是高于9分左右的作品也比較少。8-9分之間有道“分水嶺”,影片數(shù)量呈懸崖式下跌??梢苑治龀觥胺炙畮X”右邊的電影作品是特別優(yōu)秀的作品,看過的基本都打了高分的那種。而左邊則是比較優(yōu)秀或者不優(yōu)秀的作品,能夠打動大部分人卻很難獲得所有看過這部電影的人的贊賞。中國大陸的電影還存在上升空間,希望能夠跨過“分水嶺”,帶給觀眾更多的精品作品。6.3從不同類型的電影數(shù)量角度分析觀眾喜歡的電影類型中國大陸電影的類型信息有19種,我比較喜歡觀看的類型有愛情、動畫、動作、犯罪、古裝、家庭、劇情、真人秀等,TOP250電影比較如圖6.3所示。從圖6.3可知,劇情類型的電影最受歡迎,第二受歡迎的是喜劇類型。第三是動作類型,有117部。受眾比較少的電影類型是傳記、犯罪、古裝、家庭、音樂、驚悚等等??梢苑治龀鲭娪笆袌龅膭∏轭愋偷碾娪靶枨罅孔罡撸?yàn)閲耸鼙娮疃嗟碾娪邦愋褪莿∏?。圖6-3中國大陸最近熱門不同類型的電影數(shù)量比較6.4電影評價人數(shù)在豆瓣上,評價人數(shù)在5000-10000的最多,其次是10000-15000人次,最低是1000人次。從數(shù)據(jù)來看,在豆瓣進(jìn)行電影評價的人較多,總?cè)藬?shù)超過了150000人次。6.5本章小結(jié)本章主要介紹了對電影基本信息和短評信息的分析結(jié)果展示。具體為以關(guān)鍵詞分析觀眾看點(diǎn)展示的詞云,豆瓣評分趨勢的分布圖,電影評價人數(shù)的條形圖。
7系統(tǒng)測試本章對豆瓣電影數(shù)據(jù)分析可視化進(jìn)行測試,闡述了初步測試的思路、過程、分析、結(jié)果。來測試項(xiàng)目數(shù)據(jù)的精準(zhǔn)性,也能完善項(xiàng)目功能的數(shù)據(jù)使用并得到結(jié)果。系統(tǒng)寫實(shí)的重要性在于,它可以展示出系統(tǒng)各個功能的流暢性,降低系統(tǒng)漏洞風(fēng)險。此環(huán)節(jié)會對系統(tǒng)的各個功能進(jìn)行測試,用于保證系統(tǒng)的可用性。7.1系統(tǒng)測試方案設(shè)計自動化測試的最關(guān)鍵目的是在系統(tǒng)應(yīng)用的整個過程中更好地減少不準(zhǔn)確性和系統(tǒng)漏洞。對于用戶來說,系統(tǒng)的不正確或系統(tǒng)漏洞將影響用戶的體驗(yàn)。在特定測試的整個過程中,有必要以用戶的身份進(jìn)行自動化測試??梢赃x擇測試平臺以發(fā)現(xiàn)系統(tǒng)中的系統(tǒng)漏洞,并且可以任意選擇總體目標(biāo)用戶進(jìn)行測試。只有這樣才能確保系統(tǒng)的高質(zhì)量運(yùn)行。因此,我對該系統(tǒng)的測試為黑盒測試。7.2系統(tǒng)測試用例為了讓所有的用戶都能方便快捷地使用本系統(tǒng),并且讓系統(tǒng)能夠出現(xiàn)盡可能少的問題,減少錯誤的發(fā)生。我將從數(shù)據(jù)獲取,不同電影信息分析,不同影評分析等系統(tǒng)用例來測試系統(tǒng)的功能,考慮多種情況對系統(tǒng)功能的影響。7.2.1數(shù)據(jù)采集測試該測試是對數(shù)據(jù)采集測試的檢驗(yàn),在進(jìn)行數(shù)據(jù)采集時判斷,如果采集的不是電影數(shù)據(jù),電影信息不存在,頁碼超過已有頁碼或者數(shù)據(jù)已經(jīng)存入在了數(shù)據(jù)庫當(dāng)中,系統(tǒng)就會提示,數(shù)據(jù)保存失敗,只有數(shù)據(jù)庫中,未擁有該數(shù)據(jù),才會成功爬取,顯示數(shù)據(jù)保存成功。(1)測試序號:01;(2)目的:確保數(shù)據(jù)獲取功能完好;(3)前提:存入豆瓣電影網(wǎng)電影數(shù)據(jù);(4)測試方法:手動測試。(5)測試結(jié)果:測試結(jié)果符合預(yù)期結(jié)果;數(shù)據(jù)采集測試用例如表7-1所示;表7-1數(shù)據(jù)采集測試用例表序號輸入預(yù)期結(jié)果實(shí)際結(jié)果測試結(jié)果1獲取豆瓣電影網(wǎng)的電影基本信息獲取排名前250的電影中文名稱,評分等信息獲取排名前250的電影中文名稱,評分等信息通過2獲取豆瓣電影網(wǎng)的電影其他信息獲取排名前250的電影導(dǎo)演,主演等信息獲取排名前250的電影導(dǎo)演,主演等信息通過7.2.2評價人數(shù)和情感分析測試該測試是對評價人數(shù)和情感分析的測試,在進(jìn)行不同評價人數(shù)和情感分析測試時,只有數(shù)據(jù)存入在數(shù)據(jù)庫當(dāng)中。符合條件的,才會進(jìn)行可視化圖例。(1)測試序號:02;(2)目的:確保圖例能成功顯示;(3)前提:所有電影數(shù)據(jù)已經(jīng)全部存入數(shù)據(jù)庫中;(4)測試方法:手動測試。(5)測試結(jié)果:測試結(jié)果符合預(yù)期結(jié)果;評價人數(shù)和情感分析測試用例如表7-2所示;表7-2評價人數(shù)和情感分析測試用例表序號輸入預(yù)期結(jié)果實(shí)際結(jié)果測試結(jié)果1評價人數(shù)評價人數(shù)對比柱狀圖評價人數(shù)對比柱狀圖通過2情感分析情感分析占比扇形圖情感分析占比扇形圖通過7.2.3評分和詞云分析測試該測試是對評價人數(shù)和情感分析的測試,在進(jìn)行評分和詞云分析測試時,只有數(shù)據(jù)存入在數(shù)據(jù)庫當(dāng)中。符合條件的,符合要求低,才會進(jìn)行對應(yīng)的可視化圖例展示。(1)測試序號:03;(2)目的:確保圖例能成功顯示;(3)前提:所有電影數(shù)據(jù)已經(jīng)全部存入數(shù)據(jù)庫中;(4)測試方法:手動測試。(5)測試結(jié)果:測試結(jié)果符合預(yù)期結(jié)果;評分和詞語測試用例如表7-2所示;表7-2評分和詞云分析測試用例表序號輸入預(yù)期結(jié)果實(shí)際結(jié)果測試結(jié)果1評分評分分布柱狀圖評分分布柱狀圖通過2詞云詞云圖例展示詞云圖例展示通過7.3本章小結(jié)本章主要是對功能的測試,在整個功能測試過程中,所有的功能都達(dá)到了預(yù)期的效果,可以說,功能測試非常成功。在進(jìn)行這3次功能測試當(dāng)中,圖例都很完美的展現(xiàn)了出來,給觀看一個良好的觀看體驗(yàn)。
結(jié)論在本次課題,我使用Python3+Scrapy獲取數(shù)據(jù),使用Pymysql+Mysql存儲數(shù)據(jù),使用Pandas清洗數(shù)據(jù),Python第三方庫Matplotlib和Excel數(shù)據(jù)可視化分析工具進(jìn)行了數(shù)據(jù)的可視化。本文對《瘋狂動物城》批注文本進(jìn)行了直觀的云圖分析;從不同電影的評分變化角度分析最近熱門中國大陸作品質(zhì)量;從短評評分占比角度分析用戶對《瘋狂動物城》這部電影的接受程度;從豆瓣評分集中趨勢的角度分析最近熱門中國大陸作品質(zhì)量;從演員擔(dān)任不同電影的主演次數(shù)的角度分析觀眾接受度;從不同類型的電影數(shù)量角度分析觀眾喜歡的電影類型。在這個大數(shù)據(jù)時代,電影大數(shù)據(jù)分析早已經(jīng)開始取得非常不錯的實(shí)際應(yīng)用。我們可以快速地了解到和找到各種電影統(tǒng)計數(shù)據(jù),如:電影票房的排行、觀影的人群年齡和性別的分布、電影的評價等級、長影評和短影評等等使用影評數(shù)據(jù)能夠反映觀眾對電影最直接的感受和評價,而最重要的是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建設(shè)輸電線路行業(yè)相關(guān)項(xiàng)目經(jīng)營管理報告
- 電動汽車市場分析及投資價值研究報告
- 紙制抹布市場發(fā)展前景分析及供需格局研究預(yù)測報告
- 仿古家具產(chǎn)品供應(yīng)鏈分析
- 白板紙市場分析及投資價值研究報告
- 青春正能量主題活動方案
- 班級發(fā)展理念與實(shí)踐的結(jié)合計劃
- 薪酬管理制度培訓(xùn)
- 線上學(xué)習(xí)與班級管理的結(jié)合計劃
- 生物課外閱讀推廣方案計劃
- 螺旋鋼管的安裝施工方案
- 《足球傳接球》教學(xué)反思簡短 足球傳接球教案反思
- 初中信息技術(shù)高效課堂構(gòu)建策略之探究
- 科學(xué)論文中的學(xué)術(shù)不端案例分析
- 科學(xué)計算課件
- 【高血壓患者不遵醫(yī)飲食行為的原因及護(hù)理對策研究2600字(論文)】
- 綠化養(yǎng)護(hù)公司年終總結(jié)
- 胸大肌斜方肌帶蒂皮瓣移植術(shù)后護(hù)理查房
- 信用社(銀行)工作會議精神貫徹落實(shí)情況的匯報
- 《配送中心運(yùn)營管理實(shí)務(wù)》 教案 第13課 流通加工作業(yè)管理
- 江蘇省南京市玄武區(qū)南京理工大學(xué)附屬中學(xué)2023-2024學(xué)年上學(xué)期七年級英語國慶檢測(月考)
評論
0/150
提交評論