1.测试环境
nutch1.2
eclipse
Version:Indigo Service Release 1
Buildid: 20110916-0149
ubuntu11.10
jdk1.7
下载nutch1.2的源码http://nutch.apache.org/#24+September+2010+-+Apache+Nutch+1.2+Released
2.将nutch导入到eclipse
首先建立一个java项目
File> New > Project > Java project > click Next
-
将conf目录添加到classpath(右击项目选择properties,然后选择JavaBuild Path,然后在右边框中选择Libraries,单击AddClass Folder...,选择conf目录)
-
eclipse应该已经导入了所有的java源文件,如果没有需要手动导入,将"src/java","src/test"和plugin导入到Source中,将lib文件夹和plugin/lib中的的jar文件导入到Libraries。
-
不要将"build"目录添加到classpath
在nutch的根目录下建立urls文件在里面输入(想要抓取的网站)
http://www.baidu.com/
修改conf目录下的nutch-site.xml.template文件如下
<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>
<!--Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>http.agent.name</name>
<value>test</value>
</property>
</configuration>
并将其重命名为nutch-site.xml
修改conf目录下的crawl-urlfilter.txt.template(如果不改会提示NoURLs to fetch - check your seed list and URL filters.)
将
#accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
#skip everything else
-.
替换成
#accept hosts in MY.DOMAIN.NAME
+.
#skip everything else
-.
修改conf目录下的nutch-default.xml
将"plugin.folders"属性的值改为"./src/plugin"(如果不改会报错)
3.在eclipse中运行nutch
-
run as>java application
-
设置主类org.apache.nutch.crawl.Crawl
-
设置运行参数Arguments中的ProgramArguments,urls-dir crawl -depth 3 -topN 50
inVM arguments,-Dhadoop.log.dir=logs-Dhadoop.log.file=hadoop.log
单击run,如果一切配置正确的话,此时nutch应该在忙碌的抓取着网页