nutch整體分析筆記_第1頁
nutch整體分析筆記_第2頁
nutch整體分析筆記_第3頁
nutch整體分析筆記_第4頁
nutch整體分析筆記_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

運行模式nutch分兩個運行模式:集群(運行在hadoop上,文件存儲在hdfs)和本地,runtime文件夾下的兩個文件夾deploy和local分別代表著集群運行模式和本地運行模式,兩個文件夾下都有bin文件夾,里面存放著運行腳本(crawl和nutch),在不同的文件夾下運行這些腳本就會在不同的集群上運行任務(wù)了,另外,在deploy文件夾下運行腳本,是把該文件夾下打好的job包(apache-nutch-1.7.job)提交到hadoop上(利用hadoop命令),這就要求實現(xiàn)應(yīng)該搭好hadoop環(huán)境。nutch腳本根據(jù)所在的文件夾來判斷該運行的模式。運行nutch命令后可以看到這種命令,查看每種命令(如crawl命令)對應(yīng)的是哪一個類,就要再用到nutch腳本了。如下圖所示:nutch的入門重點在于分析nutch腳本,該腳本宏觀的控制nutch運行。如果要在本地模式下運行爬行程序,則在local文件夾下執(zhí)行bin/nutchcrawlurls(種子文件夾)-dirdata(抓取的頁面存放目錄)-depth2-threads10-topN50>&crawl.log>是把日志(抓取過程)存放在crawl.log中,&是后臺運行。運行后的結(jié)果:運行命令(抓取深度等參數(shù)在省略時用的默認(rèn)值):配置文件Nutch的配置文件存放在Nutch目錄下的conf文件夾下,對此文件夾下的配置文件做的修改,需要執(zhí)行ant命令(直接鍵入ant,此時在該路徑下必須有build.xml)重新編譯Nutch,由于編譯所依賴的jar都已經(jīng)緩存,重新編譯花費的時間是很短暫的。對該文件夾下的文件所做的修改,在重新編譯后也會更新到runtime目錄下的deploy和local目錄下的conf目錄中,所以大家不要奇怪,明明只是修改了根目錄下的conf中的配置文件,local和deploy目錄中的配置文件也做了相同的修改?,F(xiàn)在就來看看conf目錄下有哪些重要的配置文件。

Conf目錄下的文件有:

automaton-urlfilter.txt、gora-accumulo-mapping.xml、hbase-site.xml、nutch-site.xml、regex-urlfilter.txt、suffix-urlfilter.txt、configuration.xsl、gora-cassandra-mapping.xml、httpclient-auth.xml、parse-plugins.dtd、schema-solr4.xml、domain-suffixes.xml、gora-hbase-mapping.xml、perties、parse-plugins.xml、schema.xml、domain-suffixes.xsd、perties、nutch-conf.xsl、prefix-urlfilter.txt、solrindex-mapping.xml、domain-urlfilter.txt、gora-sql-mapping.xml、nutch-default.xml、regex-normalize.xml、subcollections.xml。

在這些文件中以txt結(jié)尾的文件用于定義爬取網(wǎng)頁時的過濾規(guī)則,比如正則表達式過濾、前綴過濾、后綴過濾等,有些文件是用于solr索引的,比如schema-solr4.xml、schema.xml等,對于剛開始學(xué)習(xí)Nutch的人(包括自己),比較重要的文件有2個:nutch-site.xml、nutch-default.xml。nutch-default.xml保存了Nutch所有可用的屬性名稱及默認(rèn)的值,當(dāng)需要修改某些屬性值時,可以拷貝該文件中的屬性到nutch-site.xml中,并修改為自定義的值。不做任何配置修改的情況,文件nutch-site.xml不包含任何屬性和屬性值,該文件用于保存用戶調(diào)整Nutch配置后的屬性?;咀ト×鞒碳热皇桥老x,那么其最核心的工作就是“將網(wǎng)上的資源下載到本地”。nutch采用了MapReduce分布式爬取和解析,具有良好的水平擴展性,此外,nutch還完成了諸如將爬取下來的工作建立lucene索引,建立網(wǎng)絡(luò)拓撲圖(webgraph),鏈接分析等額外的工作。為了支持完成這些工作,nutch采用如下物化的數(shù)據(jù)結(jié)構(gòu)來保存爬取過程中的數(shù)據(jù)。主要關(guān)注nutch實現(xiàn)的基本爬蟲的功能,即上圖中黃框部分,由于圖1中省略了injector部分,故用圖2表示。圖2是最基本的業(yè)務(wù)流視角的nutch爬取流程,流程含有inject、generate、fetch、parse、updatedb五個階段(以下皆稱之為“階段”),一般情況下,inject階段在整個爬取過程中只會執(zhí)行一次,而generate、fetch、parse、updatedb四個階段會組成一個“循環(huán)(crawlcycle)”,該循環(huán)一般會執(zhí)行多次,該循環(huán)是“死循環(huán)”,一般需要外部指定條件(調(diào)用方),來終止該循環(huán)——這就是為什么nutch的bin/crawl腳本中會指定limit參數(shù)(nutch1.8之前叫depth參數(shù),即從指定的種子url開始,爬取指定“深度(次數(shù))”之后終止該循環(huán))。當(dāng)然,在不指定外部終止條件的情況下,該循環(huán)也可能終止,滿足的條件是:在指定的最大爬取間隔(默認(rèn)30天)時間內(nèi),所有要爬取的url全部爬取完畢,并且在crawldb中,所有的url的狀態(tài)要么是“fetch_success”要么是“db_gone”。需要注意的是,如果不指定外部終止條件,如果url對應(yīng)的html變化時間快于指定的最大爬取時間,該循環(huán)永遠不會終止。如圖3所示,該“循環(huán)”每次從各個

溫馨提示

  • 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

提交評論