1、需要的jar包
je-analysis-1.5.3.jar javacc工具 ant
2、部署nutch工程到eclipse中,这一步网上有很多的参考。
3、nutch工程部署好后直接修改org.apache.nutch.analysis包下面的NutchDocumentAnalyzer.java的 tokenStream方法 即将以下代码
/** Returns a new token stream for text from the named field. */ public TokenStream tokenStream(String fieldName, Reader reader) { Analyzer analyzer; if ("anchor".equals(fieldName)) analyzer = ANCHOR_ANALYZER; else analyzer = CONTENT_ANALYZER; return analyzer.tokenStream(fieldName, reader); }
替换成
public TokenStream tokenStream(String fieldName, Reader reader) { Analyzer analyzer; analyzer= new MMAnalyzer();//需要导入je-analysis包 return analyzer.tokenStream(fieldName, reader); }
4、在org.apache.nutch.analysis包下类文件NutchAnalysis.jj中
将<SIGRAM: <CJK> >替换为 <SIGRAM: (<CJK>)+ >
然后将这个文件拷贝到一个空目录下,使用javacc进行编译,编译后生成7个java文件,将这7个java文件覆盖org.apache.nutch.analysis包下的文件。此时会有一个异常,只需要在ParseException.java中将Exception改为IOException
5、修改工程目录下的build.xml文件
<lib> ........ ....... .......... <include name="je-analysis-*.jar"/> <!--添加这句--> </lib>
7、使用ant编译工程文件
输入ant (将在工程目录下的build目录下输出nutch.job文件) 输入ant war (将在工程目录下的build目录下输出nutch.war文件) 输入ant jar (将在工程目录下的build目录下输出nutch.jar文件)
将输出的三个文件拷贝到工程根目录下,覆盖原有的三个文件
8、测试
运行org.apche.nutch.crawl中的Crawl类进行爬虫,当然也可以通过命令的方式进行爬虫
在tomcat下部署第七步生成的nutch.war文件,配置好nutch-site.xml文件后.
<property> <name>searcher.dir</name> <value>存放爬虫结果的目录</value> </property>
在浏览器中输入http://localhost:8080/nutch-1.0 ,回车后查看结果!