版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個人或集體,均已在文中作了明確的說明并表示了謝意。作者簽名:日期:指導(dǎo)教師簽名:日期:使用授權(quán)說明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名:日期:
學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期:年月日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名: 日期:年月日導(dǎo)師簽名:日期:年月日
注意事項1.設(shè)計(論文)的內(nèi)容包括:1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關(guān)鍵詞4)外文摘要、關(guān)鍵詞5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻(xiàn)8)致謝9)附錄(對論文支持必要時)2.論文字?jǐn)?shù)要求:理工類設(shè)計(論文)正文字?jǐn)?shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字?jǐn)?shù)不少于1.2萬字。3.附件包括:任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯別字,不準(zhǔn)請他人代寫2)工程設(shè)計類題目的圖紙,要求部分用尺規(guī)繪制,部分用計算機(jī)繪制,所有圖紙應(yīng)符合國家技術(shù)標(biāo)準(zhǔn)規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準(zhǔn)用徒手畫3)畢業(yè)論文須用A4單面打印,論文50頁以上的雙面打印4)圖表應(yīng)繪制于無格子的頁面上5)軟件工程類課題應(yīng)有程序清單,并提供電子文檔5.裝訂順序1)設(shè)計(論文)2)附件:按照任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)次序裝訂
指導(dǎo)教師評閱書指導(dǎo)教師評價:一、撰寫(設(shè)計)過程1、學(xué)生在論文(設(shè)計)過程中的治學(xué)態(tài)度、工作精神□優(yōu)□良□中□及格□不及格2、學(xué)生掌握專業(yè)知識、技能的扎實程度□優(yōu)□良□中□及格□不及格3、學(xué)生綜合運用所學(xué)知識和專業(yè)技能分析和解決問題的能力□優(yōu)□良□中□及格□不及格4、研究方法的科學(xué)性;技術(shù)線路的可行性;設(shè)計方案的合理性□優(yōu)□良□中□及格□不及格5、完成畢業(yè)論文(設(shè)計)期間的出勤情況□優(yōu)□良□中□及格□不及格二、論文(設(shè)計)質(zhì)量1、論文(設(shè)計)的整體結(jié)構(gòu)是否符合撰寫規(guī)范?□優(yōu)□良□中□及格□不及格2、是否完成指定的論文(設(shè)計)任務(wù)(包括裝訂及附件)?□優(yōu)□良□中□及格□不及格三、論文(設(shè)計)水平1、論文(設(shè)計)的理論意義或?qū)鉀Q實際問題的指導(dǎo)意義□優(yōu)□良□中□及格□不及格2、論文的觀念是否有新意?設(shè)計是否有創(chuàng)意?□優(yōu)□良□中□及格□不及格3、論文(設(shè)計說明書)所體現(xiàn)的整體水平□優(yōu)□良□中□及格□不及格建議成績:□優(yōu)□良□中□及格□不及格(在所選等級前的□內(nèi)畫“√”)指導(dǎo)教師:(簽名)單位:(蓋章)年月日
評閱教師評閱書評閱教師評價:一、論文(設(shè)計)質(zhì)量1、論文(設(shè)計)的整體結(jié)構(gòu)是否符合撰寫規(guī)范?□優(yōu)□良□中□及格□不及格2、是否完成指定的論文(設(shè)計)任務(wù)(包括裝訂及附件)?□優(yōu)□良□中□及格□不及格二、論文(設(shè)計)水平1、論文(設(shè)計)的理論意義或?qū)鉀Q實際問題的指導(dǎo)意義□優(yōu)□良□中□及格□不及格2、論文的觀念是否有新意?設(shè)計是否有創(chuàng)意?□優(yōu)□良□中□及格□不及格3、論文(設(shè)計說明書)所體現(xiàn)的整體水平□優(yōu)□良□中□及格□不及格建議成績:□優(yōu)□良□中□及格□不及格(在所選等級前的□內(nèi)畫“√”)評閱教師:(簽名)單位:(蓋章)年月日教研室(或答辯小組)及教學(xué)系意見教研室(或答辯小組)評價:一、答辯過程1、畢業(yè)論文(設(shè)計)的基本要點和見解的敘述情況□優(yōu)□良□中□及格□不及格2、對答辯問題的反應(yīng)、理解、表達(dá)情況□優(yōu)□良□中□及格□不及格3、學(xué)生答辯過程中的精神狀態(tài)□優(yōu)□良□中□及格□不及格二、論文(設(shè)計)質(zhì)量1、論文(設(shè)計)的整體結(jié)構(gòu)是否符合撰寫規(guī)范?□優(yōu)□良□中□及格□不及格2、是否完成指定的論文(設(shè)計)任務(wù)(包括裝訂及附件)?□優(yōu)□良□中□及格□不及格三、論文(設(shè)計)水平1、論文(設(shè)計)的理論意義或?qū)鉀Q實際問題的指導(dǎo)意義□優(yōu)□良□中□及格□不及格2、論文的觀念是否有新意?設(shè)計是否有創(chuàng)意?□優(yōu)□良□中□及格□不及格3、論文(設(shè)計說明書)所體現(xiàn)的整體水平□優(yōu)□良□中□及格□不及格評定成績:□優(yōu)□良□中□及格□不及格教研室主任(或答辯小組組長):(簽名)年月日教學(xué)系意見:系主任:(簽名)年月日緒論1.1.研究的背景如今,國家信息化發(fā)展戰(zhàn)略的重要一環(huán)是推進(jìn)面向“三農(nóng)”的信息服務(wù),利用信息技術(shù)改造和提升農(nóng)業(yè)產(chǎn)業(yè)化發(fā)展。農(nóng)業(yè)和信息化的結(jié)合,已經(jīng)成為農(nóng)業(yè)現(xiàn)代化的發(fā)展趨勢,農(nóng)業(yè)信息服務(wù)體系已經(jīng)成為現(xiàn)代農(nóng)業(yè)服務(wù)體系的重要組成。近年來,國家多個部門、科研院所及廣大的農(nóng)業(yè)科學(xué)研究者、管理者、農(nóng)業(yè)技術(shù)人員都在從事農(nóng)業(yè)信息服務(wù)體系方面的研究,相關(guān)的成果越來越多,從而促進(jìn)了農(nóng)業(yè)信息服務(wù)體系較快的發(fā)展,農(nóng)業(yè)網(wǎng)站越來越多,農(nóng)業(yè)信息化基礎(chǔ)設(shè)施也越來越完善。北京市農(nóng)業(yè)局信息中心通過相關(guān)問卷調(diào)查發(fā)現(xiàn),從現(xiàn)有的農(nóng)業(yè)信息服務(wù)系統(tǒng)的整體效果及實際運行情況來看,無論其內(nèi)容還是合力,相對于農(nóng)業(yè)現(xiàn)代化和信息化的發(fā)展需求都還存在著不小的差距。農(nóng)業(yè)信息服務(wù)還存在兩個核心的問題:信息資源缺乏的問題。多年來的農(nóng)業(yè)信息服務(wù)體系更多注重電腦、網(wǎng)站等看得見的硬件基礎(chǔ)建設(shè),信息資源這個費心費力又看不見的工作做得不足。調(diào)查顯示,農(nóng)業(yè)生產(chǎn)經(jīng)營主體最需要的信息包括:農(nóng)業(yè)政策類信息、實用技術(shù)培訓(xùn)信息、\o"農(nóng)產(chǎn)品000061"農(nóng)產(chǎn)品市場信息、非農(nóng)就業(yè)信息等。信息服務(wù)落地的問題。多年來的農(nóng)業(yè)信息服務(wù)體系更多注重信息高速路的建設(shè),而忽略了農(nóng)業(yè)生產(chǎn)主體能否真正享受到信息服務(wù)。調(diào)研發(fā)現(xiàn),僅有20%的農(nóng)業(yè)生產(chǎn)經(jīng)營主體習(xí)慣從網(wǎng)站上搜取信息,更多的則是通過電話、手機(jī)等。因此,我國急需對互聯(lián)網(wǎng)上的農(nóng)業(yè)信息資源的整合利用進(jìn)行理論研究,并建立一種整合互聯(lián)網(wǎng)上農(nóng)業(yè)資源的信息搜集整理和推廣的系統(tǒng),以促進(jìn)信息共享和利用,并滿足農(nóng)業(yè)工者多樣化的信息需求,使農(nóng)業(yè)信息資源網(wǎng)能夠提供大量經(jīng)過分析后篩選出的、符合農(nóng)業(yè)工作者需求的有效信息資源,為我國農(nóng)業(yè)工作者及從事相關(guān)產(chǎn)業(yè)的人員在網(wǎng)上集中快速地查找農(nóng)業(yè)信息提供高質(zhì)量的服務(wù),為我國農(nóng)業(yè)信息化的發(fā)展提供技術(shù)支持。1.2.國內(nèi)外研究現(xiàn)狀 在農(nóng)業(yè)信息化的發(fā)展進(jìn)程中,每個國家的發(fā)展程度都不竟相同,我們以美國為代表來了解國外農(nóng)業(yè)信息化的發(fā)展程度。美國是世界電子信息產(chǎn)業(yè)大國,信息技術(shù)和高度發(fā)達(dá),因此,它是在市場和社會的農(nóng)業(yè)信息需求作為一個整體的信息技術(shù)同步發(fā)展。美國農(nóng)業(yè)和信息化建設(shè)是分不開的。在農(nóng)業(yè)信息化建設(shè)上,美國采取了政府投入與資本市場運營相結(jié)合的投資模式。為給農(nóng)業(yè)信息化創(chuàng)造良好的發(fā)展環(huán)境、推動其快速發(fā)展,美國政府通過政府輔助、稅收優(yōu)惠和政府擔(dān)保等提供一系列優(yōu)惠政策,圍繞市場建立了強大的政府支撐體系,刺激資本市場的運作。政府是通過構(gòu)建了龐大、完善、規(guī)范的農(nóng)村信息服務(wù)體系,如美國國家農(nóng)業(yè)數(shù)據(jù)庫(AGRICOLA)、國家海洋與大氣管理局?jǐn)?shù)據(jù)庫(NOAA)、地質(zhì)調(diào)查局?jǐn)?shù)據(jù)庫(USGS)等規(guī)?;?、影響大的涉農(nóng)信息數(shù)據(jù)中心(庫),加強農(nóng)業(yè)信息化建設(shè)讓農(nóng)業(yè)和農(nóng)民受益,而不是直接大量的對農(nóng)產(chǎn)品生產(chǎn)進(jìn)行補貼和財政轉(zhuǎn)移支付。對于政府擁有和政府資助的數(shù)據(jù)庫中,“全面公開”共享政策的建設(shè),而且還預(yù)留十億美元的資金每年維護(hù)農(nóng)業(yè)信息的農(nóng)業(yè)信息系統(tǒng)。在農(nóng)業(yè)信息資源管理中,建立了完整的法律管理體系,整個過程涵蓋了信息資源的收集,信息資源發(fā)布,從而保證知識產(chǎn)權(quán)及其他信息的真實性和有效性,保障信息主體權(quán)益管理,同時有效促進(jìn)農(nóng)業(yè)信息資源的共享。在我國已有將近97%的地級市和超過80%的縣級農(nóng)業(yè)部門相繼設(shè)立了信息化管理和服務(wù)機(jī)構(gòu),農(nóng)村信息員的隊伍已超過18萬,可直接向農(nóng)民傳遞信息,從上到下的農(nóng)業(yè)信息化隊伍已經(jīng)初具規(guī)模,從中央到地方的農(nóng)業(yè)信息組織體系也正在形成;建立了以中國農(nóng)業(yè)信息網(wǎng)為核心、包含20多個專業(yè)網(wǎng)站的一體化農(nóng)業(yè)門戶網(wǎng)站,較為著名的有“科技教育信息網(wǎng)”和“種植業(yè)信息網(wǎng)”等;農(nóng)業(yè)部在全國累計布設(shè)了8000多個信息采集點,在農(nóng)業(yè)、畜牧、水產(chǎn)、農(nóng)墾、農(nóng)機(jī)等領(lǐng)域形成了33條信息采集渠道,開發(fā)了農(nóng)村供求信息全國聯(lián)播系統(tǒng);國家電了政務(wù)重點工程“金農(nóng)工程”啟動,以政府農(nóng)業(yè)部為基礎(chǔ)的、由行政管理服務(wù)體系、農(nóng)業(yè)圖書情報服務(wù)體系和民問團(tuán)體組織形成三層服務(wù)體系。劉廣路劉廣路等.叢生竹生長特性及管理技術(shù)研究進(jìn)展[J].竹子研究匯刊.2011(03)1.3.目的和意義1.3.1.研究的目的針對互聯(lián)網(wǎng)農(nóng)業(yè)信息資源的整合與利用過程中存在的問題,運用搜索引擎技術(shù)、數(shù)據(jù)庫技術(shù)、RSS信息推送等技術(shù),設(shè)計出一個信息收集、整理和推廣的模型和體系結(jié)構(gòu)。本論文研究的重點在于利用搜索引擎技術(shù)來實現(xiàn)農(nóng)業(yè)信息的搜索及建立基于農(nóng)業(yè)信息為主題的數(shù)據(jù)庫,為農(nóng)業(yè)信息的自動收集和主題化建設(shè)進(jìn)行一些有益的研究工作。1.3.2.研究意義(1)研究的理論意義本論文試圖通過對農(nóng)業(yè)信息收集和推廣這一主題,構(gòu)建一個基于特定主題的搜索引擎體系結(jié)構(gòu),對于收集到的農(nóng)業(yè)信息數(shù)據(jù),通過RSS進(jìn)行信息推送及利用。為農(nóng)業(yè)工作者獲取互聯(lián)網(wǎng)上農(nóng)業(yè)信息資源和建設(shè)農(nóng)業(yè)信息資源數(shù)據(jù)庫提供理論依據(jù)。(2)研究的現(xiàn)實意義利用搜索引擎對農(nóng)業(yè)信息進(jìn)行自動的搜索可以有效地搜集互聯(lián)網(wǎng)上的農(nóng)業(yè)信息資源,并對這些資源進(jìn)行分析整理后建立農(nóng)業(yè)信息資源數(shù)據(jù)庫,為我國廣大的農(nóng)業(yè)科學(xué)研究者、管理者、農(nóng)業(yè)技術(shù)人員利用農(nóng)業(yè)信息提供便利,加快我國農(nóng)業(yè)信息化建設(shè)的步伐。技術(shù)分析與系統(tǒng)設(shè)計本課題目的是對全球互聯(lián)網(wǎng)上的農(nóng)業(yè)信息資源的搜集、整理與推廣進(jìn)行研究,需要利用現(xiàn)在比較流行的主題搜索引擎技術(shù)及數(shù)據(jù)庫等相關(guān)技術(shù),先對這些技術(shù)進(jìn)行相應(yīng)的研究和說明,最后構(gòu)建一個農(nóng)業(yè)信息主題的主題搜索引擎體系結(jié)構(gòu)。2.1.搜索引擎研究搜索引擎指自動從因特網(wǎng)搜集信息,經(jīng)過一定整理以后,提供給用戶進(jìn)行查詢的系統(tǒng)方偉,黃堅欽,盧敏,等.17種叢生竹竹材的比較解剖研究[J].浙江林學(xué)院學(xué)報,1998,15(3):225-231方偉,黃堅欽,盧敏,等.17種叢生竹竹材的比較解剖研究[J].浙江林學(xué)院學(xué)報,1998,15(3):225-2312.1.1.搜索引擎分類搜索引擎的產(chǎn)品非常多,他們的工作方式也多種多樣,按搜索引擎的工作方式可以把搜索引擎分為三類:全文搜索引擎、目錄搜索引擎和元搜索引擎方偉,黃堅欽,盧敏,等.17種叢生竹竹材的比較解剖研究[J].浙江林學(xué)院學(xué)報,1998,15(3):225-方偉,黃堅欽,盧敏,等.17種叢生竹竹材的比較解剖研究[J].浙江林學(xué)院學(xué)報,1998,15(3):225-231(1)全文搜索引擎全文搜索引擎是真正意義上的搜索引擎,它最主要的部件就是檢索程序,俗稱“網(wǎng)絡(luò)蜘蛛(Spider)”或“機(jī)器人(Robot)”或“網(wǎng)絡(luò)爬蟲(Crawler)”,檢索程序會自動訪問互聯(lián)網(wǎng)上的網(wǎng)站和網(wǎng)頁,提取網(wǎng)頁中的URL、標(biāo)題、摘要等關(guān)鍵信息,把這些信息存儲在索引數(shù)據(jù)庫中。當(dāng)用戶從檢索界面發(fā)出查詢請求時,將在索引數(shù)據(jù)庫中檢索數(shù)據(jù)并按一定的排列順序返回結(jié)果。全文搜索引擎是目前廣泛應(yīng)用的主流搜索引擎,國內(nèi)的全文搜索引擎最具代表性的是百度搜索引擎,還有360搜索、有道等等。國外的全文搜索引擎最具代表性的是Google。還有一種全文搜索引擎也具有自己的檢索程序,但是它沒有建立自己的索引數(shù)據(jù)庫,這種搜索引擎租用其他搜索引擎的數(shù)據(jù)庫,在用戶查詢的時候檢索其他搜索引擎的數(shù)據(jù)庫,將結(jié)果按一定的格式返回給用戶。這種搜索引擎的代表是Lycos搜索引擎。搜索引擎自動訪問互聯(lián)網(wǎng)摘錄網(wǎng)頁信息,它自動訪問網(wǎng)站的方式可以分為兩種:一種是每隔一段固定的時間(比如Google一般是28天),搜索引擎的檢索程序就對一定的IP地址段進(jìn)行訪問,發(fā)現(xiàn)新建的網(wǎng)站就提取網(wǎng)站信息存入索引數(shù)據(jù)庫,如果老網(wǎng)站有更新的內(nèi)容,檢索程序也會提取新的信息覆蓋索引數(shù)據(jù)庫中舊的信息。另一種搜索方式是被動搜索,也即網(wǎng)站所有者向搜索引擎主動提供網(wǎng)址,希望搜索引擎能訪問網(wǎng)站,提取網(wǎng)站信息,并保存到索引數(shù)據(jù)庫,那么在在用戶查找界面就可以通過查詢找到網(wǎng)站地址和信息。當(dāng)網(wǎng)站所有者提供網(wǎng)址之后,一般在兩天到數(shù)月的時間,搜索引擎的檢索程序就會訪問網(wǎng)站,提取網(wǎng)站摘要信息并存入索引數(shù)據(jù)庫。當(dāng)用戶用端瀏覽器打開搜索引擎的查詢界面時,可以用關(guān)鍵詞查找信息,用戶的查詢請求將會被服務(wù)器端程序接收,然后在索引數(shù)據(jù)庫中進(jìn)行查找,如果找到與用戶查詢要求相符合的結(jié)構(gòu),便根據(jù)相應(yīng)的排序規(guī)則將結(jié)果返回客戶端。全文搜索引擎的一個最大特點就是搜全率比較高。(2)目錄搜索引擎目錄搜索引擎雖然被分在搜索引擎的范圍中,但是它不是真正意義上的搜索引擎。目錄搜索引擎應(yīng)該被成為目錄索引更為貼切。目錄索引,就是將網(wǎng)站按照某種分類法歸于相應(yīng)的目錄中,所有的網(wǎng)站都被分門別類的進(jìn)行存放。目錄搜索引擎雖然沒有全文搜索引擎中的網(wǎng)絡(luò)爬蟲(Crawler)程序,但是它和全文搜索引擎相比也有其獨到的地方:第一點不同在于全文搜索引擎是自動搜索網(wǎng)站,不管是根據(jù)IP地址段還是用戶提供的URL地址,全文搜索引擎都有網(wǎng)絡(luò)爬蟲(Crawler)程序?qū)W(wǎng)站進(jìn)行自動索引。而目錄索引沒有網(wǎng)絡(luò)爬蟲(Crawler)程序,登錄網(wǎng)站信息全靠手工操作。登陸網(wǎng)頁信息一般有兩種方式:一種是登陸系統(tǒng)會提供一個提交界面,用戶在此界面輸入網(wǎng)站信息,目錄收錄人員會核實提交的信息,然后根據(jù)評判標(biāo)準(zhǔn)和收錄規(guī)則決定是否接納用戶的網(wǎng)站,并把它歸入哪一個類別。還有一種是目錄收錄人員對網(wǎng)上新發(fā)布的網(wǎng)站進(jìn)行主動的收錄和分類。第二點不同在于全文搜索引擎在訪問網(wǎng)站后,收錄網(wǎng)站信息進(jìn)入索引數(shù)據(jù)庫比較簡單容易,只要沒有違反相關(guān)的規(guī)則(例如含有敏感詞或反社會言論等待),一般都能索引成功,并且會自動進(jìn)行分類索引。而目錄索引時,目錄收錄人員對網(wǎng)站的審核一般都會比較嚴(yán)格,有時候根據(jù)它的要求進(jìn)行多次修改也不一定能索引成功。特別是像Yahoo這樣全球影響的super目錄索引,要成功索引更是相當(dāng)困難。更有甚者,如果目錄收錄人員認(rèn)為用戶提交網(wǎng)站的目錄、網(wǎng)站信息不合適,他可以隨時對其進(jìn)行調(diào)整,當(dāng)然事先是不會和網(wǎng)站所有者商量的。第三點不同在于在全文搜索引擎收錄網(wǎng)站的時候,一般不用考慮網(wǎng)站分類的問題,直接把網(wǎng)站信息存入索引數(shù)據(jù)庫就可以了。而目錄索引中,為網(wǎng)站找到一個合適的分類非常重要,必須將網(wǎng)站分到一個最合適的目錄(Directory)中。第四點不同在于用戶在使用全文搜索引擎查找信息時,一般是通過關(guān)鍵詞(Keywords)進(jìn)行查詢。而目錄索引中進(jìn)行查詢,不光可以通過關(guān)鍵詞,還可以根據(jù)分類目錄(或者導(dǎo)航)進(jìn)行一級一級的查詢,直到找到所需的信息。目前,目錄索引中最具代表性的搜索引擎,國外的有大名鼎鼎的Yahoo,國內(nèi)的有新浪分類目錄搜索等。(3)元搜索引擎元搜索引擎(MetasearchEngine)是一種非常特別的搜索引擎,與全文搜索引擎相比,它沒有網(wǎng)絡(luò)爬蟲(Crawler)程序,甚至沒有搜索部件和搜索功能,但是它卻被稱為“搜索引擎之母(Themotherofsearceengines)”。元搜索引擎相當(dāng)于一個搜索任務(wù)的接收和分配器或者是一個總開關(guān),元搜索引擎整合了多個獨立搜索引擎,并能夠調(diào)用、控制這些獨立搜索引擎,能對搜索效率和資源使用情況進(jìn)行優(yōu)化利用和整合。被整合的獨立搜索引擎通常被稱為“源搜索引擎”(sourceEngine),或“搜索資源”(searcingresources)。元搜索引擎的工作原理參見圖2-1。元搜索引擎可以被理解成一種客戶機(jī)/服務(wù)器結(jié)構(gòu)的系統(tǒng),但不同的是它是一種雙層的客戶機(jī)/服務(wù)器結(jié)構(gòu)。在圖中,客戶端元搜索引擎是一層客戶機(jī)/服務(wù)器結(jié)構(gòu),元搜索引擎其他搜索引擎是第二層客戶機(jī)/服務(wù)器結(jié)構(gòu)。圖2-1元搜索引擎工作原理當(dāng)用戶使用向元搜索引擎,在客戶端瀏覽器上發(fā)送查詢請求,服務(wù)器端的元搜索引擎會把該請求發(fā)送到多個源搜索引擎中,源搜索引擎執(zhí)行用戶的請求,檢索數(shù)據(jù)庫,返回檢索結(jié)果給元搜索引擎,元搜索引擎將多個源搜索引擎返回的結(jié)果進(jìn)行整合(除重,合并),并以一定的排序方式傳送回客戶端瀏覽器。2.1.2工作原理(1)普通搜索引擎的工作原理搜索引擎的基本工作原理包括如下三個過程:1、抓取網(wǎng)頁。每個獨立的搜索引擎都有自己的網(wǎng)頁抓取程序(spider網(wǎng)絡(luò)蜘蛛,或稱Robot網(wǎng)絡(luò)機(jī)器人,或稱Crawler網(wǎng)絡(luò)爬蟲)。網(wǎng)絡(luò)爬蟲首先訪問種子網(wǎng)頁,從中提取URL,然后根據(jù)這個地址繼續(xù)訪問,繼續(xù)提取URL,一直不停的循環(huán)下去。通過這種方式,Internet上的絕大多數(shù)的網(wǎng)頁都能被訪問到。2、網(wǎng)頁分析和處理。對于網(wǎng)絡(luò)爬蟲訪問過的網(wǎng)頁,要對它進(jìn)行大量的分析和處理工作,網(wǎng)頁去重,去除噪聲,提取文本,停用詞去除,特征向量提取和分析,相關(guān)度評價,計算網(wǎng)頁的重要程度,建立索引,存入數(shù)據(jù)庫,然后才能提供檢索服務(wù)。3、檢索服務(wù)。網(wǎng)頁信息存入數(shù)據(jù)庫后,要建立索引文件,提供快速查詢。這樣用戶在檢索界面輸入檢索詞進(jìn)行檢索,搜索引擎能通過索引快速查找數(shù)據(jù)庫中的信息,并顯示在用戶界面。為了方便用戶使用搜索引擎,用戶界面的設(shè)計應(yīng)該簡單、方便使用。網(wǎng)絡(luò)爬蟲(Crawler)是傳統(tǒng)的搜索引擎中的重要組成部分,為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁。網(wǎng)絡(luò)爬蟲從一個或若干個種子網(wǎng)頁開始,從種子網(wǎng)頁中提取URL地址,抓取URL指向的網(wǎng)頁,再從其中提取URL地址,再抓取指向的網(wǎng)頁,不斷的重復(fù)這一過程,直到滿足系統(tǒng)的停止條件為止。并且在訪問網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入URL隊列。網(wǎng)絡(luò)爬蟲的工作流程如圖2-2所示。(2)主題搜索引擎的工作原理主題搜索引擎的核心部分是主題爬蟲(TopicalCrawler)又稱為聚焦爬蟲(FocusedCrawler)方偉,黃堅欽,盧敏,等.17種叢生竹竹材的比較解剖研究[J].浙江林學(xué)院學(xué)報,1998,15(3):225-231,主題爬蟲的工作流程和傳統(tǒng)爬蟲的基本相似,但是要多出一些步驟。在遍歷網(wǎng)絡(luò)方面基本相同,可以采取適合的遍歷策略,在遍歷頁面以后,傳統(tǒng)的爬蟲提取頁面中的URL并放入繼續(xù)遍歷隊列,而主題爬蟲會根據(jù)相應(yīng)的URL算法分析評價URL的重要程度,把重要程度高的URL放入等待抓取的遍歷隊列,主題爬蟲根據(jù)隊列里的URL再進(jìn)行網(wǎng)頁遍歷和抓取,并重復(fù)上述過程,直到滿足爬行方偉,黃堅欽,盧敏,等.17種叢生竹竹材的比較解剖研究[J].浙江林學(xué)院學(xué)報,1998,15(3):225-231對于抓取到的網(wǎng)頁,搜索引擎中有專門的功能模塊來對網(wǎng)頁進(jìn)行處理,對網(wǎng)頁的有效內(nèi)容進(jìn)行提取,對網(wǎng)頁內(nèi)容進(jìn)行分析和特征詞提取,對特征詞向量化,對向量化的特征詞和主題詞進(jìn)行分析比對等等,以確定抓取的網(wǎng)頁是否主題相關(guān),并把相關(guān)的網(wǎng)頁存入索引數(shù)據(jù)庫,供用戶查詢使用。主題爬蟲的工作流程如圖2-3所示:圖2-2搜索引擎工作原理圖2-3主題搜索引擎工作原理我們用表格來列出主題爬蟲與傳統(tǒng)爬蟲的區(qū)別:表2-1主題爬蟲與傳統(tǒng)爬蟲的區(qū)別傳統(tǒng)爬蟲主題爬蟲用戶面向所有用戶面向特定的專業(yè)人群爬蟲策略一般是廣度優(yōu)先爬行策略,遍歷一定IP地址范圍內(nèi)的所有網(wǎng)頁一般采用最佳優(yōu)先爬蟲策略,遍歷的時候與主題對比,保留關(guān)聯(lián)度高的網(wǎng)頁主題范圍面向所有的主題面向特定的主題硬件要求對服務(wù)器和存儲設(shè)備要求較高對服務(wù)器和存儲設(shè)備要求比較低主題爬蟲與傳統(tǒng)爬蟲的爬蟲策略如圖2-4所示,其中,白框代表與主題無關(guān)的頁面,黑框代表主題相關(guān)頁面,虛線代表鏈接,箭頭代表訪問線路。圖2-4傳統(tǒng)爬蟲和主題爬蟲遍歷策略對比在圖2-4(a)中,傳統(tǒng)爬蟲一般是以廣度優(yōu)先策略遍歷網(wǎng)頁,循著網(wǎng)頁中的URL指向訪問每一個網(wǎng)頁。假設(shè)從起始網(wǎng)頁i到目標(biāo)網(wǎng)頁k需要爬行n步,那么在訪問到目標(biāo)網(wǎng)頁前必須先將n-1步內(nèi)的所有網(wǎng)頁爬行完,爬行的步子將會是N步,且N遠(yuǎn)大于n。在圖2-4(b)中,主題爬蟲在訪問網(wǎng)頁之前先會把指向網(wǎng)頁的URL進(jìn)行分析,評價URL的主題相關(guān)性,忽略主題無關(guān)的URL。假設(shè)從起始網(wǎng)頁i到目標(biāo)網(wǎng)頁k需要爬行n步,那么在訪問目標(biāo)網(wǎng)頁前僅爬行n-1步,也就是網(wǎng)頁i與k之間的一個網(wǎng)頁子集。在最理想情況下只要爬行n個鏈接就可以訪問到目標(biāo)網(wǎng)頁,大大節(jié)約了爬行時間,提高了爬行效率。2.2.數(shù)據(jù)庫技術(shù)2.2.1SQLServer2005SQLServer關(guān)系模型最早是由Ashton-Tate及微軟共同設(shè)計開的數(shù)據(jù)庫管理系統(tǒng),早在1970年,相關(guān)領(lǐng)域?qū)<揖鸵呀?jīng)提出了相關(guān)聯(lián)系的關(guān)系模型。IBM是最早開發(fā)、使用SQL語言的公司,據(jù)相關(guān)記載,IBM于1976年年底正式對外公布使用SQL語言。SQL語言在1970年末由Oracle公司作為商品在市場中進(jìn)行銷售。八十年代中期,美國國家標(biāo)準(zhǔn)協(xié)會將SQL定位標(biāo)準(zhǔn)語言,而后各個國家相繼效仿,SQL語言國際化發(fā)展趨勢日益張顯出來。1998年,SOLServer才第一次出現(xiàn)在人們的視線,因為有了Sybase的發(fā)展基礎(chǔ),三大國際公司共同完成SQLServer1.0的設(shè)計制作,實現(xiàn)了SQL語言在OS系統(tǒng)上實際應(yīng)用的最初發(fā)展目標(biāo)?;仡橲QLServer的發(fā)展史,最早Server1.11版本是在1991年提出的;1992年正式出版SQLServer4.2(由微軟與Sybase公司共同設(shè)計);1993年,微軟公司獨立推出WindowsNT3.1,改變了服務(wù)器操作市場長期穩(wěn)定的發(fā)展局面。同時開發(fā)的QLServerforWindowsNT3.1也獲得用戶好評;到6.0與6.5版本陸續(xù)問世后,獲得的市場占有率是有目共睹的;SQLServer7.0于1998年再次發(fā)布,SQLServer7.0已經(jīng)不在滿足普通用戶,開始在企業(yè)級數(shù)據(jù)庫開拓市場;在2000年前后,SQLServer2000正式問世,2005年SQLServer2005正式與世人見面。SQLServer2005與以往的SQLServer數(shù)據(jù)庫版本比較,在以下幾個方面的能力大幅度提高:企業(yè)數(shù)據(jù)管理增強的幾個企業(yè)數(shù)據(jù)管理方面的特征主要有五點:(1)交互操作能力。程序員可以在SQLServer2005中整合或連接數(shù)據(jù)庫和相對獨立應(yīng)用程序,可以最大化的實現(xiàn)系統(tǒng)投資效益。并且在設(shè)備和應(yīng)用以及各種不同平臺之間實現(xiàn)交互操作;(2)比較易于管理。在該系統(tǒng)中,管理員對系統(tǒng)功能的操作可以通過最新的編程模式,包括通過自我控制能力來對數(shù)據(jù)庫的日常運行進(jìn)行有效管理。同時,數(shù)據(jù)庫管理員可以使用其他管理工具或SQL事件探查器來將SQL服務(wù)器調(diào)節(jié)至最佳狀態(tài);(3)安全穩(wěn)定性。為了保證網(wǎng)絡(luò)運營環(huán)境的安全,可以通過加密、設(shè)立安全模型及提高安全防控等措施加大安全管理力度,提高系統(tǒng)運行環(huán)境的穩(wěn)定性;(4)較強的伸縮特征。即使是比較復(fù)雜的程序,如果是運用SQLServer2005語言進(jìn)行開發(fā),由于支持64位等相關(guān)優(yōu)勢,雖然結(jié)構(gòu)復(fù)雜且要求嚴(yán)格,但系統(tǒng)的優(yōu)越性也是比較突出的;(5)可用性。故障時間在改進(jìn)聯(lián)機(jī)操作、故障轉(zhuǎn)移群集以及數(shù)據(jù)庫鏡像等可用特性下降到最低,這將有利于隨時訪問或調(diào)用企業(yè)數(shù)據(jù)系統(tǒng)。開發(fā)人員生產(chǎn)力(1)CLR(CommonLanguageRuntime)集成。公共語言運行庫是Microsoft.NETFramework的核心組成部分,公共語言運行庫為.NETFramework提供了相應(yīng)的代碼執(zhí)行條件。CLR中運行的代表即是通常所指的托管代碼,CLR也會為各種執(zhí)行程序提供相應(yīng)的函數(shù)與服務(wù),如在線管理、處理異常、內(nèi)存清理等功能。(2)XML的集成。自從MicrosoftSQLServer2005問世后,XML數(shù)據(jù)處理方式從中得到眾多發(fā)展優(yōu)勢。所有的XML值都可以輕松的存儲在XML數(shù)據(jù)類型列中,相應(yīng)類型也可以在XML列中進(jìn)行添加。細(xì)粒度的數(shù)據(jù)操作在XMLDML以及XQuery中是被支持的。在SQLServer2005中,可以進(jìn)行存在的XML數(shù)據(jù)種類繁多,例如,在表中分散的XML數(shù)據(jù)與原生的XML數(shù)據(jù)都是可以進(jìn)行存儲的。(3)增強Transact-SQL。Transact-SQL語言的拓展性在近階段內(nèi)得到很大增強。例如,處理錯誤的能力有了明顯提高,且可以進(jìn)行遞歸查詢。(4)SQL代理服務(wù)器。如果把SQLServer代理認(rèn)為是一個比較完善的報警管理系統(tǒng),這樣一個周期內(nèi)必須完成的工作就可以定義為一個主要任務(wù),并可以進(jìn)行自動執(zhí)行。圖2-7即是SQLServer代理屬性對話框反應(yīng)圖。在SQLServer管理平臺上實現(xiàn)SQLServer代理通常經(jīng)過一下幾個過程:通過高級頁選擇進(jìn)入報警系統(tǒng)頁,修改相應(yīng)的報警設(shè)置,連接相應(yīng)的作業(yè)系統(tǒng)頁,最后在歷史頁中可以查到相關(guān)瀏覽信息。商務(wù)智能增大商務(wù)智能化、提高編程工作效率及管理數(shù)據(jù)庫系統(tǒng)是SQLServer2005版本最大的功能優(yōu)勢,是在SQLServer2000基礎(chǔ)上,對原有功能進(jìn)行全面改進(jìn)?,F(xiàn)在應(yīng)用最廣泛的便是SQLServer2005。針對SYBASE與ORACLE而言,SQLServer2005具有的兼容優(yōu)勢更為明顯,且功能比較強大,安裝及實際的操作過程都有了明顯的便攜性改善。第一,分析服務(wù);第二,數(shù)據(jù)傳輸服務(wù);第三,報表服務(wù);第四,數(shù)據(jù)挖掘。通過引進(jìn)新的數(shù)據(jù)挖掘運算法,使得對于數(shù)據(jù)挖掘的使用變得簡單易用。2.2.2.ADO.NETADO.NET是目前微軟最為常用的數(shù)據(jù)庫存取技術(shù),他取代了以前開放數(shù)據(jù)庫連接架構(gòu)ODBC的地位,ADO對象是程序與數(shù)據(jù)庫之間的溝通橋梁。ADO.NET的早起版本ADO產(chǎn)生原因是為了存取數(shù)據(jù)庫,而ADO.NET是目前能夠在高度分布式應(yīng)用環(huán)境下的大規(guī)模數(shù)據(jù)訪問和控制的技術(shù)。ADO.NET技術(shù)是對之前ADO技術(shù)的延生,相比上一版本,ADO.NET具有更加出色的性能、更加方便的可維護(hù)性等。ADO.NET是面向創(chuàng)建式分布式數(shù)據(jù)共享音應(yīng)用程序的編程模型REF_Ref335079142\r\h。,通過對數(shù)據(jù)集概念的引入,使得其處理能力大大加強;同時對XML技術(shù)的整合,使得ADO.NET在數(shù)據(jù)存取上的性能有了較大的提高。如果需要訪問數(shù)據(jù)庫數(shù)據(jù),則可以使用其提供的API即可輕松實現(xiàn)。ADO.NET技術(shù)是可以支持跨平臺間訪問操作的,即使類型不同的數(shù)據(jù)庫或數(shù)據(jù)源,ADO.NET也是可以支持彼此交互作用的。通常,組成ADO.NET的元素共有兩大部分,詳細(xì)情況如圖2-5所示:DataSet.DataSet.NETFramework數(shù)據(jù)提供程序DataAdapterConnectioDataAdapterConnectionDataTableCollection數(shù)據(jù)表事務(wù)SelectCommand事務(wù)SelectCommandDataDataRowCollectionInsertCommandDataColumnInsertCommandDataColumnCollectionConnectionConstrainCollectionUpdateCommand事務(wù)ConstrainCollectionUpdateCommand事務(wù)DataRelationCollectionDeleteCommandDataRelationCollectionDeleteCommandDataReader數(shù)據(jù)庫XML數(shù)據(jù)庫XML圖2-5ADO.NET結(jié)構(gòu)1、DataReader如果在Ado.Net的對象位置只是輸入數(shù)據(jù)流,則數(shù)據(jù)庫檢索需要采用DataReader的形式。如果使用DateReader中的Read方式進(jìn)行請求發(fā)送,查詢結(jié)果會自動存儲在客戶端的緩存位置,并且系統(tǒng)會自動返回相關(guān)操作界面。因為使用這種方法如果數(shù)據(jù)有用,就會馬上檢索此數(shù)據(jù),不會只是等待全部結(jié)果的返回,所以節(jié)約了很多時間,應(yīng)用程序的性能被顯著的提高。除此以外,這種方法在默認(rèn)情況下一次在內(nèi)存中只存儲一行,這樣系統(tǒng)的開銷就會被大大的降低。因為在內(nèi)存中不存在數(shù)據(jù),因此DataReader是一種很好選擇,尤其在對海量數(shù)據(jù)進(jìn)行檢索時。2、DataSet作為Ado.Net的對象,DateSet是一種典型的數(shù)據(jù)駐留表達(dá)樣式。無論DataSet內(nèi)部的數(shù)據(jù)來自哪里,系統(tǒng)都會根據(jù)彼此關(guān)系構(gòu)建相應(yīng)的程序編制模型。所有的DataSet都是不同的數(shù)據(jù)集,表間關(guān)系及數(shù)據(jù)排列在此數(shù)據(jù)集中都可以全面的體現(xiàn)出來。DataSet內(nèi)部也包含DataRelation的重要組成部分,DataRelation可以清楚的表達(dá)各個表單之間存在的主要關(guān)系,及整體數(shù)據(jù)庫設(shè)計包含的所有約束條件。使用DataSet進(jìn)行數(shù)據(jù)源使用訪問時,通常要經(jīng)過以下幾個過程:首先,DataAdapter對象的建立,即使只有一個數(shù)據(jù)需要進(jìn)行查詢,制定SelectCommand也是非常必要的,之后在進(jìn)行DataAdapter內(nèi)容的擴(kuò)充。如果需要進(jìn)行相關(guān)位置的數(shù)據(jù)刪除,則需要在DataAdapter的相應(yīng)位置輸入系統(tǒng)指令就可以完成相應(yīng)操作。2.3.其他技術(shù)2.3.1.ASP.NET技術(shù)ASP即是動態(tài)服務(wù)器主頁的簡稱,是一種比較特殊的編程語言,且JAVA與VB在ASP背景下都是可以正常使用的。市面上擁有的ASP版本種類,ASP.NET就是比較典型的一個。在.NET基礎(chǔ)上對編程環(huán)境進(jìn)行約束,Java及VB都可以在服務(wù)器上成功運行。通常,在ASP.NET環(huán)境下,JAVA及C#都是可以被當(dāng)作編程軟件進(jìn)行程序編寫的。在ASP.NET環(huán)境下進(jìn)行程序設(shè)計,XMLWebServices及Web窗體都是可以正常使用的,甚至采用二者綜合方式進(jìn)行編程都是被允許的。對于應(yīng)用程序而言,同一個結(jié)構(gòu)可以進(jìn)行相關(guān)的緩存配置,包括安全身份認(rèn)證,以滿足不同客戶的實際需求。ASP.NET邏輯結(jié)構(gòu)如圖2-6所示:圖2-6ASP.NET邏輯結(jié)構(gòu)2.3.2.HTML語言HTML(HyperTextMark-upLanguage)是超文本標(biāo)記語言的縮寫,由TimBerners-Lee于1990年提出,用于描述超文本文檔的語言規(guī)范,是目前Web上通用的描述語言。HTML語言通過標(biāo)簽組來標(biāo)記網(wǎng)頁中要顯示的各個部分,其本身是一種文本文件,通過在其中添加特定的標(biāo)簽組,可以告訴瀏覽器如何顯示其中的內(nèi)容(如:文字如何處理,畫面如何安排,圖片如何顯示等)。在HTML文本中包含了所謂的“超級鏈接”點(即URL),通過激活(點擊)它,可使瀏覽器方便地獲取新的網(wǎng)頁。超鏈接還可以把爬蟲程序引導(dǎo)到其他的Web頁面,這也是聚焦爬蟲能不斷訪問網(wǎng)絡(luò)的基礎(chǔ)。這就是HTML獲得廣泛應(yīng)用的最重要的原因之一。HTML頁面通過IE或其他瀏覽器顯示在用戶面前。瀏覽器按順序讀取HTML網(wǎng)頁文件,然后解釋HTML代碼并顯示其標(biāo)記的內(nèi)容,HTML頁面包含的代碼主要有:=1\*GB3①HTML標(biāo)簽組:在HTML文檔中以字符“<”開始,字符“>”結(jié)尾的字符串就是HTML語法標(biāo)記,標(biāo)記符是成對出現(xiàn)的。=2\*GB3②URL:URL地址是超鏈接(Link)的一部分,他們的關(guān)系如下圖所示:圖2-7頁面及鏈接結(jié)構(gòu)示意圖超鏈接包含兩個部分,一部分是Text(錨文本),還有一部分就是URL。要從超鏈接中提取URL,要在上HTML代碼中,尋找標(biāo)簽<href=……>、<src=……>、<background=……>、<code=……>等,提取href=、src=、background=、code=等符號后面的URL地址。=3\*GB3③文本:HTML文檔中的文字部分即是文本。這一部分是需要從HTML文檔中提取的內(nèi)容。2.3.3.RSSRSS(ReallySimpleSyndication,簡易信息聚合)是一種基于XML標(biāo)準(zhǔn),是使用最廣泛的XML應(yīng)用,在互聯(lián)網(wǎng)上被廣泛采用來進(jìn)行內(nèi)容包裝和投遞協(xié)議。RSS搭建了信息迅速傳播的一個技術(shù)平臺,有利于讓用戶快速獲取最新更新的信息。RSS用XML來對網(wǎng)站的內(nèi)容進(jìn)行描述和同步,并且在網(wǎng)站和用戶之間搭建了信息迅速傳播的一個技術(shù)平臺,使得每個人都成為潛在的信息提供者。RSS目前廣泛用于網(wǎng)上新聞頻道及信息推送服務(wù)網(wǎng)站,主要的版本有0.91,1.0,2.0。用RSS訂閱新聞,信息將被XML加工和封裝,按標(biāo)準(zhǔn)格式進(jìn)行傳遞,用戶可以在客戶端借助于支持RSS的聚合工具軟件,在不打開網(wǎng)站內(nèi)容頁面的情況下閱讀支持RSS輸出的網(wǎng)站內(nèi)容。2.4.相關(guān)算法2.4.1.搜索策略網(wǎng)頁的搜索策略可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種。深度優(yōu)先策略由于其設(shè)計上的缺陷,會經(jīng)常性的導(dǎo)致爬蟲的陷入(trapped)問題,現(xiàn)在的搜索引擎已經(jīng)很少使用了。目前常見的是廣度優(yōu)先和最佳優(yōu)先方法。廣度優(yōu)先搜索策略廣度優(yōu)先搜索策略是指在抓取過程中,在完成當(dāng)前層次的搜索后,才進(jìn)行下一層次的搜索。該算法的基本思想如下:(1)給定一個起始網(wǎng)頁,首先訪問起始網(wǎng)頁,讀取網(wǎng)頁里鏈接指向的地址;(2)依次訪問鏈接指向的網(wǎng)頁,然后分別從這些網(wǎng)頁指向的鏈接出發(fā)廣度優(yōu)先遍歷網(wǎng)頁,直到所有的鏈接都被訪問過;(3)若此時網(wǎng)頁中尚有鏈接未被訪問,則另選鏈接中一個未被訪問的地址作為起始點,重復(fù)(1)、(2),直到網(wǎng)絡(luò)中所有網(wǎng)頁都被訪問到為止。如左圖中,按廣度優(yōu)先搜索訪問序列:以1為起點:1->2->4->3->5以2為起點:2->1->3->5->4廣度優(yōu)先策略因為其簡單易實現(xiàn),有很多聚集爬蟲系統(tǒng)應(yīng)用它作為搜索策略,并且將廣度優(yōu)先策略和網(wǎng)頁過濾技術(shù)結(jié)合使用,先用廣度優(yōu)先策略抓取網(wǎng)頁,再將其中無關(guān)的網(wǎng)頁過濾掉。在廣度優(yōu)先搜索中,解答樹上狀態(tài)的擴(kuò)展沿狀態(tài)深度的“斷層”進(jìn)行,也就是說,狀態(tài)的擴(kuò)展是按它們接近起始狀態(tài)的程度依次進(jìn)行的。長度為n+1的任一狀態(tài)進(jìn)行擴(kuò)展之前,必須先考慮長度為n的每種可能的算符序列。因此,對于同一層狀態(tài)來說,求解問題的價值是相同的??梢园慈我忭樞騺頂U(kuò)展它們,這里采用的原則是先生成的狀態(tài)先擴(kuò)展。只要目標(biāo)狀態(tài)在解答樹的有限層上,廣度優(yōu)先搜索第一次擴(kuò)展到該狀態(tài),便保證找到一條通向它的最佳路徑。為了滿足先生成的狀態(tài)先擴(kuò)展的原則,我們采用隊列的數(shù)據(jù)結(jié)構(gòu)存貯狀態(tài)。隊列是一種線性表,對于它所有的插入都在表尾的一端進(jìn)行,所有的刪除都在表首的一端進(jìn)行。如同現(xiàn)實生活中的等車、買票的排隊,新來的成員總是加入隊尾,每次離開的總是隊列頭上的人,即當(dāng)前“最老”的成員。因此,隊列也被稱為“先進(jìn)先出表”(FIFO表)。在廣度優(yōu)先搜索中,我們將擴(kuò)展出的狀態(tài)存貯在一個稱為list的數(shù)組里,數(shù)組容量為listmax。list數(shù)組采用“先進(jìn)先出”的隊列結(jié)構(gòu),設(shè)兩個指針open、closed,分別是隊尾指針和隊首指針。其中l(wèi)ist[1‥cloed-1]存貯已擴(kuò)展?fàn)顟B(tài)(即這些狀態(tài)的兒子狀態(tài)已擴(kuò)展出);list[cloed‥open]存貯待擴(kuò)展?fàn)顟B(tài)(即這些狀態(tài)的兒子狀態(tài)尚待擴(kuò)展)。當(dāng)open=closed時,則表示隊列空;當(dāng)open=listmax時,則表示隊列滿(見上圖)。List數(shù)組的元素為狀態(tài)。最佳優(yōu)先搜索策略最佳優(yōu)先搜索策略按照一定的網(wǎng)頁分析算法,預(yù)測候選URL與目標(biāo)網(wǎng)頁的相似度,或與主題的相關(guān)性,并選取評價最好的一個或幾個URL進(jìn)行抓取。它只訪問經(jīng)過網(wǎng)頁分析算法預(yù)測為“有用”的網(wǎng)頁。存在的一個問題是,在爬蟲抓取路徑上的很多相關(guān)網(wǎng)頁可能被忽略,因為最佳優(yōu)先策略是一種局部最優(yōu)搜索算法。因此需要將最佳優(yōu)先結(jié)合具體的應(yīng)用進(jìn)行改進(jìn),以跳出局部最優(yōu)點[33,34]。最佳優(yōu)先搜索要求給出由一個狀態(tài)前進(jìn)到下一個狀態(tài)所付出的代價。這在一般的問題求解中都是事先確定了的。例如,兩個城市之間的距離就可以看成是求解此兩個城市之間運輸路線問題的代價。
最佳優(yōu)先搜索的核心問題是如何構(gòu)估算路徑成本的評價函數(shù)。這里,介紹一種簡單的評價函數(shù)構(gòu)造方法。
假如n是由起點s到目標(biāo)狀態(tài)t的最佳路徑上的某一個節(jié)點。用f(n)來表示對這條最佳路徑的成本計算。f(n)定義為:其中g(shù)(n)為由起點s到n的各部代價之和,h(n)為由n到終點t的代價估算。在求解過程中當(dāng)搜索到n時,g(n)是已知的——它是由s到n的的各步代價的總和。然而如何確定h(n),卻不是件容易的事,因為由n到g是一個未知的世界。這里,無法給出一個通用的求解方法。它只能根據(jù)所求解問題的性質(zhì),或是人們所積累的經(jīng)驗來決定。因此,只能針對特定的問題加以解決。為了不影響進(jìn)一步的討論,不妨假設(shè)已知這個函數(shù)。
對寬度有先搜索進(jìn)行如下的改進(jìn)就成了最佳優(yōu)先搜索。
全部的搜索過程由一組互相競爭的子過程構(gòu)成,每一個子過程負(fù)責(zé)一種搜索選擇,既負(fù)責(zé)搜索屬于自身的那棵子樹。而且這些子過程又由它自己的子過程構(gòu)成,如此等等。在所有這些子過程中,只有到目前為止具有最低值的那個子過程是活動的。其他子過程則處于一種等待狀態(tài)。當(dāng)搜索過程沿著唯一活動的子過程繼續(xù)時,就會增大活動子過程的值,從而可能使其他子過程成為到目前為止具有最低值的子過程。這使這個新的具有最低值的子過程成為活動的,于是搜索又由這一新的活動子過程向下繼續(xù)進(jìn)行。不妨對上述搜索過程作如下想象:一群互相競爭的搜索子過程按照他們的值由小到大排隊。其中,位于隊首的子過程由于具有最低的值而獲得向下搜索的權(quán)利。這個活動的子過程實時地受到其他的競爭對手的威脅,在向下搜索的過程中除非搜索到了目標(biāo)狀態(tài),否則它每前進(jìn)一步都要報告它所獲得的新的值。一旦這個新的值超過了它的下一個競爭對手,則他必須把向下搜索的權(quán)利讓給這個競爭對手,而自己則根據(jù)新的值回到隊列中恰當(dāng)?shù)奈恢蒙系却乱淮螜C(jī)會。不難看出,競爭對手的f值是對活動的搜索子過程的一種限制,他時刻提醒活動過程在向下搜索時不得超過由競爭對手時確定的界限。
根據(jù)上面的敘述不難看出,深度搜索和廣度搜索都是這種搜索方式的特例。對于深度搜索,深度樂深優(yōu)先權(quán)越大,而對于廣度搜索,深度越深,優(yōu)先權(quán)越小。2.4.2.網(wǎng)頁分析算法在聚集爬蟲抓取的網(wǎng)頁中包含文本和許多URL信息,如何判斷網(wǎng)頁文本和主題有沒有關(guān)系,網(wǎng)頁中包含的URL鏈接的價值高不高,都需要通過網(wǎng)頁分析算法來分析評價。目前Web分析算法主要分為:基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、基于頁面內(nèi)容和基于用戶訪問行為三種網(wǎng)頁分析算法。網(wǎng)絡(luò)拓?fù)浞治鏊惴ㄊ侵竿ㄟ^對Web頁面之間的相互鏈接關(guān)系的分析來確定網(wǎng)頁重要性和相關(guān)度的方法。目前最常見的網(wǎng)頁分析算法是PageRank和HITS算法,兩者都是通過對網(wǎng)頁間鏈接度的遞歸和規(guī)范化計算,得到每個網(wǎng)頁的重要度評價。PageRankPageRank算法是Google創(chuàng)始人LarryPage首先提出來的,并于2001年9月被被美國專利局授予算法專利,PageRank算法被Google運用于網(wǎng)頁排名運算,是用來標(biāo)識網(wǎng)頁的等級和重要性的一種重要算法。其基本思想是通過計算一個頁面PageRank(PR)權(quán)值來評價其等級和重要性,即根據(jù)頁面的外部鏈接和內(nèi)部鏈接的數(shù)量和質(zhì)量來衡量頁面的價值,通常是被鏈接的越多,就意味著其價值越高。PR權(quán)值的級別從1到10級,10級為滿分。PR權(quán)值采用如下迭代公式計算:其中,和分別表示第i個和第j個網(wǎng)頁的PageRank權(quán)值,取布爾值0、1,表示從網(wǎng)頁i到j(luò)是否存在超鏈接,表示網(wǎng)頁i中指向其他網(wǎng)頁的鏈接數(shù)量。表2-2PR數(shù)值的含義PR值含義0~2表示目前沒有太多外部鏈接連到此網(wǎng)站;但不意味此網(wǎng)站在Google上排名就一定很低。假如此網(wǎng)頁討論的主題夠?qū)I(yè),范圍夠狹窄,很有可能網(wǎng)友在Google上面搜尋時,此網(wǎng)頁可以排名在很前面3一般經(jīng)營兩年以上的網(wǎng)站大多能達(dá)到這個成績;這是很不錯的成績,但是在熱門搜尋領(lǐng)域里的排名不會很理想4能達(dá)到這個數(shù)字,證明鏈接到此的網(wǎng)站外部連接“質(zhì)”、“量”俱佳。不僅鏈接到此網(wǎng)站的網(wǎng)站數(shù)多,而且鏈接到此網(wǎng)站本身的PageRank也相當(dāng)高5表示有不少“權(quán)威性”的重量級網(wǎng)站鏈接到此網(wǎng)站;通常Google內(nèi)部會自定義一些它們認(rèn)為特別重要的網(wǎng)站,如果某一網(wǎng)站能取得這些網(wǎng)站的鏈接,Rank分?jǐn)?shù)就會上升得很快,相應(yīng)的排名得到提升6能突破5到6的網(wǎng)站非常少,如果此網(wǎng)站達(dá)到5或6,說明此網(wǎng)站有很不錯的知名度的大站,而且此網(wǎng)站的反向鏈接夠多也夠重量7~10能夠達(dá)到這個級別的網(wǎng)站相對于整個網(wǎng)絡(luò)來說極少PR值是谷歌推出對網(wǎng)頁的一個判斷標(biāo)準(zhǔn),PR值越高說明網(wǎng)站對谷歌排名越好,但是PR值對其他的搜索引擎就不適合,比如對百度來說是無用的。HITS算法HITS(Hyperlink-InducedTopicSearch)是由Kleinberg在90年代末提出的基于鏈接分析的網(wǎng)頁排名算法。描述兩種類型的網(wǎng)頁:“權(quán)威型(Authority)網(wǎng)頁”:對于一個特定的檢索,該網(wǎng)頁提供最好的相關(guān)信息。“目錄型(Hub)網(wǎng)頁”:該網(wǎng)頁提供很多指向其它高質(zhì)量權(quán)威型網(wǎng)頁的超鏈接。由此,可以在每個網(wǎng)頁上定義“目錄型權(quán)值”和“權(quán)威型權(quán)值”兩個參數(shù)。具體算法如下:在檢索系統(tǒng)中對查詢請求q(查詢關(guān)鍵字)進(jìn)行檢索,在返回的結(jié)果中,取前n個網(wǎng)頁作為一個集合S,S必須滿足以下的條件:=1\*GB3①S中的網(wǎng)頁數(shù)量較少;=2\*GB3②S中的網(wǎng)頁是與查詢q相關(guān)的網(wǎng)頁;=3\*GB3③S中的網(wǎng)頁包含較多的權(quán)威(Authority)網(wǎng)頁。在網(wǎng)頁集合S中,統(tǒng)計所有的被S引用的網(wǎng)頁和引用S的網(wǎng)頁,把這些網(wǎng)頁都加入到S集合中,擴(kuò)展成一個更大的網(wǎng)頁集合T。在T集合中,計算目錄型(Hub)網(wǎng)頁的數(shù)量,以目錄型網(wǎng)頁構(gòu)造一個新的集合V1;再計算權(quán)威型(Authority)網(wǎng)頁的數(shù)量,以權(quán)威型網(wǎng)頁構(gòu)造另一個新的集合V2。集合V1中的網(wǎng)頁到V2中的網(wǎng)頁的超鏈接為邊集E,形成一個二分有向圖。對V1中的任一個頂點v,用h(v)表示網(wǎng)頁v的Hub值,且h(v)收斂;對V2中的頂點u,用a(u)表示網(wǎng)頁的Authority值。開始時,對u執(zhí)行I操作,修改它的a(u),對v執(zhí)行O操作,修改它的h(v),然后規(guī)范化,如此不斷的重復(fù)計算下面的I操作和O操作,直到a(u)。其中I操作:;O操作:。每次迭代對a(u)、h(v)進(jìn)行規(guī)范化處理:;。HITS算法可以獲得比較好的查全率,輸出一組具有較大Hub值的網(wǎng)頁和具有較大權(quán)威值的網(wǎng)頁。2.5系統(tǒng)結(jié)構(gòu)設(shè)計主題搜索系統(tǒng)的體系結(jié)構(gòu)可以分為三層:主題搜索引擎層、數(shù)據(jù)層和用戶檢索層:搜索層:包括主題爬蟲、URL隊列、HTML分析、URL提取、特征詞提取等組件。實現(xiàn)的功能是遍歷網(wǎng)頁,從網(wǎng)頁中過濾噪音,提取URL和文本,對URL和文本進(jìn)行分析和處理,判斷URL的重要程度,對文本進(jìn)行特征提取和構(gòu)建特征詞向量,并對特征向量進(jìn)行相關(guān)度分析。相關(guān)度高的網(wǎng)頁建立索引,并把網(wǎng)頁信息(網(wǎng)址、標(biāo)題、摘要等)存入網(wǎng)頁數(shù)據(jù)庫中。數(shù)據(jù)庫:包括索引數(shù)據(jù)庫、主題特征詞庫、網(wǎng)頁數(shù)據(jù)庫和數(shù)據(jù)鏈路層。主題特征詞庫里存放農(nóng)業(yè)方面的專有名詞,用來進(jìn)行抓取網(wǎng)頁的相關(guān)度評價。索引數(shù)據(jù)庫中用來存放索引,用索引來對網(wǎng)頁數(shù)據(jù)庫進(jìn)行快速查找。數(shù)據(jù)鏈路層是數(shù)據(jù)庫和搜索引擎、數(shù)據(jù)庫和Web服務(wù)器之間的數(shù)據(jù)聯(lián)系通道。用戶層:包括檢索服務(wù)器端、檢索界面(包括PC機(jī),手機(jī)、移動電子設(shè)備等)。使用者在檢索界面輸入檢索詞,檢索服務(wù)器接受請求,把請求發(fā)送到數(shù)據(jù)庫中檢索,并把檢索結(jié)果在檢索界面顯示。圖2-8系統(tǒng)結(jié)構(gòu)2.6.特征詞庫農(nóng)業(yè)主題特征詞庫非常重要,搜索引擎抓取到的網(wǎng)頁要和主題詞庫里的特征詞進(jìn)行比較,判斷網(wǎng)頁是否是農(nóng)業(yè)信息類的網(wǎng)站。因為農(nóng)業(yè)信息的分類方法很多,不同的分類方法可以構(gòu)造不同的特征詞庫,在這里,按兩種分類方法來設(shè)計特征詞庫。(1)按農(nóng)業(yè)學(xué)科分類按照中國圖書館分類法中的農(nóng)業(yè)部分分類規(guī)則,并結(jié)合農(nóng)業(yè)信息的特殊屬性,設(shè)計如下的分類方法:表2-3農(nóng)業(yè)信息的學(xué)科分類大類分支1.農(nóng)業(yè)基礎(chǔ)科學(xué)01農(nóng)業(yè)化學(xué)02土壤與肥料科學(xué)03農(nóng)業(yè)生物學(xué)04農(nóng)業(yè)生態(tài)學(xué)05其他2.農(nóng)學(xué)O1無土栽培02作物生物技術(shù)03有機(jī)農(nóng)業(yè)04其他3.農(nóng)作物Ol糧食作物02經(jīng)濟(jì)作物03飼料04其他4.植物保護(hù)Ol作物病害與保護(hù)02農(nóng)藥信息03生物防治04其他防治05其他5.園藝Ol苗圃02園藝設(shè)施03蔬菜園藝04瓜果園藝05花卉園藝06景觀與盆景07其他6.畜牧Ol動物科學(xué)02動物醫(yī)學(xué)03其他7.林業(yè)Ol林木育種02森林經(jīng)營與管理……(2)按農(nóng)業(yè)屬性分類信息的屬性是指信息內(nèi)容的基本特征。我們把農(nóng)業(yè)信息分為農(nóng)業(yè)資源類型屬性信息、農(nóng)業(yè)機(jī)構(gòu)屬性信息、農(nóng)業(yè)區(qū)域?qū)傩孕畔?類,類目下可以細(xì)分子類目。各類息的具體特征如下:表2-4農(nóng)業(yè)信息的屬性分類大類分支1.農(nóng)業(yè)資源類型01農(nóng)業(yè)政策管理信息02農(nóng)業(yè)市場信息03農(nóng)業(yè)科技信息04農(nóng)業(yè)數(shù)據(jù)庫05其他2.機(jī)構(gòu)01政府02科研單位03院校04企業(yè)05媒體06社會團(tuán)體07其它3.區(qū)域信息01中國02美國03加拿大04英國05澳大利亞06日本07其它……按照以上兩種分類方法,可以構(gòu)造每個類別的特征詞庫。搜索引擎在這一章節(jié)中,主要基于農(nóng)業(yè)信息搜索這個主題,來構(gòu)建主題搜索引擎的體系結(jié)構(gòu)。3.1.體系結(jié)構(gòu)主題搜索引擎的體系結(jié)構(gòu)如圖3-1所示,搜索引擎的核心組件Crawler首先訪問用戶給定的起始URL,把網(wǎng)頁的有效信息從代碼中分離出來,然后分析提取其中的URL地址放入待訪問URL隊列。另一個組件URL任務(wù)分配器負(fù)責(zé)判斷Crawler的狀態(tài),如果Crawler是工作狀態(tài)那么URL任務(wù)分配器進(jìn)入等待狀態(tài),如果Crawler沒有下載線程那么URL任務(wù)分配器提取URL隊列里的地址并傳送給Crawler。Crawler接收URL后訪問網(wǎng)頁,并將遍歷的網(wǎng)頁存放到Web數(shù)據(jù)庫。HTML解析器讀取數(shù)據(jù)庫中網(wǎng)頁的信息,對其進(jìn)行分析和處理,去除噪聲,舍棄HTML代碼,提取其中的有用信息,如URL、標(biāo)題、摘要、文本等信息。網(wǎng)頁中的URL被提取出來進(jìn)行判斷,是否已經(jīng)訪問過,如是將被丟棄,如不是將計算URL的重要程度,按優(yōu)先級別放入URL隊列里等待訪問。文本分析器對提取的文本信息進(jìn)行分析處理,去除停用詞,提取特征詞,用數(shù)學(xué)模型對特征詞建立向量模型,并和特征詞庫進(jìn)行主題相關(guān)度評價,將相關(guān)度高的網(wǎng)頁存入數(shù)據(jù)庫,并建立索引,提供快速檢索沈熙環(huán).林木育種學(xué)[M].中國林業(yè)出版社,1990,10(2):16-19。沈熙環(huán).林木育種學(xué)[M].中國林業(yè)出版社,1990,10(2):16-19圖3-1主題搜索引擎體系結(jié)構(gòu)。3.2.Crawler功能分析Crawler是主題搜索引擎中最核心的組件,它是搜索引擎中負(fù)責(zé)遍歷和抓取網(wǎng)頁的組件。Crawler由幾個重要的組成部分:HTTP/HTTPS下載模塊、DNS解析器、Robot解析器等部分。其中,DNS解析器的功能是將URL地址轉(zhuǎn)換成IP地址,Robot解析器的功能是檢查被訪問的主機(jī)或網(wǎng)站是不是允許網(wǎng)絡(luò)爬蟲的訪問,HTTP/HTTPS下載模塊的功能是從URL任務(wù)分配器接收URL地址,通過DNS解析器轉(zhuǎn)化為IP地址,訪問IP地址,從Robot解析器中判斷網(wǎng)頁是否能夠被訪問和下載,如果能下載則將網(wǎng)頁信息保存到Web數(shù)據(jù)庫中等待處理。Crawler的系統(tǒng)結(jié)構(gòu)如圖3-2所示。圖3-2Crawler模塊的系統(tǒng)結(jié)構(gòu)3.2.1.HTTP/HTTPS下載模塊HTTP/HTTPS下載模塊是多線程模塊,可以多個線程同時下載,這樣的設(shè)計便于并行處理和控制,目的是為了提高爬蟲抓取的效率。下載線程的工作流程圖如圖3-3所示。圖3-3HTTP/HTTPS下載線程的工作流程URL任務(wù)分配器將要訪問的URL地址發(fā)送給多線程隊列,HTTP/HTTPS下載線程讀取其中的一個URL地址,HTTP/HTTPS下載控制模塊要對這個URL進(jìn)行判斷,是否此URL已經(jīng)被訪問過,如果是,則此次任務(wù)終止,HTTP/HTTPS下載線程繼續(xù)等待URL,如果沒有訪問過,那么再檢查該站點是否已經(jīng)訪問過,如果訪問過,直接進(jìn)行web頁面的內(nèi)容抓取,如果沒有訪問過,則調(diào)用DNS解析器對URL地址進(jìn)行解析,轉(zhuǎn)化為IP地址后進(jìn)行訪問。3.2.2.下載模塊控制器當(dāng)主題爬蟲要采集Web頁面的時候,首先要發(fā)送訪問資源請求,然后Web服務(wù)器接收請求并作出應(yīng)答,最后信息由網(wǎng)絡(luò)傳送至客戶端。因為服務(wù)器和客戶端所有的通信和數(shù)據(jù)傳輸都需要通過Internet,如果主題爬蟲太過頻繁的遍歷網(wǎng)絡(luò),會大幅度地增加網(wǎng)絡(luò)和網(wǎng)站服務(wù)器的負(fù)載,甚至?xí)斐烧军c服務(wù)器的死機(jī)和網(wǎng)絡(luò)傳輸?shù)亩氯?。所以為了保網(wǎng)絡(luò)通暢及網(wǎng)站服務(wù)器正常的工作,并使爬蟲能夠保持正常、有效地運行,應(yīng)該對爬蟲的訪問和抓取行為進(jìn)行適當(dāng)?shù)目刂婆c管理。下載模塊控制器的基本功能有:1.對網(wǎng)絡(luò)爬蟲進(jìn)行標(biāo)識。當(dāng)主題爬蟲在需要訪問Web頁面的時候,應(yīng)該在HTTP協(xié)議中對請求類型寫下自身的標(biāo)識。這樣便于網(wǎng)站管理員能夠了解網(wǎng)站的訪問來源,在爬蟲過多、過頻繁訪問網(wǎng)站,影響網(wǎng)站正常運行的時候進(jìn)行網(wǎng)站維護(hù)和管理,或者是通知爬蟲的所有者對爬蟲進(jìn)行適當(dāng)?shù)恼{(diào)整。2.合理利用網(wǎng)絡(luò)資源。如果一臺Web服務(wù)器接收的訪問請求太多,會造成服務(wù)器的負(fù)擔(dān)過重,響應(yīng)時間延長,甚至?xí)沟梅?wù)器崩潰。因此必須控制主題爬蟲對Web服務(wù)器發(fā)送訪問請求的時間間隔,降低爬蟲對網(wǎng)絡(luò)和被訪問站點的影響,保證網(wǎng)絡(luò)服務(wù)正常運行。3.控制爬蟲工作狀態(tài)。當(dāng)主題爬蟲訪問Web頁面遇到異常情況,比如廢棄很久的頁面,或者由一些數(shù)據(jù)庫動態(tài)生成的Web頁面而長時間得不到響應(yīng)的時候,下載控制模塊應(yīng)該能及時終止爬蟲對這些目標(biāo)頁面的訪問,同時對這些URL作出標(biāo)識,避免其他的線程對這樣的Web頁面再次訪問,從而提高訪問效率。3.2.3.Crawler任務(wù)分配器因為Crawler在抓取網(wǎng)頁的時候是多線程抓取,Crawler任務(wù)分配器就負(fù)責(zé)管理和分配URL到具體的抓取線程,接收線程的任務(wù)請求,判斷線程狀態(tài),并作出響應(yīng)。具體功能如下:1.判斷HTTP/HTTPS下載線程的狀態(tài),如果有下載線程為空,就從URL隊列里取出若干個若干隊首URL分配給空線程;2.接收HTTP/HTTPS下載線程的任務(wù)請求;3.響應(yīng)任務(wù)請求。當(dāng)任務(wù)分配器接收到HTTP/HTTPS下載線程的URL申請后,就從URL隊列里取出若干個若干隊首URL傳送給下載線程。URL任務(wù)管理器在每次分配URL給HTTP/HTTPS下載線程的時候都是一次取出多個URL進(jìn)行分配,這樣可以延長HTTP/HTTPS下載線程的工作周期,減小多個下載線程同時向URL任務(wù)管理器發(fā)送請求的幾率,盡量降低URL任務(wù)管理器響應(yīng)請求的負(fù)擔(dān)。3.2.4.DNS解析器DNS(DomainNameSystem)是域名系統(tǒng)的縮寫(另有一種說法是DomainNameServer,域名解析服務(wù)器),DNS域名系統(tǒng)是Internet上的一項核心服務(wù),它作為一個分布式數(shù)據(jù)庫,可以將域名和IP地址相互映射轉(zhuǎn)換,能夠使我們更方便的訪問Internet,在訪問網(wǎng)站服務(wù)器的時候只需要輸入方便好記的域名,而不用去記住服務(wù)器的物理IP地址。DNS域名解析器負(fù)責(zé)把URL轉(zhuǎn)換成IP地址,提供給HTTP/HTTPS下載模塊訪問。例如中國農(nóng)業(yè)部的官網(wǎng):/其中:http是網(wǎng)絡(luò)協(xié)議;是主機(jī)域名;DNS域名解析器首先連接DNS服務(wù)器,在域名系統(tǒng)中查找對應(yīng)的IP地址17,并把IP地址提供給HTTP/HTTPS下載模塊進(jìn)行訪問和下載。很多操作系統(tǒng)如Windows、Linux等都提供DNS緩存服務(wù),會把常用的域名--IP地址對應(yīng)值保存起來,當(dāng)網(wǎng)絡(luò)爬蟲要再此訪問URL地址時,DNS域名解析器直接從本地系統(tǒng)的DNS緩存里找到對應(yīng)的IP地址,提供給HTTP/HTTPS下載模塊,從而節(jié)省轉(zhuǎn)換時間,提高網(wǎng)絡(luò)爬蟲的工作效率。3.2.5.拒絕蜘蛛?yún)f(xié)議拒絕蜘蛛?yún)f(xié)議(RobotExclusionStandard,又可被寫為RobotsExclusionProtocol或robots.txtProtocol)于1994年被提出,當(dāng)時Internet還處于發(fā)展階段,網(wǎng)絡(luò)爬蟲程序也還處于起步階段,為了對爬蟲程序的訪問行為進(jìn)行規(guī)范,一些Internet用戶提出了一個對其進(jìn)行約束的協(xié)議,這就是RobotExclusionStandard,它是一項非官方的公約,用以防止網(wǎng)絡(luò)蜘蛛或網(wǎng)絡(luò)機(jī)器人以公開的方式訪問全部或部分網(wǎng)站。拒絕蜘蛛?yún)f(xié)議robots.txt其實是一個純文本文件,在文件中可以用代碼來表明網(wǎng)站中哪些部門可以允許Crawler訪問,哪些部門不允許Crawler訪問。而且robots.txt放在網(wǎng)站根目錄下,當(dāng)Crawler訪問一個網(wǎng)站時(例如:http://www.MyS),Crawler中的組件Roboot.txt解析器會首先查找網(wǎng)站中是否存在robots.txt文件(查找文件地址為:http://www.MyS/robots.txt),如果沒有Crawler會遍歷整個網(wǎng)站,如果有robots.txt文件則根據(jù)允許的范圍訪問網(wǎng)站。我們舉例來說明robots.txt協(xié)議的使用方法,在表3-1中是一個最簡單的robots.txt協(xié)議代碼:表3-1robots.txt協(xié)議代碼User-agent:*Disallow:/cgi-bin/Disallow:/bbs/Disallow:/private/其中:User-agent:*用來指出網(wǎng)絡(luò)機(jī)器人或其他爬蟲的名稱?!?’表示所有的網(wǎng)絡(luò)機(jī)器人或爬蟲,這條代碼說明拒絕蜘蛛?yún)f(xié)議對任何網(wǎng)絡(luò)機(jī)器人或爬蟲均有效。在robots.txt文件中,至少要有一條‘User-agent’記錄且‘User-agent:*
’這樣的記錄只能有一條。如果協(xié)議要對具體名稱的網(wǎng)絡(luò)機(jī)器人或爬蟲生效,那么就這樣書寫:‘User-agent:myRobot’,myRobot就是一個網(wǎng)絡(luò)爬蟲的名稱。Disallow:該代碼用于說明限制網(wǎng)絡(luò)機(jī)器人或爬蟲訪問的URL,這個URL可以是一條完整的路徑,也可以是部分的,任何以Disallow開頭的URL均不會被網(wǎng)絡(luò)機(jī)器人或爬蟲訪問到。在robots.txt文件中,至少要有一條Disallow記錄。如果在多條Disallow記錄下,只要有一條是寫成‘Disallow:’,那么該網(wǎng)站的所有內(nèi)容都允許被訪問,在表3-1這個例子中,該網(wǎng)站有三個目錄對搜索引擎的訪問做了限制,即任何網(wǎng)絡(luò)機(jī)器人或爬蟲都不能訪問這三個目錄。需要注意的是對每一個目錄必須分開聲明,而不要寫成"Disallow:/cgi-bin//bbs/"。網(wǎng)絡(luò)爬蟲對于拒絕蜘蛛?yún)f(xié)議的工作流程如圖4-4所示:爬蟲程序通過URL訪問網(wǎng)站,先查找網(wǎng)站根目錄中是否存在拒絕蜘蛛?yún)f(xié)議文件robot.txt,不存在直接返回結(jié)果TRUE,告訴主題爬蟲訪問整個網(wǎng)站;如果存在則讀取robot.txt文件,判斷有沒有disallow語句,沒有就返回結(jié)果TRUE,說明整個網(wǎng)站可以被訪問,有則判斷地allow語句是否存在分隔符‘/’,找到禁止抓取的URL,判斷是否和待抓取的URL一致,如果不是就返回TRUE,告訴爬蟲可以抓取,如果是則不能進(jìn)行抓取。圖3-4拒絕蜘蛛?yún)f(xié)議工作流程3.3網(wǎng)頁分析處理在網(wǎng)絡(luò)爬蟲遍歷網(wǎng)絡(luò),抓取網(wǎng)頁之后,要對網(wǎng)頁進(jìn)行相應(yīng)的分析和處理,需要進(jìn)行的相關(guān)工作如圖3-5所示:圖3-5網(wǎng)頁處理流程3.3.1.遍歷網(wǎng)頁初始種子網(wǎng)頁是由搜索引擎的開發(fā)者給定的,是主題搜索引擎遍歷網(wǎng)絡(luò)的起點,所以種子網(wǎng)頁的選取非常關(guān)鍵,會影響到搜索引擎搜集的質(zhì)量和效率,初始種子網(wǎng)頁集通常可以采用以下的方法來確定:1、從專業(yè)的目錄分類網(wǎng)站(如http:///)中選擇主題分類網(wǎng)站。2、從百度或Google中搜索相應(yīng)的主題,在返回的結(jié)果列表中挑選一些網(wǎng)站作為初始種子網(wǎng)頁集。3、根據(jù)對主題的了解直接給定相關(guān)的網(wǎng)站作為初始種子網(wǎng)頁集。在這里,選取中國農(nóng)業(yè)信息網(wǎng)(/)作為初始種子網(wǎng)頁。并設(shè)定廣度優(yōu)先搜索策略作為此次搜索引擎遍歷網(wǎng)絡(luò)的策略。搜索引擎遍歷網(wǎng)頁的軌跡用圖3-6表示:圖3-6搜索引擎遍歷網(wǎng)頁軌跡3.3.2.網(wǎng)頁解析中國農(nóng)業(yè)信息網(wǎng)/的網(wǎng)站首頁如圖3-7所示:圖3-7中國農(nóng)業(yè)信息網(wǎng)首頁從圖3-7可以看到,首頁上包含了大量的內(nèi)容,有LOGO圖標(biāo),菜單欄,提示欄,新聞圖片,各種專題欄目。這些內(nèi)容對我們進(jìn)行信息收集來說是一種干擾,通常把它們稱為“噪聲”。再把網(wǎng)頁的源代碼下載進(jìn)行分析,源代碼如下:代碼3-1網(wǎng)頁中的HTML代碼<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http:///1999/xhtml">*****HTML代碼開始標(biāo)記*****<head>*****HTML頭部開始標(biāo)簽*****<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>中國農(nóng)業(yè)信息網(wǎng)</title>*****標(biāo)題標(biāo)簽*****<styletype="text/css"><!--.bj_2-1{background-image:url(../images/i_13-2fwb.jpg)}.gdce_yyp{background-image:url(../images/gdce_yyp.jpg)}.bj_yyp{ background-image:url(../images/pfscgq_yyp.jpg); background-repeat:no-repeat; background-position:centerbottom; font-size:14px; font-weight:bold; color:#4f8905;}<script>…</script></head>*****頭部結(jié)束標(biāo)簽*****<body>*****HTML主體開始標(biāo)簽*****<divclass="notice"><spanclass="notice_title"style="color:#FF0000;font-weight:bold;float:left;display:block;width:110px;">溫馨提示:</span> <spanstyle="display:block;width:110px;"> 中國農(nóng)業(yè)信息網(wǎng)域名已經(jīng)變更為:<br><strong></strong><br>敬請惠存!</span></div><tablewidth="400"border="0"><tr><tdalign="left"valign="middle"class="bj_3"><aclass="link03"href="./V20/SC/myyj/201603/t20160307_5042719.htm"target="_blank"title="中國棉花貿(mào)易形勢特點及展望(2016-03-07)">*****超鏈接標(biāo)簽*****<SCRIPTLANGUAGE="JavaScript">document.write(tit_('中國棉花貿(mào)易形勢特點及展望'));</script>*****錨文本*****</a></td></tr><tr><tdalign="left"valign="middle"class="bj_3"><aclass="link03"href="./V20/SC/myyj/201512/t20151218_4957281.htm"target="_blank"title="農(nóng)產(chǎn)品非關(guān)稅貿(mào)易措施發(fā)展新特征淺析(2015-12-18)"><SCRIPTLANGUAGE="JavaScript">document.write(tit_('農(nóng)產(chǎn)品非關(guān)稅貿(mào)易措施發(fā)展新特征淺析'));</script></a></td></tr></table>……</body>*****主體開始標(biāo)簽*****</html>*****HTML代碼結(jié)束標(biāo)記*****從代碼3-1可以看到,網(wǎng)頁是由HTML語言編輯而成,代碼里除了HTML標(biāo)簽對,還有大量的其他代碼,比如CSS代碼、JavaScript腳本代碼、各種按鈕表格等組件,還包含了大量的圖片、廣告代碼,這些代碼對文本提取、建立特征詞庫和主題相關(guān)度評價沒有任何作用,反而會對其進(jìn)行干擾,所以我們必須在文本提取的時候把它們丟棄。對代碼3-1進(jìn)行分析,代碼第一行就是<!DOCTYPE>標(biāo)簽,<!DOCTYPE>聲明必須是HTML文檔的第一行,位于<html>標(biāo)簽之前。它是指示web瀏覽器關(guān)于頁面使用哪個HTML版本進(jìn)行編寫的指令。代碼第二行是標(biāo)簽<html>,標(biāo)簽<html…>表示網(wǎng)頁代碼的開始,標(biāo)簽</html>表示網(wǎng)頁代碼的結(jié)束,這是一對標(biāo)簽,在每個HTML頁面里是必不可少的,表示HTML代碼的開始點和結(jié)束點。HTML代碼里一般還包括兩個重要的部分:<head>和<body>。<head>部分包含了<title>標(biāo)簽,這是網(wǎng)頁的標(biāo)題標(biāo)簽,網(wǎng)頁信息提取一般都會把標(biāo)題提取出來,在代碼3-1中標(biāo)題標(biāo)簽如下:<title>中國農(nóng)業(yè)信息網(wǎng)</title><body>是網(wǎng)頁的主體部分,標(biāo)簽<body>、</body>也是一組首尾對應(yīng)的標(biāo)簽組,表示頁面的正文部分開始和結(jié)束,在IE瀏覽器里顯示的內(nèi)容都在這對標(biāo)簽組里面。主體部分包含了超鏈接(Link),這些超鏈接里有URL地址,這是聚焦爬蟲進(jìn)行下一步爬行必須要獲取的地址,所以在HTML解析器里有要把URL地址提取出來傳遞給URL分析器進(jìn)行分析。在代碼3-1里可以看到URL是在標(biāo)簽組:<aclass="link03"href="./V20/SC/myyj/201512/t20151218_4957281.htm"target="_blank"title="農(nóng)產(chǎn)品非關(guān)稅貿(mào)易措施發(fā)展新特征淺析(2015-12-18)"></a>中,其中符號‘href=’后面的內(nèi)容就是URL地址,在這里URL指向的地址是:./V20/S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度茶葉種植基地合作合同3篇
- 2025年度股權(quán)投資及技術(shù)支持協(xié)議3篇
- 2025年度軟件開發(fā)與購買合同標(biāo)的說明2篇
- 二零二五年度銷售合同標(biāo)的及服務(wù)內(nèi)容詳細(xì)描述2篇
- 2025屆高考物理二輪復(fù)習(xí)講義:專題一 力與運動 第2講 力與直線運動 【含答案】
- 2024物業(yè)保險代理與保險公司合作協(xié)議
- 2025年度地下空間開發(fā)與利用合同3篇
- 2025年度倉儲信息化平臺建設(shè)合同3篇
- 2025年度智能電網(wǎng)建設(shè)施工勞務(wù)合同2篇
- 2024版法人股份轉(zhuǎn)讓協(xié)議
- DL-T 1476-2023 電力安全工器具預(yù)防性試驗規(guī)程
- 通信安全員ABC證報名考試題庫及答案
- 開放系統(tǒng)10861《理工英語(4)》期末機(jī)考真題及答案(第103套)
- 思想道德與法治測試三考試附有答案
- 《中華民族大團(tuán)結(jié)》(初中)-第7課-共同創(chuàng)造科學(xué)成就-教案
- 醫(yī)療耗材銷售工作計劃
- 《短視頻拍攝與制作》課件-3短視頻拍攝的三大技巧
- 《城鎮(zhèn)燃?xì)庠O(shè)施運行、維護(hù)和搶修安全技術(shù)規(guī)程?CJJ+51-2016》詳細(xì)解讀
- 太空艙民宿可行性研究報告
- 新《植物生產(chǎn)與環(huán)境》考試題庫大全-中(多選題匯總)
- 手部安全防護(hù)培訓(xùn)參考課件
評論
0/150
提交評論