網(wǎng)絡(luò)爬蟲調(diào)研報告_第1頁
網(wǎng)絡(luò)爬蟲調(diào)研報告_第2頁
網(wǎng)絡(luò)爬蟲調(diào)研報告_第3頁
網(wǎng)絡(luò)爬蟲調(diào)研報告_第4頁
網(wǎng)絡(luò)爬蟲調(diào)研報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-.z.網(wǎng)絡(luò)爬蟲調(diào)研報告基本原理Spider概述Spider即網(wǎng)絡(luò)爬蟲,其定義有廣義和狹義之分。狹義上指遵循標(biāo)準(zhǔn)的http協(xié)議利用超和Web文檔檢索的方法遍歷萬維網(wǎng)信息空間的軟件程序;而廣義的定義則是所有能遵循h(huán)ttp協(xié)議檢索Web文檔的軟件都稱之為網(wǎng)絡(luò)爬蟲。Spider是一個功能很強的自動提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成.它通過請求站點上的HTML文檔訪問*一站點。它遍歷Web空間,不斷從一個站點移動到另一個站點,自動建立索引,并加入到網(wǎng)頁數(shù)據(jù)庫中。網(wǎng)絡(luò)爬蟲進入*個超級文本時,它利用HTML語言的標(biāo)記結(jié)構(gòu)來搜索信息及獲取指向其他超級文本的URL地址,可以完全不依賴用戶干預(yù)實現(xiàn)網(wǎng)絡(luò)上的自動爬行和搜索。Spider的隊列(1)等待隊列:新發(fā)現(xiàn)的URL被加入到這個隊列,等待被Spider程序處理;(2)處理隊列:要被處理的URL被傳送到這個隊列。為了避免同一個URL被多次處理,當(dāng)一個URL被處理過后,它將被轉(zhuǎn)移到完成隊列或者錯誤隊列(如果發(fā)生錯誤)。(3)錯誤隊列:如果在下載網(wǎng)頁是發(fā)生錯誤,該URL將被加入到錯誤隊列。(4)完成隊列:如果在處理網(wǎng)頁沒有發(fā)生錯誤,該URL將被加入到完成隊列。網(wǎng)絡(luò)爬蟲搜索策略在抓取網(wǎng)頁的時候,目前網(wǎng)絡(luò)爬蟲一般有兩種策略:無主題搜索與基于*特定主體的專業(yè)智能搜索。其中前者主要包括:廣度優(yōu)先和深度優(yōu)先。廣度優(yōu)先是指網(wǎng)絡(luò)爬蟲會先抓取起始網(wǎng)頁中的所有網(wǎng)頁,然后再選擇其中的一個網(wǎng)頁,繼續(xù)抓取在此網(wǎng)頁中的所有網(wǎng)頁。這是最常用的方式,因為這個方法可以讓網(wǎng)絡(luò)爬蟲并行處理,提高其抓取速度。深度優(yōu)先是指網(wǎng)絡(luò)爬蟲會從起始頁開始,一個一個跟蹤下去,處理完這條線路之后再轉(zhuǎn)入下一個起始頁,繼續(xù)跟蹤。這個方法有個優(yōu)點是網(wǎng)絡(luò)爬蟲在設(shè)計的時候比較容易。大多數(shù)網(wǎng)頁爬行器采用寬度優(yōu)先搜索策略或者是對這種策略的*些改進。在專業(yè)搜索引擎中,網(wǎng)絡(luò)爬蟲的任務(wù)是獲取Web頁面和決定的訪問順序,它通常從一個"種子集”(如用戶查詢、種子或種子頁面)發(fā),以迭代的方式訪問頁面和提取。搜索過程中,未訪問的被暫存在一個稱為"搜索前沿”(SpiderFrontier)的隊列中,網(wǎng)絡(luò)爬蟲根據(jù)搜索前沿中的"重要程度”決定下一個要訪問的。如何評價和預(yù)測的"重要程度”(或稱價值)是決定網(wǎng)絡(luò)爬蟲搜索策略的關(guān)鍵。眾多的網(wǎng)絡(luò)爬蟲設(shè)計各不相同,但歸根結(jié)底是采用不同的價值評價標(biāo)準(zhǔn)。常用開源網(wǎng)絡(luò)爬蟲介紹及其比較Nutch開發(fā)語言:Java簡介:Apache的子項目之一,屬于Lucene項目下的子項目。Nutch是一個基于Lucene,類似Google的完整網(wǎng)絡(luò)搜索引擎解決方案,基于Hadoop的分布式處理模型保證了系統(tǒng)的性能,類似Eclipse的插件機制保證了系統(tǒng)的可客戶化,而且很容易集成到自己的應(yīng)用之中。Larbin開發(fā)語言:C++簡介larbin是一種開源的網(wǎng)絡(luò)爬蟲/網(wǎng)絡(luò)蜘蛛,由法國的年輕人SébastienAilleret獨立開發(fā)。larbin目的是能夠跟蹤頁面的url進行擴展的抓取,最后為搜索引擎提供廣泛的數(shù)據(jù)來源。Larbin只是一個爬蟲,也就是說larbin只抓取網(wǎng)頁,至于如何parse的事情則由用戶自己完成。另外,如何存儲到數(shù)據(jù)庫以及建立索引的事情larbin也不提供。latbin最初的設(shè)計也是依據(jù)設(shè)計簡單但是高度可配置性的原則,因此我們可以看到,一個簡單的larbin的爬蟲可以每天獲?。担埃叭f的網(wǎng)頁,非常高效。Heritri*開發(fā)語言:Java簡介與Nutch比較

Heritri*和Nutch。二者均為Java開源框架,Heritri*是SourceForge上的開源產(chǎn)品,Nutch為Apache的一個子項目,它們都稱作網(wǎng)絡(luò)爬蟲/蜘蛛(WebCrawler),它們實現(xiàn)的原理基本一致:深度遍歷的資源,將這些資源抓取到本地,使用的方法都是分析每一個有效的URI,并提交Http請求,從而獲得相應(yīng)結(jié)果,生成本地文件及相應(yīng)的日志信息等。

Heritri*是個"archivalcrawler"--用來獲取完整的、精確的、站點內(nèi)容的深度復(fù)制。包括獲取圖像以及其他非文本內(nèi)容。抓取并存儲相關(guān)的內(nèi)容。對內(nèi)容來者不拒,不對頁面進行內(nèi)容上的修改。重新爬行對相同的URL不針對先前的進行替換。爬蟲通過Web用戶界面啟動、監(jiān)控、調(diào)整,允許彈性的定義要獲取的URL。二者的差異:Nutch只獲取并保存可索引的內(nèi)容。Heritri*則是照單全收。力求保存頁面原貌Nutch可以修剪內(nèi)容,或者對內(nèi)容格式進行轉(zhuǎn)換。Nutch保存內(nèi)容為數(shù)據(jù)庫優(yōu)化格式便于以后索引;刷新替換舊的內(nèi)容。而Heritri*是添加(追加)新的內(nèi)容。Nutch從命令行運行、控制。Heritri*有Web控制管理界面。Nutch的定制能力不夠強,不過現(xiàn)在已經(jīng)有了一定改進。Heritri*可控制的參數(shù)更多。Heritri*提供的功能沒有nutch多,有點整站下載的味道。既沒有索引又沒有解析,甚至對于重復(fù)爬取URL都處理不是很好。Heritri*的功能強大但是配置起來卻有點麻煩。三者的比較一、從功能方面來說,Heritri*與Larbin的功能類似。都是一個純粹的網(wǎng)絡(luò)爬蟲,提供的鏡像下載。而Nutch是一個網(wǎng)絡(luò)搜索引擎框架,爬取網(wǎng)頁只是其功能的一部分。二、從分布式處理來說,Nutch支持分布式處理,而另外兩個好像尚且還沒有支持。三、從爬取的網(wǎng)頁存儲方式來說,Heritri*和Larbin都是將爬取下來的內(nèi)容保存為原始類型的內(nèi)容。而Nutch是將內(nèi)容保存到其特定格式的segment中去。四,對于爬取下來的內(nèi)容的處理來說,Heritri*和Larbin都是將爬取下來的內(nèi)容不經(jīng)處理直接保存為原始內(nèi)容。而Nutch對文本進行了包括分析、正文提取、建立索引(Lucene索引)等處理。五,從爬取的效率來說,Larbin效率較高,因為其是使用c++實現(xiàn)的并且功能單一。表3種爬蟲的比較crawler開發(fā)語言功能單一支持分布式爬取效率鏡像保存NutchJava×√低×LarbinC++√×高√Heritri*Java√×中√其他網(wǎng)絡(luò)爬蟲介紹:Heritri*Heritri*是一個開源,可擴展的web爬蟲項目。Heritri*設(shè)計成嚴(yán)格按照robots.t*t文件的排除指示和METArobots標(biāo)簽。WebSPHIN*

WebSPHIN*是一個Java類包和Web爬蟲的交互式開發(fā)環(huán)境。Web爬蟲(也叫作機器人或蜘蛛)是可以自動瀏覽與處理Web頁面的程序。WebSPHIN*由兩部分組成:爬蟲工作平臺和WebSPHIN*類包。./~rcm/websphin*/WebLech

WebLech是一個功能強大的Web站點下載與鏡像工具。它支持按功能需求來下載web站點并能夠盡可能模仿標(biāo)準(zhǔn)Web瀏覽器的行為。WebLech有一個功能控制臺并采用多線程操作。Arale

Arale主要為個人使用而設(shè)計,而沒有像其它爬蟲一樣是關(guān)注于頁面索引。Arale能夠下載整個web站點或來自web站點的*些資源。Arale還能夠把動態(tài)頁面映射成靜態(tài)頁面。J-Spider

J-Spider:是一個完全可配置和定制的WebSpider引擎.你可以利用它來檢查的錯誤(內(nèi)在的服務(wù)器錯誤等),內(nèi)外部檢查,分析的結(jié)構(gòu)(可創(chuàng)建一個地圖),下載整個Web站點,你還可以寫一個JSpider插件來擴展你所需要的功能。spindle

spindle是一個構(gòu)建在Lucene工具包之上的Web索引/搜索工具.它包括一個用于創(chuàng)建索引的HTTPspider和一個用于搜索這些索引的搜索類。spindle項目提供了一組JSP標(biāo)簽庫使得那些基于JSP的站點不需要開發(fā)任何Java類就能夠增加搜索功能。.bitmechanic./projects/spindle/Arachnid

Arachnid:是一個基于Java的webspider框架.它包含一個簡單的HTML剖析器能夠分析包含HTML內(nèi)容的輸入流.通過實現(xiàn)Arachnid的子類就能夠開發(fā)一個簡單的Webspiders并能夠在Web站上的每個頁面被解析之后增加幾行代碼調(diào)用。Arachnid的下載包中包含兩個spider應(yīng)用程序例子用于演示如何使用該框架。LARM

LARM能夠為JakartaLucene搜索引擎框架的用戶提供一個純Java的搜索解決方案。它包含能夠為文件,數(shù)據(jù)庫表格建立索引的方法和為Web站點建索引的爬蟲。JoBo

JoBo是一個用于下載整個Web站點的簡單工具。它本質(zhì)是一個WebSpider。與其它下載工具相比較它的主要優(yōu)勢是能夠自動填充form(如:自動登錄)和使用cookies來處理session。JoBo還有靈活的下載規(guī)則(如:通過網(wǎng)頁的URL,大小,MIME類型等)來限制下載。./software/jobo/inde*.htmlsnoics-reptile

snoics-reptile是用純Java開發(fā)的,用來進行鏡像抓取的工具,可以使用配制文件中提供的URL入口,把這個所有的能用瀏覽器通過GET的方式獲取到的資源全部抓取到本地,包括網(wǎng)頁和各種類型的文件,如:圖片、flash、mp3、zip、rar、e*e等文件??梢詫⒄麄€完整地下傳至硬盤內(nèi),并能保持原有的結(jié)構(gòu)精確不變。只需要把抓取下來的放到web服務(wù)器(如:Apache)中,就可以實現(xiàn)完整的鏡像。./snoicsWeb-Harvest

Web-Harvest是一個Java開源Web數(shù)據(jù)抽取工具。它能夠收集指定的Web頁面并從這些頁面中提取有用的數(shù)據(jù)。Web-Harvest主要是運用了像*SLT,*Query,正則表達式等這些技術(shù)來實現(xiàn)對te*t/*ml的操作。spiderpy

spiderpy是一個基于Python編碼的一個開源web爬蟲工具,允許用戶收集文件和搜索,并有一個可配置的界面。TheSpiderWebNetwork*oopsModTeam

piderWebNetwork*oopsMod是一個*oops下的模塊,完全由PHP語言實現(xiàn)。.tswn./larbin

larbin是個基于C++的web爬蟲工具,擁有易于操作的界面,不過只能跑在LINU*下,在一臺普通PC下larbin每天可以爬5百萬個頁面(當(dāng)然啦,需要擁有良好的網(wǎng)絡(luò))

爬蟲存在的問題1.robots.t*trobots.t*t是一個純文本文件,在這個文件中管理者可以聲明該中不想被robots訪問的部分,或者指定搜索引擎只收錄指定的內(nèi)容。當(dāng)一個搜索機器人(有的叫搜索蜘蛛)訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.t*t,如果存在,搜索機器人就會按照該文件中的內(nèi)容來確定訪問的*圍;如果該文件不存在,則搜索機器人就沿著抓取。另外,robots.t*t必須放置在一個站點的根目錄下,而且文件名必須全部小寫。2.有些類型的網(wǎng)頁難以爬取。例如,使用javascript調(diào)用的頁面、需要注冊才能訪問的頁面等。網(wǎng)絡(luò)爬蟲的相關(guān)研究工作有些類型的網(wǎng)頁難以爬取。例如,使用javascript調(diào)用的頁面、需要注冊才能訪問的頁面等,對于這些網(wǎng)絡(luò)的爬取被歸結(jié)為深層網(wǎng)絡(luò)的挖掘。這些網(wǎng)頁可歸結(jié)為如下幾類:(1)通過填寫表單形成對后臺再現(xiàn)數(shù)據(jù)庫查詢得到的動態(tài)頁面。(2)由于缺乏被指向的超而沒有被索引到的頁面。(3)需要注冊或其他限制訪問的頁面。(4)可訪問的非網(wǎng)頁文件。在曾偉輝等人的文章中,對這類問題進行了綜述。在王映等人的文章中,提出了使用一個嵌入式的JavaScript引擎來進行動態(tài)網(wǎng)頁采集的方法。1.有些非靜態(tài)的Web2.0的內(nèi)容動態(tài)生成,數(shù)據(jù)量巨大,難以抓取,例如論壇等。在2008年SIGIR中,YidaWang等提出了一種爬取論壇的爬取方法。2.有些會限制網(wǎng)絡(luò)爬蟲的爬取,AnaliaG.Lourenco,

OrlandoO.Belo在2006年提出來使用查詢?nèi)罩镜姆椒ㄏ拗凭W(wǎng)絡(luò)爬蟲的活動以減輕服務(wù)器壓力。3.網(wǎng)絡(luò)上的網(wǎng)頁數(shù)量太大,在爬取時需要考慮爬取的時間及效率等問題,UCLA的JunghooCho等提出了使用并行的crawler的方法。4.主題網(wǎng)絡(luò)爬蟲研究未來研究方向分布式網(wǎng)絡(luò)爬蟲并行網(wǎng)絡(luò)爬蟲特定領(lǐng)域如論壇,博客等的爬取關(guān)于Aja*技術(shù)的深層網(wǎng)絡(luò)爬蟲研究。多媒體網(wǎng)絡(luò)爬蟲研究對等網(wǎng)絡(luò)(P2P,PeertoPeer)網(wǎng)絡(luò)爬蟲參考文獻:[1]謝國強等,《基于Web的網(wǎng)絡(luò)爬蟲技術(shù)研究》[2]YidaWangetc.E*ploringTraversalStrategyforWebForumCrawling,sigir’08[3]JunghooCho(UCLA),HectorGarcia-Molina(Standford),ParallelCrawlers,2002[4]AnaliaLourencoetc,CatchingWebCrawlersintheAct,ICWE’06[5]曾偉輝等,《深層網(wǎng)絡(luò)爬蟲研究綜述》,計算機系統(tǒng)應(yīng)用2008年第5期[6]王映、于滿泉等,《JavaScript引擎在動態(tài)網(wǎng)頁采集技術(shù)中的應(yīng)用》,中科院計算所、微軟亞洲研究院網(wǎng)絡(luò)爬蟲調(diào)研報告基本原理Spider概述Spider即網(wǎng)絡(luò)爬蟲,其定義有廣義和狹義之分。狹義上指遵循標(biāo)準(zhǔn)的http協(xié)議利用超和Web文檔檢索的方法遍歷萬維網(wǎng)信息空間的軟件程序;而廣義的定義則是所有能遵循h(huán)ttp協(xié)議檢索Web文檔的軟件都稱之為網(wǎng)絡(luò)爬蟲。Spider是一個功能很強的自動提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成.它通過請求站點上的HTML文檔訪問*一站點。它遍歷Web空間,不斷從一個站點移動到另一個站點,自動建立索引,并加入到網(wǎng)頁數(shù)據(jù)庫中。網(wǎng)絡(luò)爬蟲進入*個超級文本時,它利用HTML語言的標(biāo)記結(jié)構(gòu)來搜索信息及獲取指向其他超級文本的URL地址,可以完全不依賴用戶干預(yù)實現(xiàn)網(wǎng)絡(luò)上的自動爬行和搜索。Spider的隊列(1)等待隊列:新發(fā)現(xiàn)的URL被加入到這個隊列,等待被Spider程序處理;(2)處理隊列:要被處理的URL被傳送到這個隊列。為了避免同一個URL被多次處理,當(dāng)一個URL被處理過后,它將被轉(zhuǎn)移到完成隊列或者錯誤隊列(如果發(fā)生錯誤)。(3)錯誤隊列:如果在下載網(wǎng)頁是發(fā)生錯誤,該URL將被加入到錯誤隊列。(4)完成隊列:如果在處理網(wǎng)頁沒有發(fā)生錯誤,該URL將被加入到完成隊列。網(wǎng)絡(luò)爬蟲搜索策略在抓取網(wǎng)頁的時候,目前網(wǎng)絡(luò)爬蟲一般有兩種策略:無主題搜索與基于*特定主體的專業(yè)智能搜索。其中前者主要包括:廣度優(yōu)先和深度優(yōu)先。廣度優(yōu)先是指網(wǎng)絡(luò)爬蟲會先抓取起始網(wǎng)頁中的所有網(wǎng)頁,然后再選擇其中的一個網(wǎng)頁,繼續(xù)抓取在此網(wǎng)頁中的所有網(wǎng)頁。這是最常用的方式,因為這個方法可以讓網(wǎng)絡(luò)爬蟲并行處理,提高其抓取速度。深度優(yōu)先是指網(wǎng)絡(luò)爬蟲會從起始頁開始,一個一個跟蹤下去,處理完這條線路之后再轉(zhuǎn)入下一個起始頁,繼續(xù)跟蹤。這個方法有個優(yōu)點是網(wǎng)絡(luò)爬蟲在設(shè)計的時候比較容易。大多數(shù)網(wǎng)頁爬行器采用寬度優(yōu)先搜索策略或者是對這種策略的*些改進。在專業(yè)搜索引擎中,網(wǎng)絡(luò)爬蟲的任務(wù)是獲取Web頁面和決定的訪問順序,它通常從一個"種子集”(如用戶查詢、種子或種子頁面)發(fā),以迭代的方式訪問頁面和提取。搜索過程中,未訪問的被暫存在一個稱為"搜索前沿”(SpiderFrontier)的隊列中,網(wǎng)絡(luò)爬蟲根據(jù)搜索前沿中的"重要程度”決定下一個要訪問的。如何評價和預(yù)測的"重要程度”(或稱價值)是決定網(wǎng)絡(luò)爬蟲搜索策略的關(guān)鍵。眾多的網(wǎng)絡(luò)爬蟲設(shè)計各不相同,但歸根結(jié)底是采用不同的價值評價標(biāo)準(zhǔn)。常用開源網(wǎng)絡(luò)爬蟲介紹及其比較Nutch開發(fā)語言:Java簡介:Apache的子項目之一,屬于Lucene項目下的子項目。Nutch是一個基于Lucene,類似Google的完整網(wǎng)絡(luò)搜索引擎解決方案,基于Hadoop的分布式處理模型保證了系統(tǒng)的性能,類似Eclipse的插件機制保證了系統(tǒng)的可客戶化,而且很容易集成到自己的應(yīng)用之中。Larbin開發(fā)語言:C++簡介larbin是一種開源的網(wǎng)絡(luò)爬蟲/網(wǎng)絡(luò)蜘蛛,由法國的年輕人SébastienAilleret獨立開發(fā)。larbin目的是能夠跟蹤頁面的url進行擴展的抓取,最后為搜索引擎提供廣泛的數(shù)據(jù)來源。Larbin只是一個爬蟲,也就是說larbin只抓取網(wǎng)頁,至于如何parse的事情則由用戶自己完成。另外,如何存儲到數(shù)據(jù)庫以及建立索引的事情larbin也不提供。latbin最初的設(shè)計也是依據(jù)設(shè)計簡單但是高度可配置性的原則,因此我們可以看到,一個簡單的larbin的爬蟲可以每天獲?。担埃叭f的網(wǎng)頁,非常高效。Heritri*開發(fā)語言:Java簡介與Nutch比較Heritri*和Nutch。二者均為Java開源框架,Heritri*是SourceForge上的開源產(chǎn)品,Nutch為Apache的一個子項目,它們都稱作網(wǎng)絡(luò)爬蟲/蜘蛛(WebCrawler),它們實現(xiàn)的原理基本一致:深度遍歷的資源,將這些資源抓取到本地,使用的方法都是分析每一個有效的URI,并提交Http請求,從而獲得相應(yīng)結(jié)果,生成本地文件及相應(yīng)的日志信息等。

Heritri*是個"archivalcrawler"用來獲取完整的、精確的、站點內(nèi)容的深度復(fù)制。包括獲取圖像以及其他非文本內(nèi)容。抓取并存儲相關(guān)的內(nèi)容。對內(nèi)容來者不拒,不對頁面進行內(nèi)容上的修改。重新爬行對相同的URL不針對先前的進行替換。爬蟲通過Web用戶界面啟動、監(jiān)控、調(diào)整,允許彈性的定義要獲取的URL。二者的差異:Nutch只獲取并保存可索引的內(nèi)容。Heritri*則是照單全收。力求保存頁面原貌Nutch可以修剪內(nèi)容,或者對內(nèi)容格式進行轉(zhuǎn)換。Nutch保存內(nèi)容為數(shù)據(jù)庫優(yōu)化格式便于以后索引;刷新替換舊的內(nèi)容。而Heritri*是添加(追加)新的內(nèi)容。Nutch從命令行運行、控制。Heritri*有Web控制管理界面。Nutch的定制能力不夠強,不過現(xiàn)在已經(jīng)有了一定改進。Heritri*可控制的參數(shù)更多。Heritri*提供的功能沒有nutch多,有點整站下載的味道。既沒有索引又沒有解析,甚至對于重復(fù)爬取URL都處理不是很好。Heritri*的功能強大但是配置起來卻有點麻煩。三者的比較一、從功能方面來說,Heritri*與Larbin的功能類似。都是一個純粹的網(wǎng)絡(luò)爬蟲,提供的鏡像下載。而Nutch是一個網(wǎng)絡(luò)搜索引擎框架,爬取網(wǎng)頁只是其功能的一部分。二、從分布式處理來說,Nutch支持分布式處理,而另外兩個好像尚且還沒有支持。三、從爬取的網(wǎng)頁存儲方式來說,Heritri*和Larbin都是將爬取下來的內(nèi)容保存為原始類型的內(nèi)容。而Nutch是將內(nèi)容保存到其特定格式的segment中去。四,對于爬取下來的內(nèi)容的處理來說,Heritri*和Larbin都是將爬取下來的內(nèi)容不經(jīng)處理直接保存為原始內(nèi)容。而Nutch對文本進行了包括分析、正文提取、建立索引(Lucene索引)等處理。五,從爬取的效率來說,Larbin效率較高,因為其是使用c++實現(xiàn)的并且功能單一。表3種爬蟲的比較crawler開發(fā)語言功能單一支持分布式爬取效率鏡像保存NutchJava×√低×LarbinC++√×高√Heritri*Java√×中√其他網(wǎng)絡(luò)爬蟲介紹:Heritri*

Heritri*是一個開源,可擴展的web爬蟲項目。Heritri*設(shè)計成嚴(yán)格按照robots.t*t文件的排除指示和METArobots標(biāo)簽。WebSPHIN*

WebSPHIN*是一個Java類包和Web爬蟲的交互式開發(fā)環(huán)境。Web爬蟲(也叫作機器人或蜘蛛)是可以自動瀏覽與處理Web頁面的程序。WebSPHIN*由兩部分組成:爬蟲工作平臺和WebSPHIN*類包。./~rcm/websphin*/WebLech

WebLech是一個功能強大的Web站點下載與鏡像工具。它支持按功能需求來下載web站點并能夠盡可能模仿標(biāo)準(zhǔn)Web瀏覽器的行為。WebLech有一個功能控制臺并采用多線程操作。Arale

Arale主要為個人使用而設(shè)計,而沒有像其它爬蟲一樣是關(guān)注于頁面索引。Arale能夠下載整個web站點或來自web站點的*些資源。Arale還能夠把動態(tài)頁面映射成靜態(tài)頁面。J-Spider

J-Spider:是一個完全可配置和定制的WebSpider引擎.你可以利用它來檢查的錯誤(內(nèi)在的服務(wù)器錯誤等),內(nèi)外部檢查,分析的結(jié)構(gòu)(可創(chuàng)建一個地圖),下載整個Web站點,你還可以寫一個JSpider插件來擴展你所需要的功能。spindle

spindle是一個構(gòu)建在Lucene工具包之上的Web索引/搜索工具.它包括一個用于創(chuàng)建索引的HTTPspider和一個用于搜索這些索引的搜索類。spindle項目提供了一組JSP標(biāo)簽庫使得那些基于JSP的站點不需要開發(fā)任何Java類就能夠增加搜索功能。.bitmechanic./projects/spindle/Arachnid

Arachnid:是一個基于Java的webspider框架.它包含一個簡單的HTML剖析器能夠分析包含HTML內(nèi)容的輸入流.通過實現(xiàn)Arachnid的子類就能夠開發(fā)一個簡單的Webspiders并能夠在Web站上的每個頁面被解析之后增加幾行代碼調(diào)用。Arachnid的下載包中包含兩個spider應(yīng)用程序例子用于演示如何使用該框架。LARM

LARM能夠為JakartaLucene搜索引擎框架的用戶提供一個純Java的搜索解決方案。它包含能夠為文件,數(shù)據(jù)庫表格建立索引的方法和為Web站點建索引的爬蟲。JoBo

JoBo是一個用于下載整個Web站點的簡單工具。它本質(zhì)是一個WebSpider。與其它下載工具相比較它的主要優(yōu)勢是能夠自動填充form(如:自動登錄)和使用cookies來處理session。JoBo還有靈活的下載規(guī)則(如:通過網(wǎng)頁的URL,大小,MIME類型等)來限制下載。./software/jobo/inde*.htmlsnoics-reptile

snoics-reptile是用純Java開發(fā)的,用來進行鏡像抓取的工具,可以使用配制文件中提供的URL入口,把這個所有的能用瀏覽器通過GET的方式獲取到的資源全部抓取到本地,包括網(wǎng)頁和各種類型的文件,如:圖片、flash、mp3、zip、rar、e*e等文件??梢詫⒄麄€完整地下傳至硬盤內(nèi),并能保持原有的結(jié)構(gòu)精確不變。只需要把抓取下來的放到web服務(wù)器(如:Apache)中,就可以實現(xiàn)完整的鏡像。./snoicsWeb-Harvest

Web-Harvest是一個Java開源Web數(shù)據(jù)抽取工具。它能夠收集指定的Web頁面并從這些頁面中提取有用的數(shù)據(jù)。Web-Harvest主要是運用了像*SLT,*Query,正則表達式等這些技術(shù)來實現(xiàn)對te*t/*ml的操作。spiderpy

spiderpy是一個基于Python編碼的一個開源web爬蟲工具,允許用戶收集文件和搜索,并有一個可配置的界面。TheSpiderWebNetwork*oopsModTeam

piderWebNetwork*oopsMod是一個*oops下的模塊,完全由PHP語言實現(xiàn)。.tswn./Fetchgals

Fetchgals是一個基于perl多線程的Web爬蟲,通過Tags來搜索**圖片。/projects/fetchgalslarbin

larbin是個基于C++的web爬蟲工具,擁有易于操作的界面,不過只能跑在LINU*下,在一臺普通PC下larbin每天可以爬5百萬個頁面(當(dāng)然啦,需要擁有良好的網(wǎng)絡(luò))

爬蟲存在的問題1.robots.t*t

robots.t*t是一個純文本文件,在這個文件中管理者可以聲明該中不想被robots訪問的部分,或者指定搜索引擎

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論