在web中直接调用Nutch执行JOB
看了http://zha-zi.iteye.com/blog/639850的博客后
于是按着他给出的说明构造了一个实验项目:
首先是将Nutch打包成JOB,在Nutch中提供了对ant的支持,要打JOB包,就直接在项目目录下执行ant命令系统就会自动的实现对Nutch的打包,包括对plugins、nutch打包为Jar包,同时将nutch打包成Job.
这里nutch配置jar包依赖的时候用到了maven和Ivy,通过这些东东的配置对于jar包就用起来方便多了。
打包完成后可以查看项目文件夹中build目录,在该目录中有nutch的jar包和job文件,并且在该目录下还有plugins文件夹,就是对插件进行打包后的结果。
完成上述操作后,执行下面的具体操作:
1、新建一个web工程,把nutch源代码中plugins文件夹下的目录复制到src下,把nutch下src/java 中的这些包复制src下
2、把nutch中conf文件夹的所有配置文件复制到src目录下,把nutch中nutch.job文件复制到src下边
3、把nutch中lib文件夹的jar文件复制到web-inf的lib下
4、重新在src下建立一个类,用这个类去调用crawl的main()
?
这个调用时直接使用servlet来调用呗。
代码如下:
?请求的时候就调用http://127.0.0.1:8080/nutch就可以执行nutch的job了(我是在tomcat上测的),其中urls/url文件放到tomcat的bin目录中。
好了就这么多了,试试吧
?
?
?