王雪
摘 要:觀看電影是現(xiàn)代人在繁忙的工作學(xué)習(xí)之余放松身心、獲得精神安慰的重要休閑方式,然而現(xiàn)在國內(nèi)外影片繁多且質(zhì)量參差不齊,各類影評網(wǎng)站對影片的評價(jià)也比較分散,獲取集中的信息難度較大。由此,本文進(jìn)行了基于爬蟲技術(shù)的電影評論信息獲取及可視化設(shè)計(jì),將電影影評等數(shù)據(jù)信息采集、分析與挖掘、可視化等功能集于一體,幫助電影觀眾匯總了解電影評論信息。
關(guān)鍵詞:網(wǎng)絡(luò)爬蟲;可視化設(shè)計(jì);電影評論
中圖分類號:TP391.3 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-5168(2021)18-0014-03
Abstract: Watching movies is an important leisure way for modern people to relax their body and mind and obtain spiritual comfort after busy work and study. However, there are many films at home and abroad and their quality is uneven. The evaluation of films by various film review websites is also scattered, so it is difficult to obtain centralized information. Therefore, this paper carried out the film review information acquisition and visualization design based on crawler technology, which integrates the functions of data information collection, analysis and mining, visualization and so on, so as to help the film audience summarize and understand the film review information.
Keywords: web crawler;visual design;film review
在互聯(lián)網(wǎng)與多媒體技術(shù)結(jié)合的初期,視頻網(wǎng)站類型和數(shù)量比較少,而且各類多媒體信息的數(shù)據(jù)總量也不大,互聯(lián)網(wǎng)用戶在尋找特定需求信息時(shí)相對較容易,花費(fèi)時(shí)間也較少。而隨著互聯(lián)網(wǎng)技術(shù)在全球的迅速普及,各類網(wǎng)站在短期內(nèi)紛紛涌現(xiàn),互聯(lián)網(wǎng)用戶要想快速、準(zhǔn)確地搜尋到所需要的數(shù)據(jù)或內(nèi)容變得越來越困難,花費(fèi)的時(shí)間也越來越多。為此,各類搜索網(wǎng)站以及搜索引擎便產(chǎn)生、發(fā)展壯大起來。網(wǎng)絡(luò)爬蟲是搜索引擎的核心,例如,國內(nèi)的百度搜索,其爬蟲名稱為百度蜘蛛,它每時(shí)每刻都會在大量的互聯(lián)網(wǎng)信息和內(nèi)容中不間斷地進(jìn)行爬取操作,獲取并記錄有用的信息和內(nèi)容,對互聯(lián)網(wǎng)用戶的關(guān)鍵詞進(jìn)行分析、處理,從已經(jīng)爬取并記錄的信息內(nèi)容中找出用戶所需信息所在的網(wǎng)頁,并按照某種排序規(guī)則排名,然后將相關(guān)信息結(jié)果推送給用戶[1-2]。
網(wǎng)絡(luò)爬蟲技術(shù)作為搜索引擎最重要的技術(shù)組成部分之一,已成為當(dāng)前網(wǎng)絡(luò)技術(shù)研究的焦點(diǎn)和熱點(diǎn)。網(wǎng)絡(luò)爬蟲技術(shù)可以分為通用爬蟲技術(shù)和聚焦爬蟲技術(shù)兩類。其中,通用爬蟲技術(shù)主要用來提供基于關(guān)鍵詞的搜索或檢索服務(wù);聚焦爬蟲技術(shù)主要用于搜集、下載網(wǎng)頁信息內(nèi)容,其會依據(jù)提前設(shè)定的內(nèi)容來抓取信息,更加具有針對性,它并不追求覆蓋率,而是使特定用戶因特定目的獲取某類特定的數(shù)據(jù)資源。
1 網(wǎng)絡(luò)爬蟲架構(gòu)
網(wǎng)絡(luò)爬蟲架構(gòu)主要由三部分構(gòu)成:網(wǎng)絡(luò)爬蟲調(diào)度端、網(wǎng)絡(luò)爬蟲主程序、目標(biāo)數(shù)據(jù)。其中,網(wǎng)絡(luò)爬蟲調(diào)度端主要負(fù)責(zé)啟動網(wǎng)絡(luò)爬蟲主程序,啟動整個(gè)爬蟲的工作狀態(tài);網(wǎng)絡(luò)爬蟲主程序主要負(fù)責(zé)調(diào)用URL管理器、網(wǎng)頁下載器和網(wǎng)頁解析器;目標(biāo)數(shù)據(jù)主要負(fù)責(zé)抓取并解析有價(jià)值的信息。
網(wǎng)絡(luò)爬蟲主程序主要由三部分構(gòu)成:URL管理器、網(wǎng)頁下載器、網(wǎng)頁解析器。URL管理器的主要功能是管理、存儲URL,包括已經(jīng)爬取過信息的URL和待爬取信息的URL,目的是防止出現(xiàn)重復(fù)爬取或漏爬取的問題;網(wǎng)頁下載器的主要功能是連接URL地址,將相關(guān)信息下載保存到本地電腦中;網(wǎng)頁解析器的主要功能是將已經(jīng)獲取并下載存儲的信息中有價(jià)值的內(nèi)容進(jìn)行解析,得到更加直觀的信息。網(wǎng)絡(luò)爬蟲架構(gòu)見圖1。
網(wǎng)絡(luò)爬蟲架構(gòu)及爬取信息的流程主要是依靠爬蟲調(diào)度端調(diào)用爬蟲主程序來獲取特定的目標(biāo)數(shù)據(jù)。首先,調(diào)度器調(diào)用URL管理器,詢問是否存在待爬取的URL,若詢問返回的結(jié)果是肯定的,則調(diào)度器從URL管理器提取排序第一個(gè)的待爬取URL地址,并利用下載器通過URL地址下載特定信息,然后將獲取到的信息內(nèi)容發(fā)送給解析器,以便于解析可能存在的有用數(shù)據(jù)信息或得到新的URL,最后調(diào)度器將獲取到的有用數(shù)據(jù)信息發(fā)給應(yīng)用程序,并將新得到的URL新增到URL管理器。重復(fù)執(zhí)行上述流程。
調(diào)度器調(diào)用URL管理器的流程是:調(diào)度器調(diào)用URL管理器,可以從一個(gè)URL開始,也可以從多個(gè)URL開始,將這些URL存儲在“待爬取”的URL隊(duì)列中,并按照設(shè)定的排序從隊(duì)列中提取出URL地址,然后將URL地址發(fā)送給網(wǎng)頁下載器,其執(zhí)行下載信息內(nèi)容的操作,調(diào)度器收到下載的信息內(nèi)容后,再將相關(guān)內(nèi)容發(fā)送給網(wǎng)頁解析器,爬取用戶所需要的內(nèi)容信息。在整個(gè)爬取過程中,還會遇到可能已經(jīng)爬取過信息內(nèi)容的URL,這時(shí)需要在已經(jīng)爬取過信息內(nèi)容的URL隊(duì)列中比對,如果確認(rèn)是沒有爬取過的信息內(nèi)容,則作為新的URL進(jìn)行處理,把該URL放到URL隊(duì)列末尾的位置。整個(gè)過程是循環(huán)執(zhí)行的,直到待爬取的URL隊(duì)列全部為空時(shí),才能停止爬取,并下載已爬取的信息內(nèi)容。
2 功能模塊設(shè)計(jì)
2.1 設(shè)計(jì)流程
本文基于爬蟲技術(shù)的電影評論信息獲取及可視化設(shè)計(jì)流程如圖2所示。
本文的電影評論信息獲取及可視化設(shè)計(jì)的主要用戶群體為:想深入了解某部電影、決定值不值得看并且可以在線觀看的用戶。設(shè)計(jì)的主要功能是:全面有效地采集電影相關(guān)信息、對采集的信息進(jìn)行處理、將信息進(jìn)行解析并直觀地展示。采集的電影數(shù)據(jù)主要有三類:電影基本信息、影評文本信息、電影評價(jià)分布。本研究主要采集的數(shù)據(jù)源是豆瓣電影,實(shí)現(xiàn)采集數(shù)據(jù)源的預(yù)處理,把數(shù)據(jù)分析結(jié)果在文件中直觀地展現(xiàn)出來。
2.2 電影信息采集模塊
電影信息采集模塊的主要功能是采集電影相關(guān)數(shù)據(jù)信息,然后對已采集到的數(shù)據(jù)信息進(jìn)行清洗處理。豆瓣電影網(wǎng)站是一個(gè)沒有視頻版權(quán)的網(wǎng)站,它可以為用戶提供電影評論、交流的平臺,而且與其他視頻網(wǎng)站相比,豆瓣電影網(wǎng)站在電影評論和交流信息方面具有較好的區(qū)分度。為此,本文以豆瓣電影網(wǎng)站為數(shù)據(jù)來源,采集的數(shù)據(jù)信息源均來自豆瓣電影網(wǎng)站[3-5]。
網(wǎng)絡(luò)爬蟲爬取的信息主要有兩類:第一,電影的基本內(nèi)容,例如,電影名稱、語言類別、導(dǎo)演姓名、演員姓名、評分信息等。這類電影信息可以用作電影詳細(xì)信息頁面的展示。第二,影片的網(wǎng)絡(luò)地址,可以作為影片及信息的特征標(biāo)識項(xiàng)來構(gòu)造采集相關(guān)電影評論信息的URL。
本文選擇《叢林奇航》作為示例,電影采集的字段包括電影名稱、基本信息、評分信息、電影簡介、影評信息,如圖3所示。打開網(wǎng)頁后,找到該影片的評論頁面,建議使用的瀏覽器是“Chrome瀏覽器”,使用開發(fā)者工具,用于查看網(wǎng)頁的源代碼。通過查看網(wǎng)頁的源代碼可以發(fā)現(xiàn),包含電影名字的結(jié)點(diǎn)為span property="v:itemreviewed",導(dǎo)演、編劇、主演、類型、制片等信息均位于節(jié)點(diǎn)class="pl",豆瓣評分位于節(jié)點(diǎn)class="ll rating_num",影片簡介位于節(jié)點(diǎn)property="v:summary",影評信息(短評)位于節(jié)點(diǎn)class="short",影評信息(完整評論)位于節(jié)點(diǎn)class="full"。
網(wǎng)絡(luò)爬蟲可以根據(jù)用戶提前設(shè)定的爬取條件,拼接成目標(biāo)URL并進(jìn)行訪問。一般來說,爬取的信息數(shù)據(jù)是不能直接使用的,需要用戶結(jié)合瀏覽器工具對HTML源代碼進(jìn)行分析和判斷,然后通過解析庫來拆解得到需要的特定信息。
另外,豆瓣網(wǎng)站雖然對網(wǎng)絡(luò)爬蟲較為友好,但仍有反爬蟲機(jī)制。如果沒有進(jìn)行延遲的設(shè)置,同時(shí)發(fā)起大量訪問請求,可能會被拒絕訪問。此外,如果沒有登錄豆瓣,只能訪問前10頁的影片。因此,發(fā)起爬取數(shù)據(jù)的HTTP請求需要帶上已注冊會員賬號的cookie。
2.3 數(shù)據(jù)可視化處理
獲取電影評論信息后,可以通過利用可視化軟件生成詞云圖,或者利用其他可視化方法更加直觀清晰地表達(dá)出給定電影的影評信息圖。
豆瓣電影網(wǎng)站用戶數(shù)量非常龐大,且擁有非常豐富的影評信息。如果潛在的觀影用戶希望獲取某特定電影的各類信息,特別是關(guān)于電影的評論信息,其需要打開豆瓣電影網(wǎng)站頁面,找到相關(guān)電影,然后再逐條查看關(guān)于電影的各種評論信息,最后還需要對各類評論信息進(jìn)行歸納匯總后形成一個(gè)更加直觀的關(guān)于電影情況的印象,從而做出最后判斷,即是否是自己喜歡的電影,是否愿意付費(fèi)觀看電影。整個(gè)過程非常復(fù)雜,而且對潛在觀影用戶的要求較高,且會花費(fèi)用戶較多的時(shí)間來完成整個(gè)過程,這顯然與用戶想通過觀影來放松心情、獲取感官享受的目的相悖。因此,通過技術(shù)手段采集、匯總觀影評論信息,以直觀的方式推送給用戶就非常有必要。
本文首先介紹了網(wǎng)絡(luò)爬蟲的進(jìn)展情況,然后討論了網(wǎng)絡(luò)爬蟲架構(gòu),最后介紹了實(shí)現(xiàn)功能模塊設(shè)計(jì)、采集電影信息功能模塊設(shè)計(jì)、數(shù)據(jù)可視化處理等內(nèi)容,以期為用戶了解網(wǎng)絡(luò)爬蟲機(jī)制、實(shí)現(xiàn)簡單的功能提供一定的參考。
參考文獻(xiàn):
[1]郭二強(qiáng),李博.大數(shù)據(jù)環(huán)境下基于Python的網(wǎng)絡(luò)爬蟲技術(shù)[J].計(jì)算機(jī)產(chǎn)品與流通,2017(12):82.
[2]董博,李羽中,劉學(xué)敏,等.基于爬蟲的數(shù)據(jù)監(jiān)控系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017(10):53-56.
[3]周昆,王釗,于碧輝.基于語義相關(guān)度主題爬蟲的語料采集方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2019(5):190-195.
[4]林椹尠,袁柱,李小平.一種主題自適應(yīng)聚焦爬蟲方法[J].計(jì)算機(jī)應(yīng)用與軟件,2019(5):316-321.
[5]蕭婧婕,陳志云.基于灰狼算法的主題爬蟲[J].計(jì)算機(jī)科學(xué),2018(增刊2):146-148.