支持Ajax的Deep Web網(wǎng)絡(luò)爬蟲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2017-12-26 09:38
本文關(guān)鍵詞:支持Ajax的Deep Web網(wǎng)絡(luò)爬蟲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 出處:《華南理工大學(xué)》2015年碩士論文 論文類型:學(xué)位論文
更多相關(guān)文章: 網(wǎng)絡(luò)爬蟲 Ajax技術(shù) DOM樹 JavaScript Deep Web HtmlUnit
【摘要】:Ajax技術(shù)一改傳統(tǒng)的靜態(tài)網(wǎng)頁(yè)架構(gòu)模式,利用JavaScript事件執(zhí)行、狀態(tài)識(shí)別與切換等特性,使得網(wǎng)頁(yè)頁(yè)面不用全部刷新就可以動(dòng)態(tài)地改變網(wǎng)頁(yè)的內(nèi)容,導(dǎo)致網(wǎng)絡(luò)資源無法被傳統(tǒng)的網(wǎng)絡(luò)爬蟲抓取,成為了區(qū)別于Surface Web的Deep Web資源。當(dāng)前Ajax網(wǎng)站構(gòu)建技術(shù)已被廣泛應(yīng)用。然而,這導(dǎo)致大量的Deep Web資源被隱藏了起來,無法為人們所用。因此,使用一種能夠有效地抓取Ajax動(dòng)態(tài)腳本網(wǎng)頁(yè)的方法來實(shí)現(xiàn)提取Deep Web資源顯得越來越重要。本文首先深入分析了Ajax技術(shù)原理以及導(dǎo)致Deep Web資源的根本原因,然后闡述了網(wǎng)絡(luò)爬蟲技術(shù)的工作原理以及爬蟲系統(tǒng)的構(gòu)建方法,利用軟件工程方法,設(shè)計(jì)和實(shí)現(xiàn)了能夠解析Ajax動(dòng)態(tài)網(wǎng)頁(yè)信息,抓取Deep Web的網(wǎng)絡(luò)資源的爬蟲系統(tǒng)Spideep。本文詳述了Deep Web網(wǎng)絡(luò)爬蟲系統(tǒng)的需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、總體實(shí)現(xiàn)、模塊實(shí)現(xiàn)等軟件開發(fā)過程,將系統(tǒng)劃分為三個(gè)主要模塊,即生產(chǎn)線(Worker Line)模塊、任務(wù)管理(Task Manager)模塊、URL調(diào)度(Scheduler)模塊。生產(chǎn)線模塊負(fù)責(zé)整個(gè)抓取的工作流程,任務(wù)管理模塊負(fù)責(zé)初始化爬蟲系統(tǒng)的待爬取任務(wù),URL調(diào)度模塊負(fù)責(zé)調(diào)度待處理的URL隊(duì)列決定網(wǎng)頁(yè)的抓取策略。其中生產(chǎn)線模塊又包括網(wǎng)頁(yè)抓取(Fetcher)、網(wǎng)頁(yè)解析(Extractor)、內(nèi)容過濾(Filter)、內(nèi)容存儲(chǔ)(Writer)四個(gè)子模塊。在系統(tǒng)實(shí)現(xiàn)中,針對(duì)Ajax頁(yè)面的抓取,本文通過在爬蟲系統(tǒng)中嵌入一個(gè)無界面的瀏覽器HtmlUnit,首先通過利用HtmlUnit中的JavaScript解析器Rhino對(duì)最初獲取到的網(wǎng)頁(yè)源文檔中的JavaScript腳本進(jìn)行初步解析,并重構(gòu)DOM樹,然后再通過HtmlUnit提供的大量的網(wǎng)頁(yè)組件模擬瀏覽器的各種操作行為,如點(diǎn)擊按鈕,翻頁(yè)、滑動(dòng)等用戶操作行為,進(jìn)一步將隱藏起來的Deep Web信息動(dòng)態(tài)地顯現(xiàn)出來,最后再利用網(wǎng)頁(yè)解析工具HtmlParser或Jsoup解析DOM樹,從而獲取有價(jià)值的Deep Web信息。最后設(shè)計(jì)實(shí)驗(yàn)驗(yàn)證了支持Ajax的Deep Web網(wǎng)絡(luò)爬蟲系統(tǒng)Spideep的三個(gè)方面的性能,即Spideep系統(tǒng)的Ajax頁(yè)面抓取能力、穩(wěn)定性、有效性等,并針對(duì)實(shí)驗(yàn)結(jié)果做了詳細(xì)的分析,實(shí)驗(yàn)結(jié)果表明Spideep系統(tǒng)具有較好的性能,符合預(yù)定的使用需求。
【學(xué)位授予單位】:華南理工大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2015
【分類號(hào)】:TP393.092
【參考文獻(xiàn)】
相關(guān)期刊論文 前2條
1 郭浩;陸余良;劉金紅;;一種基于狀態(tài)轉(zhuǎn)換圖的Ajax爬行算法[J];計(jì)算機(jī)應(yīng)用研究;2009年11期
2 曾偉輝;李淼;;基于JavaScript切片的AJAX框架網(wǎng)絡(luò)爬蟲技術(shù)研究[J];計(jì)算機(jī)系統(tǒng)應(yīng)用;2009年07期
,本文編號(hào):1336746
本文鏈接:http://www.sikaile.net/guanlilunwen/ydhl/1336746.html
最近更新
教材專著