国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python的電影數(shù)據(jù)爬取與數(shù)據(jù)可視化分析研究

2019-12-23 09:28成文瑩李秀敏
電腦知識(shí)與技術(shù) 2019年31期
關(guān)鍵詞:可視化

成文瑩 李秀敏

摘要:該文借助Python功能完備的標(biāo)準(zhǔn)庫(kù)、強(qiáng)大的第三方庫(kù)requests、BeautifulSoup以及正則表達(dá)式,編寫(xiě)程序快速實(shí)現(xiàn)中國(guó)票房網(wǎng)頁(yè)及豆瓣電影TOP250數(shù)據(jù)的抓取,通過(guò)matplotlib圖形庫(kù)以圖形化的方式直觀地展示數(shù)據(jù)結(jié)果,并加以分析,得出相關(guān)結(jié)論。該文研究為培養(yǎng)學(xué)生數(shù)據(jù)處理能力和可視化分析能力奠定了基礎(chǔ)。

關(guān)鍵詞:數(shù)據(jù)爬取;Python;可視化

中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)31-0008-03

1背景

隨著大數(shù)據(jù)和人工智能時(shí)代的到來(lái),人們?cè)跀?shù)據(jù)的價(jià)值上逐漸取得共識(shí),而獲得數(shù)據(jù)是數(shù)據(jù)挖掘與分析的首要工作。論文利用Python豐富的標(biāo)準(zhǔn)庫(kù),研究網(wǎng)絡(luò)爬蟲(chóng)的原理并實(shí)現(xiàn)電影網(wǎng)絡(luò)數(shù)據(jù)的獲取,并將獲得的數(shù)據(jù)進(jìn)行可視化顯示和數(shù)據(jù)分析。

Python語(yǔ)法簡(jiǎn)潔清晰,易學(xué),可擴(kuò)展性強(qiáng),具有豐富的標(biāo)準(zhǔn)庫(kù)和第三方庫(kù)供程序員使用。Python爬蟲(chóng)工具包使用方便,對(duì)數(shù)據(jù)抓取提供了可能嘲。

2數(shù)據(jù)爬取與可視化方法分析

網(wǎng)絡(luò)爬蟲(chóng)是一個(gè)從Web上自動(dòng)下載網(wǎng)頁(yè)的計(jì)算機(jī)程序。爬蟲(chóng)技術(shù)是一個(gè)可以連接數(shù)據(jù)和解析數(shù)據(jù),并將這些數(shù)據(jù)進(jìn)行分析并將分析結(jié)果利用圖表進(jìn)行展示的工具。Python具有豐富的網(wǎng)絡(luò)爬蟲(chóng)模塊,具有很強(qiáng)的可擴(kuò)展性與可嵌人性。

可視化分析可以提高科研人員對(duì)數(shù)據(jù)隱藏信息的洞察力。可視化分析是一種綜合利用可視化界面和分析理論來(lái)幫助用戶(hù)解釋復(fù)雜數(shù)據(jù)的技術(shù)??梢暬怯脩?hù)與數(shù)據(jù)交互的接口,表現(xiàn)形式通常有直方圖、餅圖、散點(diǎn)圖等。

2.1數(shù)據(jù)采集

數(shù)據(jù)采集的執(zhí)行過(guò)程分為:第一,分析網(wǎng)址信息找到網(wǎng)頁(yè)頁(yè)面并分析網(wǎng)頁(yè)源代碼結(jié)構(gòu);第二,根據(jù)網(wǎng)址抓取網(wǎng)頁(yè)并將網(wǎng)頁(yè)內(nèi)容分離開(kāi)來(lái);第三,處理數(shù)據(jù)且將抓取后的數(shù)據(jù)寫(xiě)人到數(shù)據(jù)庫(kù)中。上述三步重復(fù)執(zhí)行直至數(shù)據(jù)采集結(jié)束。抓取網(wǎng)頁(yè)內(nèi)容,一般有兩種方法,一種是使用python庫(kù),另外一種是使用正則表達(dá)式去提取相關(guān)內(nèi)容。

2.2分析及解析網(wǎng)頁(yè)

論文使用Python中的requests庫(kù)進(jìn)行數(shù)據(jù)采集。Beautiful-Soup是一個(gè)HTML/XML的解析器,來(lái)解析URL的文本信息。通過(guò)確定每個(gè)數(shù)據(jù)對(duì)應(yīng)的元素及Class名稱(chēng)后,使用find,find_all,select等方法進(jìn)行標(biāo)簽的定位,進(jìn)行數(shù)據(jù)提取。

2.3正則表達(dá)式提取數(shù)據(jù)

使用正則表達(dá)式對(duì)豆瓣電影TOP250進(jìn)行數(shù)據(jù)采集。正則表達(dá)式(re)可匹配、搜索、替代高級(jí)文本模式,并為其他的一些功能提供基礎(chǔ)。正則表達(dá)式描述了字符與字符之間的某一種重復(fù)方式,是由字符以及特殊符號(hào)組成的,所以能按照某種已經(jīng)設(shè)定好的模式和有類(lèi)似特征的字符串集合進(jìn)行匹配,依次讀取每個(gè)需要爬取的字段名稱(chēng)和提取規(guī)則。

2.4數(shù)據(jù)整理

采用Python中的pandas庫(kù)對(duì)采集到的數(shù)據(jù)進(jìn)行必要的整理,采用mean、loc、sort_values、groupby、merge等方法進(jìn)行數(shù)據(jù)的統(tǒng)計(jì)與處理。將爬取的數(shù)據(jù)組合成DataFrame表格格式。pandas的基本功能是對(duì)數(shù)據(jù)進(jìn)行索引查找、過(guò)濾和函數(shù)應(yīng)用,除此之外,還有數(shù)據(jù)匯總和統(tǒng)計(jì)等功能,是實(shí)際數(shù)據(jù)分析中應(yīng)用最為廣泛的模塊。

2.5數(shù)據(jù)存儲(chǔ)與可視化輸出

爬蟲(chóng)獲取的數(shù)據(jù)可以將數(shù)據(jù)存儲(chǔ)為txt、xls、esv格式,也可存儲(chǔ)在數(shù)據(jù)庫(kù)中(包括MySQL關(guān)系數(shù)據(jù)庫(kù)和MongoDB數(shù)據(jù)庫(kù))。論文數(shù)據(jù)存儲(chǔ)為CSV格式,具有方便導(dǎo)人數(shù)據(jù)庫(kù)的特點(diǎn)。除此之外,還可以存儲(chǔ)成pdf格式的文件。然后,采用Python中的matplotlib庫(kù)以散點(diǎn)圖、餅狀圖、條形圖等形式進(jìn)行數(shù)據(jù)的可視化輸出。

2.6數(shù)據(jù)結(jié)果分析

對(duì)數(shù)據(jù)清洗和預(yù)處理后的票房、評(píng)論文本進(jìn)行描述性數(shù)據(jù)統(tǒng)計(jì)分析。

3電影數(shù)據(jù)爬取與分析

3.1提取數(shù)據(jù)

打開(kāi)中國(guó)票房網(wǎng)頁(yè)頁(yè)面并分析網(wǎng)頁(yè)源代碼結(jié)構(gòu)。分析代碼過(guò)程中,可利用開(kāi)發(fā)者工具確定每個(gè)數(shù)據(jù)對(duì)應(yīng)的元素及Class名稱(chēng)。例如用語(yǔ)句soup.find_all('table',{id:'tbContent'1},找到表格,id名稱(chēng)為tbContent。下載并解析中國(guó)票房網(wǎng)頁(yè),提取想要的數(shù)據(jù)信息,通過(guò)BeautifulSoup庫(kù)提取了電影名、電影類(lèi)型、上映地點(diǎn)以及電影票房并且將每個(gè)數(shù)據(jù)用DataFrame放人對(duì)應(yīng)列表中,見(jiàn)表1和表2,然后生成數(shù)據(jù)圖,分析數(shù)據(jù)。name,types,place,boxoffices字段分別是電影名,電影類(lèi)型,上映地點(diǎn),票房。

3.2數(shù)據(jù)分析

從網(wǎng)頁(yè)中提取數(shù)據(jù)后,將數(shù)據(jù)保存成csv文件。然后采用Python的統(tǒng)計(jì)方法對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的統(tǒng)計(jì)和分析。

3.2.1統(tǒng)計(jì)各電影類(lèi)型在中國(guó)電影市場(chǎng)的平均票房

通過(guò)groupby方法按照類(lèi)型分組,統(tǒng)計(jì)相應(yīng)類(lèi)型電影的總個(gè)數(shù)以及各個(gè)類(lèi)型的電影票房的平均數(shù)和總數(shù),并使用mat-plotlib.pyplot庫(kù)作條形圖和餅圖,結(jié)果一目了然,見(jiàn)圖3和圖4。

如圖1所示:橫軸為電影類(lèi)型,從左到右依次為愛(ài)情、動(dòng)畫(huà)、動(dòng)作、劇情、科幻、喜劇,豎軸為票房。從圖中我們不難看出,科幻類(lèi)型的電影更受人們的青睞,喜劇和動(dòng)作電影大眾喜歡程度相差不大。

從圖2中我們也可以清楚的看到某種類(lèi)型的平均電影票數(shù)占總平均票數(shù)的比例。我們不難得出結(jié)論,科幻類(lèi)型的電影的平均票房占了絕大部分,具體數(shù)值為32.25%。

3.2.2各地區(qū)在中國(guó)電影市場(chǎng)上映電影數(shù)量

圖3可以分析出每個(gè)地區(qū)在中國(guó)電影市場(chǎng)的活躍度,從圖3中可以看出美國(guó)在中國(guó)電影市場(chǎng)活躍度最高,中國(guó)緊迫其后。

3.2.3各個(gè)上映地區(qū)在中國(guó)電影市場(chǎng)上的平均電影票房數(shù)

同樣,我們通過(guò)groupby按照地區(qū)分組,統(tǒng)計(jì)在中國(guó)各地區(qū)上映的電影平均票房。如圖4所示:橫軸為地區(qū),豎軸為平均電影票房數(shù)量,從圖4中我們可以分析出人們對(duì)各地區(qū)在中國(guó)電影市場(chǎng)的認(rèn)可度。從圖4中我們可以直觀地看到中國(guó)上映的電影的平均票房數(shù)量最多,這也與國(guó)人對(duì)國(guó)產(chǎn)電影的支持和國(guó)產(chǎn)電影類(lèi)型和數(shù)量在這些年不斷陜速發(fā)展有關(guān)。

3.2.4不同評(píng)分電影的數(shù)量

下載并用正則表達(dá)式解析豆瓣TOP250網(wǎng)頁(yè),如圖5所示:橫軸為評(píng)分,豎軸為數(shù)量,該圖可表示出豆瓣網(wǎng)前250名電影評(píng)分主要分布的范圍,從圖中可以看出,8.7評(píng)分的電影數(shù)量最多。評(píng)分主要分布中8.5到9.2之間。由此可見(jiàn),大眾對(duì)電影類(lèi)型喜好雖然不同,但是有一定包容性。

4結(jié)束語(yǔ)

大數(shù)據(jù)時(shí)代下,人類(lèi)社會(huì)的數(shù)據(jù)正以前所未有的速度增長(zhǎng)。編寫(xiě)爬蟲(chóng)程序獲取到的海量數(shù)據(jù)更為真實(shí)、全面,在信息繁榮的互聯(lián)網(wǎng)時(shí)代更為行之有效。因此編寫(xiě)爬蟲(chóng)程序成為大數(shù)據(jù)時(shí)代信息收集的必備技能。

Python作為一門(mén)腳本語(yǔ)言,它靈活、易用、易學(xué)、適用場(chǎng)景多,實(shí)現(xiàn)程序快捷便利。課題主要采用Python,結(jié)合正則表達(dá)式、BeautifulSoup等豐富且強(qiáng)大的庫(kù),探討構(gòu)建模塊化的web數(shù)據(jù)采集、Html解析及抓取鏈接數(shù)據(jù)的方法,深入研究爬蟲(chóng)的基本原理與數(shù)據(jù)挖掘的算法。通過(guò)爬蟲(chóng)獲取的海量信息,我們可以對(duì)其進(jìn)行進(jìn)一步的分析:市場(chǎng)預(yù)測(cè)、文本分析、機(jī)器學(xué)習(xí)方法等。

對(duì)于衛(wèi)生信息化方向的信息管理與信息系統(tǒng)的專(zhuān)業(yè)學(xué)生而言,掌握Python數(shù)據(jù)抓取的方法、熟悉搜索引擎和網(wǎng)絡(luò)爬蟲(chóng)相關(guān)技術(shù)以及檢索算法,為將來(lái)從事數(shù)據(jù)收集與處理的醫(yī)療信息化相關(guān)工作打下良好基礎(chǔ)。

猜你喜歡
可視化
自然資源可視化決策系統(tǒng)
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
自然資源可視化決策系統(tǒng)
基于CGAL和OpenGL的海底地形三維可視化
“融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
包头市| 乌鲁木齐县| 新河县| 鹤峰县| 枣庄市| 九江县| 霸州市| 贵州省| 德化县| 通州区| 邵东县| 吴堡县| 杭锦后旗| 资兴市| 虞城县| 盈江县| 通化县| 龙陵县| 西充县| 德阳市| 陕西省| 吴旗县| 游戏| 皋兰县| 平安县| 玛纳斯县| 黄大仙区| 固原市| 洪江市| 莱芜市| 鄂托克前旗| 玉屏| 蕲春县| 遵化市| 永善县| 综艺| 宁德市| 长宁县| 绥阳县| 安化县| 汕尾市|