真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Nutch2.2.1介紹及用法

這篇文章主要講解了“ Nutch2.2.1介紹及用法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“ Nutch2.2.1介紹及用法”吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了交口免費(fèi)建站歡迎大家使用!

1. Nutch介紹

Nutch是一個開源的網(wǎng)絡(luò)爬蟲項(xiàng)目,更具體些是一個爬蟲軟件,可以直接用于抓取網(wǎng)頁內(nèi)容。

現(xiàn)在Nutch分為兩個版本,1.x和2.x。1.x最新版本為1.7,2.x最新版本為2.2.1。兩個版本的主要區(qū)別在于底層的存儲不同。

1.x版本是基于Hadoop架構(gòu)的,底層存儲使用的是HDFS,而2.x通過使用Apache Gora,使得Nutch可以訪問HBase、Accumulo、Cassandra、MySQL、DataFileAvroStore、AvroStore等NOSQL。

2. 編譯Nutch

Nutch2.x從1.7版本開始不再提供完整的部署文件,只提供源代碼文件及相關(guān)的build.xml文件,這就要求用戶自己編譯Nutch,而整個Nutch3.x版本都不提供編譯完成的文件,所以想要學(xué)習(xí)Nutch3.2.1的功能,就必須自己手動編譯文件。

2.1 下載解壓

$ wget http://archive.apache.org/dist/nutch/2.2.1/apache-nutch-2.2.1-src.tar.gz $ tar zxf apache-nutch-2.2.1-src.tar.gz

2.2 編譯

$ cd apache-nutch-2.2.1 $ ant

有可能你會得到如下錯誤:

Trying to override old definition of task javac
  [taskdef] Could not load definitions from resource org/sonar/ant/antlib.xml. It could not be found.

ivy-probe-antlib:

ivy-download:
  [taskdef] Could not load definitions from resource org/sonar/ant/antlib.xml. It could not be found.

解決辦法:

  1. 下載sonar-ant-task-2.1.jar,將其拷貝到apache-nutch-2.2.1目錄下面

  2. 修改build.xml,引入上面添加的jar包:

     

Nutch使用ivy進(jìn)行構(gòu)建,故編譯需要很長時間,如果編譯時間過長,建議修改maven倉庫地址,修改方法:

通過用http://mirrors.ibiblio.org/maven2/替換ivy/下ivysettings.xml中的http://repo1.maven.org/maven2/來解決。代碼位置為:

編譯之后的目錄如下:

?  apache-nutch-2.2.1  tree -L 1
.
├── CHANGES.txt
├── LICENSE.txt
├── NOTICE.txt
├── README.txt
├── build
├── build.xml
├── conf
├── default.properties
├── docs
├── ivy
├── lib
├── runtime
├── sonar-ant-task-2.1.jar
└── src

7 directories, 7 files

可以看到編譯之后多了兩個目錄:build和runtime

3. 修改配置文件

由于Nutch3.x版本存儲采用Gora訪問Cassandra、HBase、Accumulo、Avro等,需要在該文件中制定Gora屬性,比如指定默認(rèn)的存儲方式gora.datastore.default= org.apache.gora.hbase.store.HBaseStore,該屬性的值可以在nutch-default.xml中查找storage.data.store.class屬性取得,在不做gora.properties文件修改的情況下,存儲類為org.apache.gora.memory.store.MemStore,該類將數(shù)據(jù)存儲在內(nèi)存中,僅用于測試目的。

這里,將其存儲方式改為HBase,請參考 http://wiki.apache.org/nutch/Nutch3Tutorial。

修改 conf/nutch-site.xml

 storage.data.store.class org.apache.gora.hbase.store.HBaseStore Default class for storing data 

修改 ivy/ivy.xml

 default" />

修改 conf/gora.properties,確保HBaseStore被設(shè)置為默認(rèn)的存儲,

gora.datastore.default=org.apache.gora.hbase.store.HBaseStore

因?yàn)檫@里用到了HBase,故還需要一個HBase環(huán)境,你可以使用Standalone模式搭建一個HBase環(huán)境,請參考 HBase Quick Start。需要說明的時,目前HBase的版本要求為 hbase-0.90.4。

4. 集成Solr

由于建索引的時候需要使用Solr,因此我們需要安裝并啟動一個Solr服務(wù)器

4.1 下載,解壓

$ wget http://mirrors.cnnic.cn/apache/lucene/solr/4.8.0/solr-4.8.0.tgz $ tar -zxf solr-4.8.0.tgz

4.2 運(yùn)行Solr

$ cd solr-4.8.0/example $ java -jar start.jar

驗(yàn)證是否啟動成功

用瀏覽器打開 http://localhost:8983/solr/admin/,如果能看到頁面,說明啟動成功。

4.3 修改Solr配置文件

將apache-nutch-2.2.1/conf/schema-solr4.xml拷貝到solr-4.8.0/solr/collection1/conf/schema.xml,并在...最后添加一行:

重啟Solr,

# Ctrl+C to stop Solr $ java -jar start.jar

5. 抓取數(shù)據(jù)

編譯后的腳本在 runtime/local/bin 目錄下,可以運(yùn)行命令查看使用方法:

crawl命令:

$ cd runtime/local/bin $ ./crawl 
Missing seedDir : crawl    

nutch命令:

$ ./nutch 
Usage: nutch COMMAND
where COMMAND is one of:
 inject     inject new urls into the database
 hostinject     creates or updates an existing host table from a text file
 generate   generate new batches to fetch from crawl db
 fetch      fetch URLs marked during generate
 parse      parse URLs marked during fetch
 updatedb   update web table after parsing
 updatehostdb   update host table after parsing
 readdb read/dump records from page database
 readhostdb     display entries from the hostDB
 elasticindex   run the elasticsearch indexer
 solrindex  run the solr indexer on parsed batches
 solrdedup  remove duplicates from solr
 parsechecker   check the parser for a given url
 indexchecker   check the indexing filters for a given url
 plugin     load a plugin and run one of its classes main() nutchserver    run a (local) Nutch server on a user defined port
 junit          runs the given JUnit test  or
 CLASSNAME  run the class named CLASSNAME
Most commands print help when invoked w/o parameters.

接下來可以抓取網(wǎng)頁了。

感謝各位的閱讀,以上就是“ Nutch2.2.1介紹及用法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對 Nutch2.2.1介紹及用法這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


網(wǎng)站標(biāo)題:Nutch2.2.1介紹及用法
分享URL:http://weahome.cn/article/gggegp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部