軟件工程畢業(yè)設計(論文)網(wǎng)絡爬蟲設計與實現(xiàn)_第1頁
軟件工程畢業(yè)設計(論文)網(wǎng)絡爬蟲設計與實現(xiàn)_第2頁
軟件工程畢業(yè)設計(論文)網(wǎng)絡爬蟲設計與實現(xiàn)_第3頁
軟件工程畢業(yè)設計(論文)網(wǎng)絡爬蟲設計與實現(xiàn)_第4頁
軟件工程畢業(yè)設計(論文)網(wǎng)絡爬蟲設計與實現(xiàn)_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、畢業(yè)設計(論文)說明書學 院 軟件學院 專 業(yè) 軟件工程 年 級 2007 姓 名 指導教師 2011年 3月 6 日畢業(yè)設計(論文)任務書題目:網(wǎng)絡爬蟲設計與實現(xiàn)學生姓名 學院名稱 軟件學院 專 業(yè) 軟件工程 學 號 指導教師 職 稱 講師 1、 原始依據(jù)(包括設計或論文的工作基礎、研究條件、應用環(huán)境、工作目的等。)互聯(lián)網(wǎng)是一個龐大的非結(jié)構(gòu)化的數(shù)據(jù)庫,將數(shù)據(jù)有效的檢索并組織呈現(xiàn)出來有著巨大的應用前景。搜索引擎作為一個輔助人們檢索信息的工具成為用戶訪問萬維網(wǎng)的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性。不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結(jié)果

2、包含大量用戶不關(guān)心的網(wǎng)頁。所以需要一個能基于主題搜索的滿足特定需求的網(wǎng)絡爬蟲。為了解決上述問題,參照成功的網(wǎng)絡爬蟲模式,對網(wǎng)絡爬蟲進行研究,從而能夠為網(wǎng)絡爬蟲實現(xiàn)更深入的主題相關(guān)性,提供滿足特定搜索需求的網(wǎng)絡爬蟲。2、 參考文獻1winter中文搜索引擎技術(shù)解密:網(wǎng)絡蜘蛛 m北京:人民郵電出版社,2004年2sergey等the anatomy of a large-scale hypertextual web search engine m北京:清華大學出版社,1998年3wisenutwisenut search engine white paper m北京:中國電力出版社,2001年4g

3、ary r.wright w.richard stevenstcp-ip協(xié)議詳解卷3:tcp事務協(xié)議,http,nntp和unix域協(xié)議 m北京:機械工業(yè)出版社,2002 年1月.5羅剛 王振東自己動手寫網(wǎng)絡爬蟲m北京:清華大學出版社,2010年10月.6李曉明,閆宏飛,王繼民搜索引擎:原理、技術(shù)與系統(tǒng)華夏英才基金學術(shù)文庫m北京:科學出版社,2005年04月.3、 設計(研究)內(nèi)容和要求(包括設計或研究內(nèi)容、主要指標與技術(shù)參數(shù),并根據(jù)課題性質(zhì)對學生提出具體要求。)本課題的主要目的是設計面向主題的網(wǎng)絡爬蟲程序,同時需要滿足的是具有一定的性能,要考慮到網(wǎng)絡爬蟲的各種需求。網(wǎng)絡爬蟲應用寬度搜索技術(shù)。

4、對url進行分析,去重。網(wǎng)絡爬蟲使用多線程技術(shù),讓爬蟲具備更強大的抓取能力。網(wǎng)絡爬蟲要實現(xiàn)對特定主題的爬取。網(wǎng)絡爬蟲還要完成信息提取任務,對于抓取回來的網(wǎng)頁提取出來:新聞、電子圖書、行業(yè)信息等。對網(wǎng)絡爬蟲的連接網(wǎng)絡設置連接及讀取時間,避免無限制的等待。研究網(wǎng)絡爬蟲的原理并實現(xiàn)爬蟲的相關(guān)功能。最終實現(xiàn)的網(wǎng)絡爬蟲應該能根據(jù)設定的主題,從設定的url進行一定深度的搜索,并最終得到需要的數(shù)據(jù)。 指導教師(簽字)年 月 日審題小組組長(簽字)年 月 日天津大學本科生畢業(yè)設計(論文)開題報告課題名稱網(wǎng)絡爬蟲設計與實現(xiàn)學院名稱軟件學院專業(yè)名稱軟件工程學生姓名指導教師(內(nèi)容包括:課題的來源及意義,國內(nèi)外發(fā)展狀

5、況,本課題的研究目標、研究內(nèi)容、研究方法、研究手段和進度安排,實驗方案的可行性分析和已具備的實驗條件以及主要參考文獻等。)1 課題的來源及意義互聯(lián)網(wǎng)是一個龐大的非結(jié)構(gòu)化的數(shù)據(jù)庫,將數(shù)據(jù)有效的檢索并組織呈現(xiàn)出來有著巨大的應用前景。搜索引擎作為一個輔助人們檢索信息的工具成為用戶訪問萬維網(wǎng)的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性。不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結(jié)果包含大量用戶不關(guān)心的網(wǎng)頁。為了解決這個問題,一個靈活的爬蟲有著無可替代的重要意義。2 國內(nèi)外發(fā)展狀況對于網(wǎng)絡爬蟲的研究從上世紀九十年代就開始了,目前爬蟲技術(shù)已經(jīng)趨見成熟,網(wǎng)絡爬蟲

6、是搜索引擎的重要組成部分。網(wǎng)絡上比較著名的開源爬蟲包括nutch,larbin,heritrix。網(wǎng)絡爬蟲最重要的是網(wǎng)頁搜索策略(廣度優(yōu)先和最佳度優(yōu)先)和網(wǎng)頁分析策略(基于網(wǎng)絡拓撲的分析算法和基于網(wǎng)頁內(nèi)容的網(wǎng)頁分析算法)。3 研究目標本論文主要研究搜索引擎的搜索器(網(wǎng)絡爬蟲程序)的設計與實現(xiàn),實現(xiàn)簡單的可在后臺自動運行的爬蟲程序。1. 可以多線程進行抓取。2. 可以進行面向主題的抓取。四研究內(nèi)容本課題研究的內(nèi)容是如何使網(wǎng)絡爬蟲靈活高效。1. 如何具備更強的抓取能力。2. 如何分辨重復的網(wǎng)頁內(nèi)容。3. 如何確定主題相關(guān)性。4. 對于網(wǎng)絡時延等的處理。五研究方法網(wǎng)絡爬蟲應用寬度搜索技術(shù)。對url進

7、行分析,去重。網(wǎng)絡爬蟲使用多線程技術(shù),讓爬蟲具備更強大的抓取能力。網(wǎng)絡爬蟲還要完成信息提取任務,對于抓取回來的網(wǎng)頁提取出來新聞等信息。對網(wǎng)絡爬蟲的連接網(wǎng)絡設置連接及讀取時間,避免無限制的等待。研究網(wǎng)絡爬蟲的原理并實現(xiàn)爬蟲的相關(guān)功能。6 研究手段參考網(wǎng)上開源的網(wǎng)絡爬蟲和各種網(wǎng)絡爬蟲相關(guān)的書籍,在windows系統(tǒng)環(huán)境下開發(fā)。5 本課題進度安排: 2010.12.202011.03.10 查閱資料完成任務書 ,完成開題報告 2011.03.112011.03.12 開題報告會 2011.03.132011.04.24 查閱資料,進行論文基本章節(jié)的寫作,完成初稿, 并完成進行代碼編寫 2011.04

8、.252011.04.30 畢業(yè)設計中期報告會 2011.05.012011.05.22 系統(tǒng)設計結(jié)束并再次檢查系統(tǒng)的可靠性。2011.05.232011.06.22 完成論文及答辯6 本課題可行性分析網(wǎng)絡爬蟲目前已經(jīng)比較普遍,國內(nèi)外有眾多對網(wǎng)絡爬蟲的研究成果,大部分的技術(shù)難題已經(jīng)有解決方案。所以本課題的可行性較高。8 實驗條件windows 操作系統(tǒng) ;互聯(lián)網(wǎng)9 主要參考文獻1winter中文搜索引擎技術(shù)解密:網(wǎng)絡蜘蛛 m北京:人民郵電出版社,2004年2sergey等the anatomy of a large-scale hypertextual web search engine m北

9、京:清華大學出版社,1998年3wisenutwisenut search engine white paper m北京:中國電力出版社,2001年4gary r.wright w.richard stevenstcp-ip協(xié)議詳解卷3:tcp事務協(xié)議,http,nntp和unix域協(xié)議 m北京:機械工業(yè)出版社,2002 年1月.5羅剛 王振東自己動手寫網(wǎng)絡爬蟲m北京:清華大學出版社,2010年10月.6李曉明,閆宏飛,王繼民搜索引擎:原理、技術(shù)與系統(tǒng)華夏英才基金學術(shù)文庫m北京:科學出版社,2005年04月.選題是否合適: 是 否課題能否實現(xiàn): 能 不能指導教師(簽字)年 月 日選題是否合適:

10、 是 否課題能否實現(xiàn): 能 不能審題小組組長(簽字)年 月 日摘 要本課題的主要目的是設計面向主題的網(wǎng)絡爬蟲程序,同時需要滿足的是具有一定的性能,考慮到網(wǎng)絡爬蟲的各種需求。網(wǎng)絡爬蟲應用寬度搜索技術(shù)。對url進行分析,去重。網(wǎng)絡爬蟲使用多線程技術(shù),讓爬蟲具備更強大的抓取能力。對網(wǎng)絡爬蟲的連接網(wǎng)絡設置連接及讀取時間,避免無限制的等待。為了適應不同需求,使網(wǎng)絡爬蟲可以根據(jù)預先設定的主題實現(xiàn)對特定主題的爬取。研究網(wǎng)絡爬蟲的原理并實現(xiàn)爬蟲的相關(guān)功能。關(guān)鍵詞:網(wǎng)絡爬蟲;面向主題;多線程abstractthe main purpose of this project is to design subject

11、-oriented web crawler process which is also required to meet certain performance, taking into account the diverse needs of web crawlers.web crawler uses the technology. of breadth-first search.web crawler uses multi-threaded technology, so that spiders crawl can have more powerful capabilities.set c

12、onnection time and read time of the web connection of the web crawler , to avoid unlimited waiting.in order to meet different needs, so that crawlers can achieve pre-set theme crawling a specific topic.research the principle web crawler and and realize the related functions.key words:web crawler; su

13、bject-oriented; multi-threading 天津大學2007屆本科生畢業(yè)設計(論文)目錄第一章概述11.1課題背景11.2網(wǎng)絡爬蟲的歷史和分類21.2.1網(wǎng)絡爬蟲的歷史21.2.2網(wǎng)絡爬蟲的分類31.3網(wǎng)絡爬蟲的發(fā)展趨勢4第二章 相關(guān)技術(shù)背景62.1網(wǎng)絡爬蟲的定義62.2網(wǎng)頁搜索策略介紹62.2.1廣度優(yōu)先搜索策略62.2.2最佳優(yōu)先搜索策略72.3判斷相關(guān)度算法7第三章 網(wǎng)絡爬蟲模型的分析和概要設計93.1網(wǎng)絡爬蟲的模型分析93.2網(wǎng)絡爬蟲的搜索策略93.3網(wǎng)絡爬蟲的主題相關(guān)度判斷103.4網(wǎng)絡爬蟲的概要設計12第四章 網(wǎng)絡爬蟲模型的設計和實現(xiàn)154.1網(wǎng)絡爬蟲總體設計1

14、54.2網(wǎng)絡爬蟲具體設計154.2.1爬取網(wǎng)頁154.2.2分析網(wǎng)頁164.2.3判斷相關(guān)度174.2.4保存網(wǎng)頁信息184.2.5數(shù)據(jù)庫設計和存儲184.2.6多線程的實現(xiàn)184.2.7附加功能194.2.8整體流程19第五章測試21第六章總結(jié)和展望24天津大學2007屆本科生畢業(yè)設計(論文)第一章概述1.1課題背景 網(wǎng)絡爬蟲,是一種按照一定的規(guī)則,自動的抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻,自動索引,模擬程序或者蠕蟲。 網(wǎng)絡檢索功能起于互聯(lián)網(wǎng)內(nèi)容爆炸性發(fā)展所帶來的對內(nèi)容檢索的需求。搜索引擎不斷的發(fā)展,人們的需求也在不斷的提高,網(wǎng)絡信息搜索已經(jīng)成為人們每天都要進行的內(nèi)

15、容.如何使搜索引擎能時刻滿足人們的需求。最初的檢索功能通過索引站的方式實現(xiàn),而有了網(wǎng)絡機器人,即網(wǎng)絡爬蟲這個技術(shù)之后,搜索引擎的時代便開始一發(fā)不可收拾了。1.2網(wǎng)絡爬蟲的歷史和分類1.2.1網(wǎng)絡爬蟲的歷史在互聯(lián)網(wǎng)發(fā)展初期,網(wǎng)站相對較少,信息查找比較容易。然而伴隨互聯(lián)網(wǎng)爆炸性的發(fā)展,普通網(wǎng)絡用戶想找到所需的資料簡直如同大海撈針,這時為滿足大眾信息檢索需求的專業(yè)搜索網(wǎng)站便應運而生了?,F(xiàn)代意義上的搜索引擎的祖先,是1990年由蒙特利爾大學學生alan emtage發(fā)明的archie。雖然當時world wide web還未出現(xiàn),但網(wǎng)絡中文件傳輸還是相當頻繁的,而且由于大量的文件散布在各個分散的ftp

16、主機中,查詢起來非常不便,因此alan archie工作原理與現(xiàn)在的搜索引擎已經(jīng)很接近,它依靠腳本程序自動搜索網(wǎng)上的文件,然后對有關(guān)信息進行索引,供使用者以一定的表達式查詢。由于 archie深受用戶歡迎,受其啟發(fā),美國內(nèi)華達system computing services大學于1993年開發(fā)了另一個與之非常相似的搜索工具,不過此時的搜索工具除了索引文件外,已能檢索網(wǎng)頁。當時,“機器人”一詞在編程者中十分流行。電腦“機器人”(computer robot)是指某個能以人類無法達到的速度不間斷地執(zhí)行某項任務的軟件程序。由于專門用于檢索信息的“機器人”程序象蜘蛛一樣在網(wǎng)絡間爬來爬去,因此, 搜索

17、引擎的“機器人”程序就被稱為“蜘蛛”程序。世界上第一個用于監(jiān)測互聯(lián)網(wǎng)發(fā)展規(guī)模的“機器人”程序是matthew gray開發(fā)的world wide web wanderer。剛開始它只用來統(tǒng)計互聯(lián)網(wǎng)上的服務器數(shù)量,后來則發(fā)展為能夠檢索網(wǎng)站域名。與wanderer相對應,martin koster于1993年10月創(chuàng)建了aliweb,它是archie的http版本。aliweb不使用“機器人”程序,而是靠網(wǎng)站主動提交信息來建立 自己的鏈接索引,類似于現(xiàn)在我們熟知的yahoo。隨著互聯(lián)網(wǎng)的迅速發(fā)展,使得檢索所有新出現(xiàn)的網(wǎng)頁變得越來越困難,因此,在matthew gray的wanderer基礎上,一些

18、編程者將傳統(tǒng)的“蜘蛛”程序工作原理作了些改進。其設想是,既然所有網(wǎng)頁都可能有連向其他網(wǎng)站的鏈接,那么從跟蹤 一個網(wǎng)站的鏈接開始,就有可能檢索整個互聯(lián)網(wǎng)。到1993年底,一些基于此原理的搜索引擎開始紛紛涌現(xiàn),其中以jumpstation、the world wide web worm(goto的前身,也就是今天overture),和repository-based software engineering (rbse) spider最負盛名。然而jumpstation和www worm只是以搜索工具在數(shù)據(jù)庫中找到匹配信息的先后次序排列搜索結(jié)果,因此毫無信息關(guān)聯(lián)度可言。而rbse是第一個在搜索結(jié)果

19、排列中引入關(guān)鍵字串匹配程 度概念的引擎 最早現(xiàn)代意義上的搜索引擎出現(xiàn)于1994年7月。當時michael mauldin將john leavitt的蜘蛛程序接入到其索引程序中,創(chuàng)建了大家現(xiàn)在熟知的lycos。同年4月,斯坦福(stanford)大學的兩名博士生,david filo和美籍華人楊致遠(gerry yang)共同創(chuàng)辦了超級目錄索引yahoo,并成功地使搜索引擎的概念深入人心。從此搜索引擎進入了高速發(fā)展時期。目前,互聯(lián)網(wǎng)上有名有姓的搜索引擎已 達數(shù)百家,其檢索的信息量也與從前不可同日而語。比如最近風頭正勁的google,其數(shù)據(jù)庫中存放的網(wǎng)頁已達30億之巨。隨著互聯(lián)網(wǎng)規(guī)模的急劇膨脹,一

20、家搜索引擎光靠自己單打獨斗已無法適應目前的市場狀況,因此現(xiàn)在搜索引擎之間開始出現(xiàn)了分工協(xié)作,并有了專業(yè)的搜索引 擎技術(shù)和搜索數(shù)據(jù)庫服務提供商。象國外的inktomi,它本身并不是直接面向用戶的搜索引擎,但向包括overture(原goto)、 looksmart、msn、hotbot等在內(nèi)的其他搜索引擎提供全文網(wǎng)頁搜索服務。國內(nèi)的百度也屬于這一類(注),搜狐和新浪用的就是它的技術(shù)。因此 從這個意義上說,它們是搜索引擎的搜索引擎。1.2.2網(wǎng)絡爬蟲的分類網(wǎng)絡爬蟲種類繁多,如果按照部署在哪里分,可以分成:1,服務器側(cè):一般是一個多線程程序,同時下載多個目標html,可以用php, java, py

21、thon等做,一般綜合搜索引擎的爬蟲這樣做。但是,如果對方討厭爬蟲,很可能封掉服務器的ip,服務器ip又不容易改,另外耗用的帶寬也是較貴。2,客戶端:很適合部署定題爬蟲,或者叫聚焦爬蟲。做一個與google,百度等競爭的綜合搜索引擎成功的機會微乎其微,而垂直搜訴或者比價服務或者推 薦引擎,機會要多得多,這類爬蟲不是什么頁面都取的,而是只取關(guān)心的頁面,而且只取頁面上關(guān)心的內(nèi)容,例如提取黃頁信息,商品價格信息,還有提取競爭對手 廣告信息的。這類爬蟲可以部署很多,而且可以很有侵略性。可以低成本大量部署,由于客戶端ip地址是動態(tài)的,所以很難被目標網(wǎng)站封鎖。1.3網(wǎng)絡爬蟲的發(fā)展趨勢目前,大多數(shù)的搜索引擎

22、都是基于關(guān)鍵詞的搜索引擎?;陉P(guān)鍵字匹配的搜索技術(shù)有較大的局限性:首先,它不能區(qū)分同形異義。其次,不能聯(lián)想到關(guān)鍵字的同義詞。web商業(yè)化至今,搜索引擎始終保持著網(wǎng)絡上被使用最多的服務項目的地位,然而,隨著網(wǎng)上內(nèi)容的爆炸式增長和內(nèi)容形式花樣的不斷翻新,搜索引擎越來越不能滿足挑剔的網(wǎng)民們的各種信息需求。搜索引擎的發(fā)展面臨著兩大難題:一是如何跟上internet的發(fā)展速度,二是如何為用戶提供更精確的查詢結(jié)果。所以,傳統(tǒng)的引擎不能適應信息 技術(shù)的高速發(fā)展,新一代智能搜索引擎作為一種高效搜索引擎技術(shù)的在當今的網(wǎng)絡信息時代日益引起業(yè)界人士的關(guān)注。搜索引擎己成為一個新的研究、開發(fā)領(lǐng)域。因 為它要用到信息檢索

23、、人工智能、計算機網(wǎng)絡、分布式處理、數(shù)據(jù)庫、數(shù)據(jù)挖掘、數(shù)字圖書館、自然語言處理等多領(lǐng)域的理論和技術(shù),所以具有綜合性和挑戰(zhàn)性。又 由于搜索引擎有大量的用戶,有很好的經(jīng)濟價值,所以引起了世界各國計算機科學界和信息產(chǎn)業(yè)界的高度關(guān)注,目前的研究、開發(fā)十分活躍,并出現(xiàn)了很多值得注意的動向。目前傳統(tǒng)搜索引擎下,百度、谷歌等大廠商壟斷了網(wǎng)絡索引市場,因為它們的存在,日益龐大的互聯(lián)網(wǎng)內(nèi)容才能突破網(wǎng)絡黑暗狀態(tài),變成可知的一個世界。然而,傳統(tǒng)搜索引擎并不能支持定制搜索和信息處理、挖掘,只能以web1.0的形式存在。可以預見將來互聯(lián)網(wǎng)信息抓取、挖掘和再處理,將成為人們越來越多的需求,而滿足這種需求的,就是各種各樣的

24、爬蟲與相關(guān)的信息處理工具?,F(xiàn)在網(wǎng)絡上流 行的信息采集工具、網(wǎng)站聚合工具,都是未來新一代爬蟲的先驅(qū),甚至已經(jīng)具備其特點。但是互聯(lián)網(wǎng)本身,不管1.0還是2.0,還沒有為爬蟲時代的到來做好充分準備?,F(xiàn)在游行的seo,就是強勢搜索引擎條件下對網(wǎng)站結(jié)構(gòu)產(chǎn)生的影響。爬蟲時代到來之后,互聯(lián)網(wǎng)上會出現(xiàn)專門的信息站點,就是提供給爬蟲看的站點。 傳統(tǒng)的網(wǎng)絡爬蟲技術(shù)主要應用于抓取靜態(tài)web 網(wǎng)頁,隨著ajax/web2.0的流行,如何抓取ajax 等動態(tài)頁面成了搜索引擎急需解決的問題,因為ajax顛覆了傳統(tǒng)的純http 請求/響應協(xié)議機制,如果搜索引擎依舊采用“爬”的機制,是無法抓取到ajax 頁面的有效數(shù)據(jù)的。

25、ajax 采用了javascript 驅(qū)動的異步請求/響應機制,以往的爬蟲們?nèi)狈avascript語義上的理解,基本上無法模擬觸發(fā)javascript的異步調(diào)用并解析返回的異步回調(diào)邏輯和內(nèi)容。 另外,在ajax的應用中,javascript 會對dom結(jié)構(gòu)進行大量變動,甚至頁面所有內(nèi)容都通過javascript 直接從服務器端讀取并動態(tài)繪制出來。這對習慣了dom 結(jié)構(gòu)相對不變的靜態(tài)頁面簡直是無法理解的。由此可以看出,以往的爬蟲是基于協(xié)議驅(qū)動的,而對于ajax 這樣的技術(shù),所需要的爬蟲引擎必須是基于事件驅(qū)動的。第二章 相關(guān)技術(shù)背景2.1網(wǎng)絡爬蟲的定義定義1:網(wǎng)絡爬蟲是一個自動提取網(wǎng)頁的程序,它

26、為搜索引擎從web上下載網(wǎng)頁,是搜索引擎的重要組成部分。通用網(wǎng)絡爬蟲從一個或若干初始網(wǎng)頁的url開始,獲得初始網(wǎng)頁上的url列表;在抓取網(wǎng)頁的過程中,不斷從當前頁面上抽取新的url放入待爬行隊列,直到滿足系統(tǒng)的停止條件。定義2:主題網(wǎng)絡爬蟲就是根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,保留主題相關(guān)的鏈接并將其放入待抓取的url隊列中;然后根據(jù)一定的搜索策略從隊列中選擇下一步要抓取的網(wǎng)頁url,并重復上述過程,直到達到系統(tǒng)的某一條件時停止。所有被網(wǎng)絡爬蟲抓取的網(wǎng)頁將會被系統(tǒng)存儲,進行一定的分析、過濾,并建立索引,對于主題網(wǎng)絡爬蟲來說,這一過程所得到的分析結(jié)果還可能對后續(xù)的抓取過程進行反饋和指導

27、。定義3:如果網(wǎng)頁p中包含超鏈接l,則p稱為鏈接l的父網(wǎng)頁。定義4:如果超鏈接l指向網(wǎng)頁t,則網(wǎng)頁t稱為子網(wǎng)頁,又稱為目標網(wǎng)頁。主題網(wǎng)絡爬蟲的基本思路就是按照事先給出的主題,分超鏈接和已經(jīng)下載的網(wǎng)頁內(nèi)容,預測下一個待抓取的url及當前網(wǎng)頁的主題相關(guān)度,保證盡可能多地爬行、下載與主相關(guān)的網(wǎng)頁,盡可能少地下載無關(guān)網(wǎng)頁。2.2網(wǎng)頁搜索策略介紹 網(wǎng)頁的抓取策略可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種。深度優(yōu)先在很多情況下會導致爬蟲的陷入(trapped)問題,目前常見的是廣度優(yōu)先和最佳優(yōu)先方法。 2.2.1廣度優(yōu)先搜索策略 廣度優(yōu)先搜索策略是指在抓取過程中,在完成當前層次的搜索后,才進行下一層次的搜索

28、。該算法的設計和實現(xiàn)相對簡單。在目前為覆蓋盡可能多的網(wǎng)頁,一般使用廣度優(yōu)先搜索方法。也有很多研究將廣度優(yōu)先搜索策略應用于聚焦爬蟲中。其基本思想是認為與初始url在一定鏈接距離內(nèi)的網(wǎng)頁具有主題相關(guān)性的概率很大。另外一種方法是將廣度優(yōu)先搜索與網(wǎng)頁過濾技術(shù)結(jié)合使用,先用廣度優(yōu)先策略抓取網(wǎng)頁,再將其中無關(guān)的網(wǎng)頁過濾掉。這些方法的缺點在于,隨著抓取網(wǎng)頁的增多,大量的無關(guān)網(wǎng)頁將被下載并過濾,算法的效率將變低。 2.2.2最佳優(yōu)先搜索策略最佳優(yōu)先搜索策略按照一定的網(wǎng)頁分析算法,預測候選url與目標網(wǎng)頁的相似度,或與主題的相關(guān)性,并選取評價最好的一個或幾個url進行抓取。它只訪問經(jīng)過網(wǎng)頁分析算法預測為“有用”

29、的網(wǎng)頁。存在的一個問題是,在爬蟲抓取路徑上的很多相關(guān)網(wǎng)頁可能被忽略,因為最佳優(yōu)先策略是一種局部最優(yōu)搜索算法。因此需要將最佳優(yōu)先結(jié)合具體的應用進行改進,以跳出局部最優(yōu)點。將在第4節(jié)中結(jié)合網(wǎng)頁分析算法作具體的討論。研究表明,這樣的閉環(huán)調(diào)整可以將無關(guān)網(wǎng)頁數(shù)量降低30%90%。2.3判斷相關(guān)度算法主題爬蟲的系統(tǒng)組成最初考慮是對頁面的過濾,不像普通爬蟲對所有頁面的鏈接進行處理,先對頁面與受限領(lǐng)域的主題相關(guān)度進行分析,只有當其主題相關(guān)度符合要求時才處理該頁面中的鏈接,因為如果該頁面和本領(lǐng)域比較相關(guān),它所包含的鏈接和領(lǐng)域相關(guān)的幾率也較大,這樣提高了爬行精度,雖然會遺漏少數(shù)頁面,但綜合效果是令人滿意的。因此,

30、主題相關(guān)度的分析是主題爬蟲設計的關(guān)鍵。 (一)主題相關(guān)度計算模型垂直搜索引擎與通用搜索引擎最大的區(qū)別在于垂直搜索引擎是面向某個領(lǐng)域的,因而垂直搜索引擎的網(wǎng)絡蜘蛛只采集與主題相關(guān)的網(wǎng)頁,與主題無關(guān)的網(wǎng)頁將被丟棄,將此類網(wǎng)絡蜘蛛稱為主題蜘蛛6-8。主題蜘蛛將網(wǎng)頁下載到本地后,需要使用基于內(nèi)容的主題判別方法計算該網(wǎng)頁的主題相關(guān)度值,主題相關(guān)度低于某一閾值的網(wǎng)頁被丟棄。主題相關(guān)度的計算方法有布爾模型和向量空間模型兩種模型算法10。1.布爾模型。在主題判別時,布爾模型是很容易實現(xiàn)的。在布爾模型9中,一個文檔通過一個關(guān)鍵詞集合來表示。同時,某個主題也以關(guān)鍵詞集合的形式來表示。在判斷文檔與某主題的相關(guān)度的過

31、程中,相當于是計算兩個關(guān)鍵詞集合的交集。對基于布爾模型的主題判別模型來說,交集中含有的元素越多,則認為與主題的相關(guān)度就越高。2.空間向量模型。向量空間模型11(vector space model)由salton等人于20世紀60年代末提出,是一種簡便、高效的文本表示模型,其理論基礎是代數(shù)學。與布爾模型不同,向量空間模型把用戶的查詢要求和數(shù)據(jù)庫文檔信息表示成由檢索項構(gòu)成的向量空間中的點(向量),而通過計算向量之間的距離來判定文檔和查詢之間的相似程度(例如,用它們之間夾角的余弦作為相似性度量)。然后,根據(jù)相似程度排列查詢結(jié)果。在向量空間模型中,文檔被形式化為n維空間中的向量,把關(guān)鍵詞的個數(shù)n作為

32、空間向量的維數(shù),每個關(guān)鍵詞的權(quán)值 作為每一維分量的大小,則主題用向量表示為:a=(a1,a2,an),i=1,2,n,ai=wi對于頁面進行分析,統(tǒng)計關(guān)鍵詞出現(xiàn)的頻率,并求出頻率之比,以出現(xiàn)的頻率最高的關(guān)鍵詞作為基準,其頻率用xi=1表示,通過頻率比,求出其他關(guān)鍵詞的頻率 ,則該頁面對應向量的每一維分量為xiwi。指定一個閾值r,當cos=r時就可以認為該頁面和主題是比較相關(guān)的,r的取值需要根據(jù)經(jīng)驗和實際要求確定,如果想獲得較多的頁面,可以把r設小一點,要獲得較少的頁面可以把r設的大一點。(二)布爾模型與空間向量模型分析布爾模型的主要缺陷在于每個關(guān)鍵詞的權(quán)重都是一樣的,它不支持設定關(guān)鍵詞的相對

33、重要性,但是其優(yōu)點也較為明顯,它易于實現(xiàn),計算代價較小。向量空間模型最大優(yōu)點在于它在知識表示方法上的巨大優(yōu)勢。在該模型中,文檔的內(nèi)容被形式化為多維空間中的一個點,以向量的形式給出。也正是因為把文檔以向量的形式定義到實數(shù)域中,才使得模式識別和其他領(lǐng)域中各種成熟的算法和計算方法得以采用,極大地提高了自然語言文檔的可計算性和可操作性。通過對空間向量模型和布爾模型的介紹,我們知道現(xiàn)在垂直搜索引擎大多采用空間向量模型計算主題相關(guān)性。這樣極大的提高到主題爬蟲的效率,也極大的提高了垂直搜索引擎的應用效率,給客戶帶來了高效的查詢效果。與在進行頁面的主題相關(guān)度分析后,當其主題相關(guān)度符合要求時將處理該頁面中的所有

34、鏈接,但其中的鏈接指向的頁面也可能有許多偏離了主題,這一點在網(wǎng)頁的標題上就可以看出,現(xiàn)在大多數(shù)網(wǎng)頁的標題已經(jīng)很明顯的給出了文本的主要描述對象,所以傳統(tǒng)的空間模型策略沒有注意到網(wǎng)頁標題這個重要的角色。針對此提出了一種基于網(wǎng)頁標題的空間向量模型主題相關(guān)度計算方法。第三章 網(wǎng)絡爬蟲模型的分析和概要設計3.1網(wǎng)絡爬蟲的模型分析 首先建立url任務列表,即開始要爬取的url。由url任務列表開始,根據(jù)預先設定的深度爬取網(wǎng)頁,同時判斷url是否重復,按照一定算法和排序方式搜索頁面,然后對頁面按照一定算法進行分析,并提取相關(guān)url,最后將所得url返回任務列表。之后將任務列表中url重新開始爬取,從而使網(wǎng)絡

35、爬蟲進行循環(huán)運行。3.2網(wǎng)絡爬蟲的搜索策略 本文的搜索策略為廣度優(yōu)先搜索策略。如下圖3-1所示。圖3-1廣度優(yōu)先搜索策略示意圖 1) 定義一個狀態(tài)結(jié)點采用廣度優(yōu)先搜索算法解答問題時,需要構(gòu)造一個表明狀態(tài)特征和不同狀態(tài)之間關(guān)系的數(shù)據(jù)結(jié)構(gòu),這種數(shù)據(jù)結(jié)構(gòu)稱為結(jié)點。不同的問題需要用不同的數(shù)據(jù)結(jié)構(gòu)描述。2)確定結(jié)點的擴展規(guī)則根據(jù)問題所給定的條件,從一個結(jié)點出發(fā),可以生成一個或多個新的結(jié)點,這個過程通常稱為擴展。結(jié)點之間的關(guān)系一般可以表示成一棵樹,它被稱為解答樹。搜索算法的搜索過程實際上就是根據(jù)初始條件和擴展規(guī)則構(gòu)造一棵解答樹并尋找符合目標狀態(tài)的結(jié)點的過程。廣度優(yōu)先搜索算法中,解答樹上結(jié)點的擴展是沿結(jié)點深

36、度的“斷層”進行,也就是說,結(jié)點的擴展是按它們接近起始結(jié)點的程度依次進行的。首先生成第一層結(jié)點,同時檢查目標結(jié)點是否在所生成的結(jié)點中,如果不在,則將所有的第一層結(jié)點逐一擴展,得到第二層結(jié)點,并檢查第二層結(jié)點是否包含目標結(jié)點,.對長度為n+1的任一結(jié)點進行擴展之前,必須先考慮長度為n的結(jié)點的每種可能的狀態(tài)。因此,對于同一層結(jié)點來說,求解問題的價值是相同的,我們可以按任意順序來擴展它們。這里采用的原則是先生成的結(jié)點先擴展。結(jié)點的擴展規(guī)則也就是如何從現(xiàn)有的結(jié)點生成新結(jié)點。對不同的問題,結(jié)點的擴展規(guī)則也不相同,需要按照問題的要求確定。3)搜索策略為了便于進行搜索,要設置一個表存儲所有的結(jié)點。因為在廣度

37、優(yōu)先搜索算法中,要滿足先生成的結(jié)點先擴展的原則,所以存儲結(jié)點的表一般設計成隊列的數(shù)據(jù)結(jié)構(gòu)。搜索的步驟一般是:(1)從隊列頭取出一個結(jié)點,檢查它按照擴展規(guī)則是否能夠擴展,如果能則產(chǎn)生一個新結(jié)點。(2)檢查新生成的結(jié)點,看它是否已在隊列中存在,如果新結(jié)點已經(jīng)在隊列中出現(xiàn)過,就放棄這個結(jié)點,然后回到第(1)步。否則,如果新結(jié)點未曾在隊列中出現(xiàn)過,則將它加入到隊列尾。(3)檢查新結(jié)點是否目標結(jié)點。如果新結(jié)點是目標結(jié)點,則搜索成功,程序結(jié)束;若新結(jié)點不是目標結(jié)點,則回到第(1)步,再從隊列頭取出結(jié)點進行擴展.。最終可能產(chǎn)生兩種結(jié)果:找到目標結(jié)點,或擴展完所有結(jié)點而沒有找到目標結(jié)點。3.3網(wǎng)絡爬蟲的主題相

38、關(guān)度判斷主題爬蟲的系統(tǒng)組成最初考慮是對頁面的過濾,不像普通爬蟲對所有頁面的鏈接進行處理,先對頁面與受限領(lǐng)域的主題相關(guān)度進行分析,只有當其主題相關(guān)度符合要求時才處理該頁面中的鏈接,因為如果該頁面和本領(lǐng)域比較相關(guān),它所包含的鏈接和領(lǐng)域相關(guān)的幾率也較大,這樣提高了爬行精度,雖然會遺漏少數(shù)頁面,但綜合效果是令人滿意的。因此,主題相關(guān)度的分析是主題爬蟲設計的關(guān)鍵。主題蜘蛛將網(wǎng)頁下載到本地后,需要使用基于內(nèi)容的主題判別方法計算該網(wǎng)頁的主題相關(guān)度值,主題相關(guān)度低于某一閾值的網(wǎng)頁被丟棄。(1) 什么是網(wǎng)頁標題通常瀏覽一個網(wǎng)頁時,通過瀏覽器頂端的藍色顯示條出現(xiàn)的信息就是“網(wǎng)頁標題”。在網(wǎng)頁html代碼中,網(wǎng)頁標

39、題位于標簽之間。網(wǎng)頁標題是對于一個網(wǎng)頁的高度概括,一般來說,網(wǎng)站首頁的標題就是網(wǎng)站的正式名稱,而網(wǎng)站中文章內(nèi)容頁面的標題就是這文章的題目,欄目首頁的標題通常是欄目名稱。當然這種一般原則并不是固定不變的,在實際工作中可能會有一定的變化,但是無論如何變化,總體上仍然會遵照這種規(guī)律12。例如,現(xiàn)在會看到很多網(wǎng)站的首頁標題較長,除了網(wǎng)站名稱之外,還有網(wǎng)站相關(guān)業(yè)務之類的關(guān)鍵詞,這主要是為了在搜索引擎搜索結(jié)果中獲得排名優(yōu)勢而考慮的,也屬于正常的搜索引擎優(yōu)化方法。因為一般的公司名稱(或者品牌名稱)中可能不包含核心業(yè)務的關(guān)鍵詞,在搜索結(jié)果排名中將處于不利地位。(二)網(wǎng)頁標題的重要性以google為例,goog

40、le會對其標題標簽(meta title)中出現(xiàn)的關(guān)鍵字給予較高的權(quán)值。所以應當確保在網(wǎng)站的標題標簽中包含了最重要的關(guān)鍵詞,即應圍繞最重要的關(guān)鍵詞來決定網(wǎng)頁標題的內(nèi)容。不過網(wǎng)頁的標題不可過長,一般最好在35到40個字符之間。在實際操作中,網(wǎng)頁標題不宜過短或過長。太短無法完整的表達網(wǎng)頁信息,太長不僅不利于用戶識別,而且對搜索引擎來說也加大了識別核心關(guān)鍵詞的難度;網(wǎng)頁標題應概括網(wǎng)頁的核心內(nèi)容。搜索引擎在進行搜索的時候,搜索結(jié)果的內(nèi)容一般是網(wǎng)頁標題、網(wǎng)頁摘要信息和鏈接,要引起用戶的關(guān)注,高度總結(jié)了網(wǎng)頁內(nèi)容的標題至關(guān)重要。比如戴爾中國的網(wǎng)站首頁標題為“戴爾中國(dell china)計算機,筆記本電腦

41、,臺式機,打印機,工作站,服務器,存儲器,電子產(chǎn)品及附件等”。戴爾的首頁標題中不但涵蓋了最重要的公司信息,而且還包括公司的主要產(chǎn)品,這就是核心關(guān)鍵詞,當用“筆記本電腦”、“臺式電腦”這些關(guān)鍵詞在谷歌中進行搜索時,戴爾公司的網(wǎng)頁都排在第一屏的前幾條位置。(2) 但是與此同時需要注意的還有網(wǎng)頁正文的重要性,因為網(wǎng)頁的標題和關(guān)鍵字很可能與正文無關(guān),虛假關(guān)鍵詞是通過在meta中設置與網(wǎng)站內(nèi)容無關(guān)的關(guān)鍵詞,如在title中設置熱門關(guān)鍵詞,以達到誤導用戶進入網(wǎng)站的目的。同樣的情況也包括鏈接關(guān)鍵詞與實際內(nèi)容不符的情況。 具體判斷主題相關(guān)度的步驟 1.對標題及正文的特征項的選取是通過分詞后與主題集合匹配,并通

42、過詞頻計算來得到與主題向量維數(shù)相等的標題向量和正文向量。2.通過向量空間模型計算出主題和標題的相關(guān)度b。3.通過空間向量向量模型計算主題與正文的相關(guān)度c。4.主題與整個網(wǎng)頁的相關(guān)度:a=4b+c。5.通過詳細計算,設定相關(guān)度閾值為2,網(wǎng)頁與主題的相關(guān)度a2,則認為該網(wǎng)頁與主題相關(guān)的。3.4網(wǎng)絡爬蟲的概要設計本網(wǎng)絡爬蟲的開發(fā)目的,通過網(wǎng)絡爬蟲技術(shù)一個自動提取網(wǎng)頁的程序,實現(xiàn)搜索引擎從自己想要訪問的網(wǎng)上下載網(wǎng)頁,再根據(jù)已下載的網(wǎng)頁上繼續(xù)訪問其它的網(wǎng)頁,并將其下載直到滿足用戶的需求。根據(jù)現(xiàn)實中不同用戶的實際上的各種需求,本項目簡單實現(xiàn)主題爬蟲,本網(wǎng)絡爬蟲需要達到如下幾個目標:1.設計基于多線程的網(wǎng)絡

43、爬蟲,客戶端向服務器發(fā)送自己設定好請求。如圖3-7所示。url配置文件url配置文件列表臨界區(qū)互聯(lián)網(wǎng)線程1搜索元url如線程2搜索元url如線程n圖3-2 多線程網(wǎng)絡爬蟲概要設計圖模型2.通過 http將web服務器上協(xié)議站點的網(wǎng)頁代碼提取出來。3.根據(jù)一定的正則表達式提取出客戶端所需要的信息。4.廣度優(yōu)先搜索可從網(wǎng)頁中某個鏈接出發(fā),訪問該鏈接網(wǎng)頁上的所有鏈接,訪問完成后,再通過遞歸算法實現(xiàn)下一層的訪問。 本網(wǎng)絡爬蟲最終將設計成一個能夠自動讀寫配置文件并且在后臺自動執(zhí)行的網(wǎng)絡爬蟲程序。網(wǎng)絡爬蟲工作流程圖如圖3-3所示。圖3-3 網(wǎng)絡爬蟲工作流程圖第四章 網(wǎng)絡爬蟲模型的設計和實現(xiàn)4.1網(wǎng)絡爬蟲總

44、體設計根據(jù)本網(wǎng)絡爬蟲的概要設計本網(wǎng)絡爬蟲是一個自動提取網(wǎng)頁的程序,根據(jù)設定的主題判斷是否與主題相關(guān),再根據(jù)已下載的網(wǎng)頁上繼續(xù)訪問其它的網(wǎng)頁,并將其下載直到滿足用戶的需求。 1.設計基于多線程的網(wǎng)絡爬蟲。2.通過 http將待爬取url列表對應的url的網(wǎng)頁代碼提取出來。3.提取出所需要的信息并且通過算法判斷網(wǎng)頁是否和設定的主題相關(guān)。4.廣度優(yōu)先搜索,從網(wǎng)頁中某個鏈接出發(fā),訪問該鏈接網(wǎng)頁上的所有鏈接,訪問完成后,再通過遞歸算法實現(xiàn)下一層的訪問,重復以上步驟。總的來說爬蟲程序根據(jù)輸入獲得url任務列表,即初始url種子,把初始種子保存在臨界區(qū)中,按照廣度搜索運算法搜索抓取網(wǎng)頁并提取url返回到臨屆

45、區(qū)中,通過判斷主題相關(guān)度算法判斷相關(guān)度,取出不相關(guān)網(wǎng)頁,從而使整個爬蟲程序循環(huán)運行下去。4.2網(wǎng)絡爬蟲具體設計4.2.1爬取網(wǎng)頁 主要用到的技術(shù)如下:繼承htmleditorkit類,改寫其中的 htmleditorkit.parser getparser()屬性protect為public,用下列函數(shù)爬取網(wǎng)頁:public class xxxxx extends htmleditorkit public htmleditorkit.parser getparser()return super.getparser(); 步驟如下:1首先建立url連接。urlconnection url_c =

46、 url_test.openconnection();2設置連接超時時間和讀取超時時間。url_c.setconnecttimeout(10000);url_c.setreadtimeout(10000);3. 用輸入流,bufferedreader讀取,并且將網(wǎng)頁內(nèi)容存儲為字符串。4.2.2分析網(wǎng)頁繼承parsercallback獲得網(wǎng)頁內(nèi)容/ 得到標題文本protected string urltitle = new string();/ 得到某一網(wǎng)頁上的所有鏈接protected vector links = new vector();protected vector linkname

47、= new vector();/ 得到網(wǎng)頁上的正文文本protected string paragraphtext = new string();protected string linkandparagraph = new string();protected string encode = new string();public parser(string baseurl) base = baseurl;public string getencode() return encode;/ 獲得該網(wǎng)頁標題public string geturltitle() return urltitle;/

48、 獲得該網(wǎng)頁的所有鏈接public vector getlinks() return links;/ 獲得所有該網(wǎng)頁的鏈接名public vector getlinkname() / 獲得網(wǎng)頁正文public string getparagraphtext() public void handleendtag(html.tag t, int pos) / 處理簡單標簽public void handlesimpletag(html.tag t, mutableattributeset a, int pos) / 處理結(jié)束標簽public void handlestarttag(html.tag

49、 t, mutableattributeset a, int pos) / 處理文本 標簽public void handletext(char data, int pos)之后通過調(diào)用htmleditorkit.parser類,生成對象就可以直接得到分析后的網(wǎng)頁文件。4.2.3判斷相關(guān)度 算法實現(xiàn)步驟和算法描述:1. 對標題及正文的特征項的選取是通過分詞后與主題集合匹配,并通過詞頻計算來得到與主題向量維數(shù)相等的標題向量和正文向量。2.通過向量空間模型計算出主題和標題的相關(guān)度b。3.通過空間向量向量模型計算主題與正文的相關(guān)度c。4.主題與整個網(wǎng)頁的相關(guān)度:a=4b+c。5.通過詳細計算,設定相

50、關(guān)度閾值為2,網(wǎng)頁與主題的相關(guān)度a2,則認為該網(wǎng)頁與主題相關(guān)的。輸入:主題集合文本a.txt,網(wǎng)頁url輸出:主題相關(guān)度(1)get topic(string path)/根據(jù)路徑獲取主題文本集合(2)compulate topicweight(string topic)/求主題結(jié)合權(quán)重(3)sortanddelrepeat(intcount)/刪除重復元素并排序(4)delrepeat(string segment)/刪除分詞后的重復元素(5)delrepeat(vector url)/刪除得到的url中的重復元素(6)getparser(string url)/獲得parser實例(7)s

51、tring titlestr =p.geturltitle()/獲取網(wǎng)頁標題(8)string bodystr=p.getparagraphtext()/獲取網(wǎng)頁文本(9)string titlestrseg=segment.segment(titlestr)/網(wǎng)頁標題分詞(10)string bodystrseg=segment.segment(bodystr)/網(wǎng)頁文本分詞(11)compulate title.length,body.length/計算標題向量長度和網(wǎng)頁文本向量長度(12)set topicweight1,titleweight1,bodyweight1;/設置權(quán)重(13

52、)last compulate relative/計算主題相關(guān)性(14)return relative;/返回結(jié)果 根據(jù)系統(tǒng)設置首先是下載所有網(wǎng)頁,而后判定主題相關(guān)性,與主題相關(guān)則放置在相關(guān)url庫中,不相關(guān)的網(wǎng)頁則丟棄。4.2.4保存網(wǎng)頁信息1.首先建立url連接。urlconnection url_c = url_test.openconnection();2.新建pagepro類。如下:private string host;private int port;private string contenttype;private int contentlength;private stri

53、ng date;private string url;3.將數(shù)據(jù)存入新建的pagepro類中。4.將數(shù)據(jù)保存到預先輸入的地址。4.2.5數(shù)據(jù)庫設計和存儲使用jdbc訪問數(shù)據(jù)庫,儲存下載的網(wǎng)頁url和下載時間信息。4.2.6多線程的實現(xiàn) 設計為4個線程同時進行工作。1. 從用戶輸入的起始url開始,遞歸獲得指定深度的url。2. 對每個url進行分析,判斷相關(guān)度。3. 下載與主題相關(guān)的網(wǎng)頁,并存儲在數(shù)據(jù)庫中。第i個線程對所有url列表中序列為第0+4i url的進行同步操作,其中對儲存所有url的列表執(zhí)行synchronized (all_url)操作。4.2.7附加功能為了檢測網(wǎng)絡環(huán)境,防止因

54、為不良的網(wǎng)絡環(huán)境影響網(wǎng)絡爬蟲的爬取效率和正確略,額外添加了實時的ping功能,調(diào)用windows的命令解釋器的ping功能,測試用戶輸入網(wǎng)址與當前主機的連接狀況,測試當前網(wǎng)絡狀況是否良好。4.2.8整體流程爬蟲代碼文件構(gòu)成如圖4-1:圖4-1代碼結(jié)構(gòu)構(gòu)成截圖 htmlparser.java這個類是改寫htmleditorkit.parser getparser()方法為publichttp.java是根據(jù)輸入url獲取網(wǎng)頁文檔parser.java是繼承parsercallback獲得網(wǎng)頁內(nèi)容relative.java是判斷主題與網(wǎng)頁內(nèi)容的相關(guān)性segment.java是對網(wǎng)頁主題和正文進行分詞download

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論