4.2 數據庫的設計
本課題包含一張用于存放抓取回來的網頁信息如表1。
4.3 模塊設計
該模型按照功能劃分為三個部分,一是爬蟲抓取網頁部分,二是從數據庫建立索引部分,三是從前臺頁面查詢部分。系統的功能流程(如圖5.1和5.2)。
該系統用3個模塊來實現搜索引擎的主要功能。流程如上圖所示。
從一個或若干初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統的一定停止條件。這條件可以是限定的某個域名空間、或者是限定的網頁抓取級數。當在獲取URL時存在這樣的問題就是在實際應用中主要以絕對地址和相對地址來表現。絕對地址是指一個準確的、無歧義的Internet資源的位置,包含域名(主機名)、路徑名和文件名;相對地址是絕對地址的一部分。然后把抓取到的網頁信息包括網頁內容、標題、鏈接抓取時間等信息經過‘減肥’后保存到網頁存儲數據庫表里。然后通過正則表達式,去掉多余的HTML標簽。因為抓取的網頁含有HTML標簽、Javascript等,對搜索多余的信息,如果抓取到的網頁不經過處理就會使搜索變得不夠精確。
畢設一般什么時候做。讓爬蟲程序能繼續運行下去,就得抓取這個網頁上的其它URL,所以要用正則將這個網頁上的所有URL都取出來放到一個隊列里。用同樣的方法繼續抓取網頁,這里將運用到多線程技術。
為了對文檔進行索引,Lucene提供了五個基礎的類,他們分別是Document,Field,IndexWriter,Analyzer,Directory Document是用來描述文檔的,這里的文檔可以指一個HTML頁面,一封電子郵件,或者是一個文本文件。一個Document對象由多個Field對象組成的。可以把一個Document對象想象成數據庫中的一個記錄,而每個Field對象就是記錄的一個字段。在一個文檔被索引之前,首先需要對文檔內容進行分詞處理,這部分工作就是由Analyzer來做的。Analyzer類是一個抽象類,它有多個實現。針對不同的語言和應用需要選擇適合的Analyzer。Analyzer把分詞后的內容交給IndexWriter來建立索引。
論文目錄:
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态