



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
搜索引擎中的驅(qū)動機構(gòu)定題搜索引擎的設計與實現(xiàn)
1用戶接口的設計隨著網(wǎng)絡和陵墓的快速發(fā)展,web信息資源的比例正在增加。然而,由于搜索策略和回環(huán)等現(xiàn)象,搜索無法在網(wǎng)絡上看到所有的頁面。同時由于動態(tài)網(wǎng)頁技術的迅速發(fā)展使得搜索引擎無法對網(wǎng)頁的新信息進行及時更新。這些新問題的出現(xiàn)使得各類“專業(yè)搜索引擎”應運而生。并逐漸引起搜索界的重視。目前,一個搜索引擎系統(tǒng)主要由四部分組成:搜索器、索引器、檢索器和用戶接口。搜索引擎的主要工作原理是:搜索器從網(wǎng)絡上的一個“種子集”Url地址出發(fā)開始搜索網(wǎng)頁中的超鏈接地址進而下載網(wǎng)頁信息到服務器;索引器的功能是理解搜索器所搜索的信息,從中抽取出索引項,用于表示文檔以及生成文檔庫的索引表;索引表一般使用某種形式的倒排表(InversionList),即由索引項查找相應的文檔;檢索器的功能是根據(jù)用戶的查詢在索引庫中快速檢出文檔,進行文檔與查詢的相關度評價,對將要輸出的結(jié)果進行排序,并實現(xiàn)某種用戶相關性反饋機制;用戶通過用戶接口模塊輸入查詢的關鍵字,檢索器將用戶輸入的關鍵字轉(zhuǎn)換為查詢語句從數(shù)據(jù)庫中讀出相關的信息反饋給用戶。用戶接口的設計和實現(xiàn)使用人機交互的理論和方法,以充分適應人類的思維習慣。所以,搜索器成為了搜索引擎系統(tǒng)中關鍵的開始步驟。搜索器的結(jié)果將直接影響到用戶查詢的結(jié)果。搜索器俗稱網(wǎng)絡機器人,它由一個機器人程序組成,本質(zhì)上是一種基于Socket的網(wǎng)絡程序。具有獨立的工作和決策能力,能自動地在因特網(wǎng)上搜索爬行,并將搜集的信息返回給服務器。它要盡可能多、盡可能快地搜集各種類型的新信息,同時還要定期更新已經(jīng)搜集過的舊信息,以避免死鏈接和無效鏈接。常用的機器人程序也被稱為蜘蛛算法程序或爬行蟲程序。一般地,機器人程序從一定的初始Url地址出發(fā),根據(jù)Url中指向其它Url地址的超鏈接而跳到其它的Url,進而不斷地深入和擴展。2基于主題的web信息來源2.1guage定義要從網(wǎng)頁里提取信息,就必須先分析網(wǎng)頁的結(jié)構(gòu)。超文本標記語言(hypertextmarkuplanguage)簡稱HTML。HTML標準定義了一組(大約116個)元素類型,不同類型的元素分別描述文本、圖像、和超文本鏈接等等。一個元素的描述一般由開始標記、內(nèi)容、結(jié)束標記三個部分所組成。在HTML語言中,開始標記為<元素名稱>,對應的結(jié)束標記為</元素名稱>。其中間部分的內(nèi)容正是我們所想要得到的數(shù)據(jù)信息。2.2搜索程序的實現(xiàn)以及兩種網(wǎng)站的設計爬行蟲程序必須能夠自行的從一個網(wǎng)頁移動到另一個網(wǎng)頁,從而達到在網(wǎng)上不停的自動搜索目的,因此爬行蟲程序必須能夠找到其他網(wǎng)頁上的鏈接。本程序采用的是分析初始給定網(wǎng)頁的html代碼,查找網(wǎng)頁內(nèi)所有鏈接到其他網(wǎng)頁的鏈接標簽。這種鏈接有多種類型,但最常用的是href(hypertextreference超文本鏈接)鏈接。通常href鏈接可以分為1)內(nèi)部鏈接:InternalLinks,本網(wǎng)站內(nèi)部網(wǎng)頁之間的鏈接。2)外部鏈接:ExternalLinks,本網(wǎng)站外部的鏈接,一般是指其他網(wǎng)站連到本網(wǎng)站的鏈接。3)反向/導入鏈接:BackwardLinks或Incoming/InboundLinks,意義與“外部鏈接”接近,指其他網(wǎng)站連到本網(wǎng)站的鏈接。4)導出鏈接:Outgoing/OutboundLinks,指從本網(wǎng)站連到其他網(wǎng)站的鏈接。我們設計的搜索程序主要是基于內(nèi)部鏈接的。程序的入口要給定一個URL地址,因為是定題搜索引擎,所以一定要先找到一個與主題相關的URL;然后分析我們最終想要得到的數(shù)據(jù),寫出針對性的配置文件。在配置文件中,BookURL是獲取資料的最終頁面,也就是得到數(shù)據(jù)的頁面。抓取工具將從該頁面上提取出需要的信息。然后根據(jù)配置文件中NextPageBegin和NextPageEnd兩個值獲取下一個網(wǎng)頁的Url;ConnectionString是數(shù)據(jù)庫鏈接串,在程序中我們將實現(xiàn)與數(shù)據(jù)庫直接相連,目的是將抓取的數(shù)據(jù)同步的保存到數(shù)據(jù)庫中。該數(shù)據(jù)庫直觀的反映了所搜索到的數(shù)據(jù)信息。這里采用SQL作為存放數(shù)據(jù)的數(shù)據(jù)庫。在數(shù)據(jù)庫中生成兩個表book表和logs表。Book表存儲了下載的信息。Logs表存儲了Url地址的情況??梢酝ㄟ^logs表檢測Url的過濾。另外,程序運行過程中還可以生成下載的測試文件,用以檢查下載過程中的錯誤。3深度和廣度目標搜索Crawler的搜索策略是指Crawler搜索到一個網(wǎng)頁上的文檔后接著應該如何轉(zhuǎn)到另一個網(wǎng)頁的另一個文檔.Crawler依據(jù)Url列表的存取方式?jīng)Q定搜索策略;從Crawler的發(fā)展歷程來看,主要有以下四種搜索策略.(1)IP地址搜索策略。它是最簡單的搜索策略。實現(xiàn)的方法是:先賦予Crawler一個起始的IP地址,然后根據(jù)IP地址遞增的方式搜索本IP地址段后的每一個WWW地址中的文檔,它完全不考慮文檔中指向其他Web站點的超級鏈接地址。優(yōu)點是搜索全面,能夠發(fā)現(xiàn)那些沒被其它文檔引用的新文檔的信息源;缺點是不適合大規(guī)模的搜索。(2)先進先出的隊列方式形成廣度優(yōu)先搜索.這種搜索策略是先搜索完一個網(wǎng)頁上的所有的超鏈接然后再繼續(xù)下一層的搜索,直到發(fā)生回環(huán)現(xiàn)象或是搜索完畢.它的優(yōu)點是能找到兩個WEB文檔之間的最短路徑;缺點是對于深層的WEB文檔要花很長的時間才能進去。(3)先進后出的堆棧方式形成深度優(yōu)先搜索。它是從起始結(jié)點出發(fā),一直深入搜索到那些不包含任何超級鏈接的文件為止,然后再返回起始文檔,繼續(xù)選擇該文檔中的其他超鏈接。直到該文檔中不再有其他的超鏈接可以搜索。優(yōu)點是可以遍歷一個WEB站點或深層嵌套的文檔集合,所以,這種方法能產(chǎn)生較好的文檔分布,更容易發(fā)現(xiàn)文檔的結(jié)構(gòu),找到最大數(shù)目的交叉引用。缺點是現(xiàn)在有的WEB結(jié)構(gòu)相當?shù)纳?有時會造成不能返回的遍歷。(4)深度和廣度綜合搜索策略,這種方法結(jié)合上面兩種方法的優(yōu)點成為搜索策略的新發(fā)展方向。利用這種策略的搜索引擎,可以沿著網(wǎng)頁上的超級鏈接逐步向下延伸。當它到達一個新的網(wǎng)站時,能夠?qū)@個網(wǎng)站的超級鏈接進行統(tǒng)計,并且對其內(nèi)容進行檢索,對獲得的URLs運行搜索引擎程序。但是,這種搜索策略也存在問題:其一是當搜索引擎搜索到同一WEB站點或同一WEB文檔時,要進行重復搜索,這不僅會極大的浪費計算機的資源,同時也會影響到用戶最終檢索的結(jié)果。解決的辦法是對搜索引擎檢索過的WEB站點或WEB文檔做一些標記。以防止搜索引擎重復檢索。也就是在URL庫中分成兩部分;一部分用于待檢索,而另一部分是已經(jīng)檢索過的不需要再檢索所以做了標記的。標記可以這樣設置,當搜索引擎搜索過一個WEB站點或文檔時,就在搜索引擎的服務器上返回一個值代表該WEB站點或文檔已經(jīng)被訪問過。當再次搜索到時就可以忽略。這樣做也為URLFilter做好了準備。這種搜索策略的優(yōu)點是檢索結(jié)果總是最新的。同時具有很高的查全率??傊?網(wǎng)絡蜘蛛的搜索問題是一個“多目標”的規(guī)劃問題。在合理的時間限度內(nèi),以較少的網(wǎng)絡資源、存儲資源和計算資源的消耗獲得更多的主題相關頁面是網(wǎng)絡蜘蛛追求的最終目標。因而,采用合理的搜索策略,降低計算的復雜度以及增加網(wǎng)絡蜘蛛的自適應性,是提高網(wǎng)絡蜘蛛效率的關鍵因素。4配置文件中的使用具體編程實現(xiàn)中,在windowXP平臺上采用C++Builder作為開發(fā)工具,后臺數(shù)據(jù)庫采用MicrosoftSQLServer2000存儲數(shù)據(jù);下載模塊中與網(wǎng)絡交互以Get類為基礎。系統(tǒng)界面如圖一所示。從后臺數(shù)據(jù)庫中記錄的數(shù)據(jù)來看,一共有兩個表:book表和logs表,logs表中的PageType為1,表明表中的URL地址是抓取數(shù)據(jù)的最終頁面。Referer是生成最終頁面的中間頁面。它們與book表中的URL和Referer字段相對應。Logs表對已經(jīng)下載過的網(wǎng)頁狀態(tài)做“已下載”的標注。對未實現(xiàn)下載的網(wǎng)頁狀態(tài)做“未處理”的標注。而book表中的其他字段是抓取到的具體數(shù)據(jù)。(1)啟動爬行程序程序界面使用“打開配置文件”按鈕選擇一個.ini文件來啟動爬行程序,在爬行前首先檢查給定的初始URL是哪種類型的鏈接,通過Get方法與Internet建立連接,然后將URL地址的數(shù)據(jù)保存在一個byte型的數(shù)組中用以進一步分析。而.ini配置文件中給出了初始的URL地址。配置文件中FieldNum值反映了所抓取的數(shù)據(jù)的字段數(shù)。過濾器指定了程序需要下載的頁面的標記串,這個串通常是URL不變的一部分,過濾器可能有多個,FilterNum指出其個數(shù),對應于以上的FieldNum,在配置文件中將分別給出每個字段的具體屬性。這些相關的信息最后在得到的book表中都有體現(xiàn)。(2)爬行過程爬行過程主要由Work類開始工作,然后解析Html頁面。DownloadNext()類主要負責下載數(shù)據(jù)。GetUrls分析頁面的Html文檔中的鏈接信息,并且將分析出的Urls保存到logs表中。GetNextPageUrls實現(xiàn)了從一個URL到另一個URL的跳躍。當程序獲取一個URL后,運行程序就會產(chǎn)生一個線程;進行數(shù)據(jù)下載。我們使用的是多線程下載。利用_beginthread(thread_code,4096,(void*)data)函數(shù)開始一個新的線程。在下載的界面中我們可以看到正在下載的鏈接和已經(jīng)下載的數(shù)量。一旦分析URL找到了我們需要的數(shù)據(jù)就調(diào)用AddPage和AddBook兩個函數(shù)將抓到的數(shù)據(jù)分別保存到logs表和book表中。Logs表中主要保存了Url地址信息,book表中保存了與配置信息相對應的下載數(shù)據(jù)。Logs表的信息由AddInfo(AnsiStringasSecValue,AnsiStringasURL,AnsiStringasReferrer)實現(xiàn)。Book表的信息由AddBook(AnsiStringasHtml,AnsiStringasURL,AnsiStringasReferrer)實現(xiàn)。(3)退出爬行爬行程序在爬行過程中可以實現(xiàn)停止爬行,通過“退出”鈕的點擊事件實現(xiàn)。同時將數(shù)據(jù)庫連接斷開。void__fastcTfrmMain::btnExitClick(TObject*Sender){5結(jié)果與性能分析種新的研究方向本文設計了一個基于WEB頁面數(shù)據(jù)收集的WebCrawler程序,陳述了它的整體框架和主要功能模塊的設計,以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多元評估與反饋機制計劃
- 嬰幼兒疾病識別試題及答案
- 快速掌握電子商務考試試題及答案
- 挑戰(zhàn)自我的人力資源管理師試題及答案
- 2024監(jiān)理工程師實務案例分析試題及答案
- 政策變化2024年計算機二級考試試題及答案
- 黑龍江林業(yè)職業(yè)技術學院《現(xiàn)代藝術體操(1)》2023-2024學年第二學期期末試卷
- 2024年全球農(nóng)業(yè)發(fā)展趨勢分析試題及答案
- 黑龍江省哈爾濱六十九重點名校2025年中考化學試題試卷含解析
- 黑龍江省哈爾濱第六中學2025年高三下學期4月二模試題歷史試題含解析
- 國內(nèi)整體就業(yè)環(huán)境分析報告
- 腎癌切除術后護理查房課件
- 用戶體驗測試方案
- 煙氣空氣全參數(shù)
- 農(nóng)產(chǎn)品食品檢驗員(三級高級工)技能鑒定備考(重點)題庫及答案
- 居民死亡醫(yī)學證明(推斷)書
- 【礦山安全】非煤礦山頂板分級管理制度
- 水晶手冊樣本
- 公園綠化維護服務投標方案
- 發(fā)電機組臨電方案
- 植物病理學-植物病原真菌
評論
0/150
提交評論