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