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