郭向向 鄭嘉慧 苗學(xué)芹
摘要:在大數(shù)據(jù)的環(huán)境下,網(wǎng)絡(luò)資源越加豐富,傳統(tǒng)的搜索引擎已經(jīng)不能夠滿足大眾獲取信息的需求,隨著計算機逐步的發(fā)展,網(wǎng)絡(luò)爬蟲的出現(xiàn)進入了人們的視野。本文主要講述了網(wǎng)絡(luò)爬蟲的概念、模塊以及操作流程,并通過給定的網(wǎng)址快速爬取影評信息,進行分詞做成詞云圖形式展示出來。
關(guān)鍵詞:Python? 爬蟲? 影評? 正則表達式? 詞云
當(dāng)今互聯(lián)網(wǎng)技術(shù)迅速發(fā)展,出現(xiàn)了包括大數(shù)據(jù)和云計算等等新型的技術(shù),在如此龐大的數(shù)據(jù)量中獲取自己想要的需要耗費大量的時間,搜索的結(jié)果準(zhǔn)確率也不是很高。本文通過利用Python爬蟲分類中的聚焦型爬蟲網(wǎng)絡(luò)系統(tǒng),在指定的網(wǎng)頁下抓取相關(guān)的信息。在本文的實驗中通過在電腦網(wǎng)頁中以手機用戶的身份抓取貓眼網(wǎng)中最新電影《悲傷逆流成河》的影評信息,成功的爬取后保存到本地,接著利用jieba分詞對下載好的影評信息進行過濾篩選,將高頻率出現(xiàn)的詞語通過影評詞云圖的形式展現(xiàn)在面前。這樣的爬取信息大大的提高了爬取信息的準(zhǔn)確性,提高了資源的利用率,節(jié)約了查找信息的時間,真正的實現(xiàn)了有目的性的抓取信息。
一、基于Python的聚焦型網(wǎng)絡(luò)爬蟲架構(gòu)
(一)網(wǎng)絡(luò)爬蟲的定義及分類
網(wǎng)絡(luò)爬蟲,又稱網(wǎng)頁蜘蛛,是一個功能強大的能夠自動提取網(wǎng)頁信息的程序。它模仿瀏覽器訪問網(wǎng)絡(luò)資源,從而獲取用戶需要的信息。網(wǎng)絡(luò)爬蟲主要分為四類:通用型爬蟲、聚焦型爬蟲、增量型爬蟲、深層爬蟲。
(二)工作流程
聚焦型網(wǎng)絡(luò)爬蟲的工作流程如下:第一:找出初始種子URL的集合.第二:在該集合中將相應(yīng)的url從確定的網(wǎng)站下載到本地,將相同的url隊列放在一起。第三:對已經(jīng)下載好的數(shù)據(jù)進行分析處理。第四:重復(fù)第二第三步驟,直到將所有的url進行完全抓取。
二、數(shù)據(jù)獲取
本文采用Python網(wǎng)絡(luò)爬蟲來進行處理,由于貓眼是一個反爬蟲的網(wǎng)站,所以在做網(wǎng)絡(luò)爬蟲時,還需要進行瀏覽器訪問模擬,通過對網(wǎng)頁源代碼的分析,用正則表達式來獲取所需數(shù)據(jù)。所以本實驗以爬取貓眼最新電影影評為例,詳細講解Python聚焦型爬蟲的實現(xiàn)原理。
(一)頁面抓取
根據(jù)指定的url,抓取貓眼網(wǎng)電影《悲傷逆流成河》頁面。通過建立連接,發(fā)送HTTP請求.利用Re-quests建立與服務(wù)器的連接,當(dāng)服務(wù)器接收到請求后,返回相應(yīng)的HTTP應(yīng)答。
(二)頁面處理
進行頁面處理時,首先需要對HTML相關(guān)的源代碼進行過濾和處理,分析出需要的信息,然后再對分析出的結(jié)果進行整合。對應(yīng)網(wǎng)頁的HTML結(jié)構(gòu)文檔。
(三)數(shù)據(jù)可視化分析
數(shù)據(jù)可視化是數(shù)據(jù)分析很重要的一部分,它能夠從繁雜的數(shù)據(jù)中更直觀更有效的獲取信息.當(dāng)獲取到影評信息之后,需要對數(shù)據(jù)進行可視化,首先需要做的是數(shù)據(jù)的清洗。第一,將所有的評論轉(zhuǎn)化為字符串格式。第二,利用正則表達式匹配中文,去掉所有的標(biāo)點符號。第三,對數(shù)據(jù)進行中文分詞操作,并去掉數(shù)據(jù)中沒有參考價值的虛詞,實驗中使用的是Jieba分詞。第四,最后調(diào)用WordCloud詞云包,將數(shù)據(jù)用詞云進行顯示:plt.show ()
三、爬蟲實現(xiàn)
本文以爬取貓眼電影《悲傷逆流成河》影評為例,詳細講解Python爬蟲的實現(xiàn)原理.
(一)抓取網(wǎng)頁數(shù)據(jù)
步驟一:要想爬取網(wǎng)頁,我們首先將其下載下來。我們選擇最基礎(chǔ)的方式使用Python的urllih模塊進行下根據(jù)url獲取數(shù)據(jù)。
步驟二:需要對得到的html代碼進行解析,提取我們需要的數(shù)據(jù)。
步驟三:存儲下載好的影評到指定文件夾。
下載數(shù)據(jù)的起始時間為2018年11月3日零點,截止時間為2018年11月3日中午12點。共60條評論數(shù)據(jù)。
(二)用詞云進行展示
步驟一:導(dǎo)入jieba等模塊,并獲取所有評論,獲取已經(jīng)下載好的影評。
步驟二:設(shè)置分詞,設(shè)置屏蔽詞。對數(shù)據(jù)進行中文分詞操作,并去掉數(shù)據(jù)中沒有參考價值的詞包括:電影、一部、一個、沒有等等。
步驟三:導(dǎo)入背景圖。導(dǎo)入的背景圖片只用于獲取圖片內(nèi)形狀,非在背景圖片上加影評。本次作業(yè)導(dǎo)入的是葫蘆娃背景。
步驟四:將分詞后數(shù)據(jù)傳入云圖,并保存。調(diào)用WordCloud詞云包,將數(shù)據(jù)用詞云進行顯示。以下是《悲傷逆流成河》詞云圖。
四、 結(jié)束語
網(wǎng)絡(luò)爬蟲作為新型獲取目標(biāo)信息的工具,其價值和使用前景都非常的大。本文中,針對性地爬取《悲傷逆流成河》影評數(shù)據(jù),確保了數(shù)據(jù)的真實性與最新性,避免了無關(guān)數(shù)據(jù)的干擾.不過,若爬取的內(nèi)容過多,Python執(zhí)行會花費很多時間,所以本文只獲取60條影評數(shù)據(jù)。如果結(jié)合Python的多線程技術(shù),再將一些諸如下載緩存優(yōu)化和并發(fā)性等因素考慮在內(nèi)的話,它的性能將會得到很大的改善。
參考文獻:
[1]高宇,楊小兵.基于聚焦型網(wǎng)絡(luò)爬蟲的影評獲取技術(shù)[J].中國計量大學(xué)學(xué)報,2018,29(03):299-303.
[2]田曉玲,方園,賈民政,趙熙雅.基于數(shù)據(jù)分析的關(guān)鍵詞類網(wǎng)絡(luò)爬蟲設(shè)計[J].北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2018,17(04):36-43.
[3]沈漪,華敏敏.基于Python正則表達式的彩票信息爬取[J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報,2018,17(05):19-21.
[4]羅咪.基于Python的新浪微博用戶數(shù)據(jù)獲取技術(shù)[J].電子世界,2018(05):138-139.
(作者單位:云南師范大學(xué)泛亞商學(xué)院)