freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

互聯(lián)網(wǎng)信息檢索系統(tǒng)的研究與實現(xiàn)本科畢業(yè)論文-資料下載頁

2025-06-27 22:31本頁面
  

【正文】 { if ( != 0) { url = (Uri)()。 if (!(url)) { (url, )。 ++。 break。 } } else { break。 } } } ()。 Download(url)。 lock (manager) { (url)。 if (!(url)) (url, )。 } ()。 ()。 } } End()。} 網(wǎng)頁文件下載通過WebResponse,HttpWebRequest對象對文件進行下載,數(shù)據(jù)可以是二進制格式,也可以是文本類型數(shù)據(jù)。利用GetResponseStream()方法將要下載的文件轉化為網(wǎng)絡流,最終通過HTTP協(xié)議傳遞到本地,生成文件。具體代碼如下:private void Download(Uri url){ WebResponse response = null。 Stream stream = null。 StreamReader reader = null。 try { HttpWebRequest request = (HttpWebRequest)(url)。 response = ()。 stream = ()。 if (!().StartsWith(text/)) { SaveBinaryFile(response)。 return。 } string buffer = , line。 reader = new StreamReader(stream, )。 while ((line = ()) != null) { buffer += line + \r\n。 } (下載成功: + ())。 ProcessPage(buffer)。 } catch (WebException e) { (下載錯誤: + () + | + ())。 return。 } catch (IOException e) { (下載錯誤: + () + | + ())。 } finally { if (reader != null) ()。 if (stream != null) ()。 if (response != null) ()。 }} HTML文檔的掃描與分析HTML格式的文檔由兩部分組成:文件頭和文件體。文件頭(TITLE)包含文檔的標題,以及其它相關屬性,這些內容不顯示在瀏覽器的頁面中。文件體(BODY)是HTML文檔的主要部分,描述的是在瀏覽器中顯示的內容。網(wǎng)絡蜘蛛在爬行到每一個網(wǎng)頁時,都需要對HTML文檔進行分析,主要需要完成兩個操作:(1) 分析出頁面中所有HREF的值,并將這些URL添加到待爬行的URL隊列中,以供網(wǎng)絡蜘蛛接下來爬行使用。(2) 解析HTML中除HTML標簽以外的數(shù)據(jù),提取其中的關鍵內容,將數(shù)據(jù)提交到數(shù)據(jù)庫中,以供數(shù)據(jù)索引時使用。HTML數(shù)據(jù)格式是一種特殊的XML數(shù)據(jù)進行展現(xiàn)的, ,可以方便的實現(xiàn)獲取節(jié)點的屬性,值等,再加上C強大的正則表達式的支持,可以準確的完成對HTML進行解析的工作。代碼實現(xiàn)如下:從HTML中獲取節(jié)點TITLE的值。private string GetTitle(string html){ Match m = (html,@(?m)title[^]*(?title(?:\w|\W)*?)/title[^]*。 if ( == 2) return [1].Value。 string title = (html, title, title, )。 if ( == 0) { return 。 } else { return title。 }} 數(shù)據(jù)的索引 數(shù)據(jù)索引主界面設計數(shù)據(jù)索引界面主要提供對索引文件參數(shù)的設置,包括索引文件保存的路徑,索引線程停頓時間,已經(jīng)存在索引文件時進行相應處理的設置等。索引參數(shù)配置界面如圖52所示。圖52 索引參數(shù)設置界面 索引網(wǎng)頁數(shù)據(jù)由于用戶不能直接對抓取的數(shù)據(jù)進行檢索,所以在提供數(shù)據(jù)檢索功能之前,需要進行數(shù)據(jù)索引操作。,暫存到SqlDataReader中,最后將SqlDataReader作為參數(shù)傳入添加索引項到索引文件的函數(shù)中,生成索引文件?;玖鞒虉D如圖53所示。數(shù)據(jù)庫待索引數(shù)據(jù)生成field對象,暫存在SqlDataReader中內存文件系統(tǒng)索引文件圖53 生成索引文件基本流程代碼實現(xiàn)如下:public void AddDocument(SqlDataReader dr){ try { while (()) { Document doc = new Document()。 (new Field(title, dr[Title].ToString(), , ))。 (new Field(url, dr[Url].ToString(), , ))。 (new Field(content, dr[Content].ToString(), , ))。 (doc)。 } ()。 ()。 } catch { (IndexFail: + dr[Url].ToString())。 }} 數(shù)據(jù)的檢索 數(shù)據(jù)檢索主界面設計根據(jù)數(shù)據(jù)檢索的功能需求可知,其界面需有客戶端輸入關鍵詞的文本框,并且提供查詢按鈕。數(shù)據(jù)檢索主界面如圖54所示。圖54 數(shù)據(jù)檢索主界面 檢索索引數(shù)據(jù)客戶端將要檢索的關鍵詞傳遞到服務器,服務器端處理程序首先對關鍵詞進行分析,然后從索引文件中進行查找,將符合匹配的結果返回給客戶端。首先獲取索引文件路徑以及要檢索的關鍵詞;然后通過QueryParser對象對關鍵詞進行分析,利用Search()方法在索引文件中進行查找;最后將匹配的數(shù)據(jù)添加到DataTable中進行數(shù)據(jù)綁定,返回給客戶端。代碼實現(xiàn)如下:string Index_Path = (Index)。KeyWord = [keyword].ToString()。Hits h = null。IndexSearcher Search = new IndexSearcher(Index_Path)。QueryParser q = new QueryParser(indexcontent, new StandardAnalyzer())。Query query = (KeyWord)。h = (query)。if (h != null){ DataRow myrow。 DataTable mytab = new DataTable()。 (title)。 (content)。 (url)。 ()。 for (int i = 0。 i ()。 i++) { Document doc = (i)。 myrow = ()。 myrow[0] = (title).ToString()。 myrow[1] = (content).ToString()。 myrow[2] = (url).ToString()。 (myrow)。 ()。 } = mytab。 ()。}else{ (Hits為空)。}()。數(shù)據(jù)檢索效果如圖55所示。圖55 數(shù)據(jù)檢索結果界面 6 系統(tǒng)測試測試是軟件質量保證的關鍵階段,是在軟件投入運行前,對軟件的需求分析、設計、實現(xiàn)編碼進行最終審查。系統(tǒng)要想正確穩(wěn)定的運行,必須經(jīng)過嚴格測試。以下將詳細介紹本系統(tǒng)的測試過程。 測試基礎(1) 測試的目的測試的目的,是想以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷,通過修正各種錯誤和缺陷提高軟件質量,回避軟件發(fā)布后由于潛在的產(chǎn)品缺陷和錯誤造成的隱患所帶來的風險。最終目的是建立一個可靠性高的軟件系統(tǒng)。(2) 測試方法系統(tǒng)的測試方法分為靜態(tài)測試和動態(tài)測試兩種。動態(tài)測試一般用兩種方法:一是黑盒測試法,一是白盒測試法。 測試內容軟件并不僅僅是程序測試,軟件測試應貫穿于整個軟件生命周期中。需求分析、概要設計、詳細設計以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說明、概要設計規(guī)格說明、詳細設計規(guī)格說明以及源程序,都應成為軟件測試的對象。 模塊測試模塊測試就是把各個模塊看成一個小整體,采用靜態(tài)測試和白盒測試法來測試各模塊是否滿足要求。(1) 中文分詞模塊測試通過對中文算法的測試,基本上實現(xiàn)了預期的效果。 測試用例預期測試結果實際測試結果測試結論我是中國人我是/中國/中國人我是/中國人基本正確中國是社會主義國家中國/是/社會/主義/國家/社會主義中國/是/社會主義國家基本正確每個人都應孝敬父母每個/人/都應/孝敬/父母/孝敬父母每個人/都/應/孝敬父母基本正確(2) 網(wǎng)頁超鏈接獲取模塊測試網(wǎng)頁超鏈接的獲取是網(wǎng)頁抓取模塊的關鍵功能,通過測試,基本上實現(xiàn)了預期的效果。 網(wǎng)頁超鏈接獲取模塊測試表測試用例預期測試結果實際測試結果測試結論網(wǎng)頁A:htmla href=baidu/aa href=Google/aa href=Bing/a/html正確網(wǎng)頁B:htmla href=SINA/aa href=/a正確 集成測試單個模塊能正常,組裝后不一定能正常工作,所以在各模塊測試的基礎上,將所有模塊按照設計要求組裝成一個完整的系統(tǒng)進行測試。本系統(tǒng)采用黑盒測試方法及自頂向下測試方法,從主模塊開始,沿程序的控制路徑逐步向下,挨個進行各個功能的測試,比如在數(shù)據(jù)檢索中輸入一個關鍵字,則在顯示檢索數(shù)據(jù)結果界面中就能看到所檢索的詳細信息,表明此系統(tǒng)沒有毛病,滿足用戶的要求。經(jīng)過一系列測試后結果基本無誤。 結束語本人在開發(fā)過程中學習到了很多軟件知識,同時也認識到自己知識的匱乏,比如對很多關鍵技術只停留在理論層次,沒有經(jīng)過實踐,沒能真正懂得其中的精華,走了很多彎路,查閱了很多資料。但經(jīng)過本軟件的開發(fā),對其用到的技術有了更深層次的掌握,如搜索引擎的基本原理,搜索引擎的相關算法。本系統(tǒng)基本上達到了預期想要完成的效果,實現(xiàn)了網(wǎng)頁數(shù)據(jù)的抓取、數(shù)據(jù)的索引、數(shù)據(jù)的檢索等功能,并且在HTML文件解析方面研究了多種解決方案,實現(xiàn)了對網(wǎng)頁關鍵內容的提取。通過多線程的方式,提高了數(shù)據(jù)抓取的速度。,為檢索模塊提供數(shù)據(jù)來源。但是由于畢業(yè)設計時間較短,個人的水平有限,所以該系統(tǒng)還有許多不盡如人意的地方,比如在性能方面,數(shù)據(jù)的采集速度還有待提高。每次多線程采集數(shù)據(jù)時,系統(tǒng)內存的使用量都很大,對硬件的要求很高。這些都是還有待進一步改善的地方。在這段時間里,本人對C語言的掌握和Visual Stuido的使用有了較大的提高,在編程思想方面也有了進一步的提高。開發(fā)的過程其實就是一個學習和實踐的過程。在軟件的開發(fā)過程中,知道了許多編程的技巧,積累了許多設計方面的經(jīng)驗。最后,敬請老師和同學們多多批評指正。 致 謝在這次畢業(yè)設計的整個過程中,雖然遇到了一些技術上的難題但在與老師、同學和網(wǎng)友的交流下都及時的解決了問題。其中老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我受益匪淺。他無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高,這對于我以后的工作和學習都有一
點擊復制文檔內容
數(shù)學相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1