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