学习nutch首先我们需要下载它的源码,然后导入eclipse使其能够先跑起来,下文是引用了一个博友整理的导入eclipse的方法:(代码来自GitHub)
很早官方就开始了nutch2.0的研发,而一直都是两线同时研发的,一个是普通版,一个是gora版本,也就是nutch2.0。下面介绍下怎样把项目导进eclipse中,这里我们的存储层使用nosql cassandra,本来想先使用mysql试试,发现启动不了爬虫,调试下发现原来还没有完全实现gora的sql数据库的存储功能,所以选择易用的cassandra作为测试。
需要知识:nutch基本知识,cassandra基本知识,用maven管理项目,用git管理下载项目。
需要工具:安装有maven插件的eclipse(插件可以通过eclipse的market place下载)
1.下载导入项目
先从https://github.com/apache/nutch/tree/release-2.0把nutch2.0项目下载下来(windows点zip按钮会打包下载)
eclipse中把项目导进去(file-import-maven-existing maven project)
2.添加依赖
导进去后src/java和src/test已经是源文件目录了,还必须把
/conf
/src/plugin/protocol-httpclient/src/java
/src/plugin/urlfilter-domain/src/java
/src/plugin/lib-http/src/java
/src/plugin/protocol-http/src/java
/src/plugin/urlfilter-suffix/src/java
/src/plugin/urlfilter-regex/src/java
/src/plugin/lib-regex-filter/src/java
/src/plugin/urlnormalizer-basic/src/java
/src/plugin/urlnormalizer-pass
/src/javasrc/plugin/urlnormalizer-regex/src/java
/src/plugin/scoring-opic/src/java
/src/plugin/parse-html/src/java
这些基本插件添加到classpath中,parse-html还需要用到额外的jar包,
还要nekohtml、tagsoup这两个jar包。我们在下面的pom中添加。
3.添加额外的jar包到pom文件
添加下面依赖到pom.xml文件,去掉原有的gora-core和gora-sql依赖
如果下载不了gora的包,可以到http://gora.apache.org/releases.html#Download下载后放到maven仓库。
4.修改配置文件
把conf目录下带template结尾的文件都去掉template,如nutch-site.xml.template改成nutch-site.xml以防有些插件运行时找不到配置文件。
修改conf下的nutch-site.xml添加一下设置(里面的value随你输):
修改conf下的/nutch/conf/gora.properties
注释掉关系数据库的配置信息:
#gora.sqlstore.jdbc.driver=org.hsqldb.jdbc.JDBCDriver
#gora.sqlstore.jdbc.url=jdbc:hsqldb://localhost/test
#gora.sqlstore.jdbc.user=sa
#gora.sqlstore.jdbc.password=
把gora.cassandrastore.servers=localhost:9160这行的注释去掉,表明使用cassandra作为存储层
5.启动cassandra
启动cassandra,cassandra的启动参考:http://blog.csdn.net/laigood12345/article/details/6568409,我用的是1.01版本的cassandra。
6.执行爬虫
在根目录下建立个urls文件夹,在文件夹下新建个txt文档,随便输入几个网站,如:http://www.163.com/,一行一个网站
最后用java application运行/nutch/src/java/org/apache/nutch/crawl/Crawler.java 参数:urls -depth 2 爬虫就执行起来,爬取的网页会保存到cassandra中。
索引nutch2.0和nutch1.3+一样,都是使用solr作为搜索程序,所以用法和nutch1.3+的一样,这里就不介绍了,用惯了elasticsearch,现在真心觉得solr太麻烦,配都懒得配个出来调试了,直接改源码,添加nutch文档索引到elasticsearch的方法。
原文地址:http://blog.csdn.net/laigood12345/article/details/7625862