Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1888335
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类: Java

2010-01-06 23:47:33

<1>: 首先从nutch/  下载最新的nutch.在这里我使用的是nutch1.0.
<2>: 在eclipse中新建立一个Java Project. 名字自己定义(Nutch). 选择"Create project from existing source",指向自己nutch-1.0的目录.
<3>: 点击下一步,切换到"Libraries"选择"Add Class Folder..." 按钮,从列表中选择"conf".  ---- Add project 'conf' to build path---->Default Output floder ---->选择刚才conf.
<4>: finised.修改conf下面的
(a):nutch-defaul.xml :


  plugin.folders
  /home/user/tools/nutch-1.0/src/plugin
  Directories where nutch plugins are located.  Each
  element may be a relative or absolute path.  If absolute, it is used
  as is.  If relative, it is searched for on the classpath.

    
(b):nutch-site.xml:

  http.agent.name
  xp
  xp


  http.agent.description
  Nutch spiderman
  Nutch spiderman


  http.agent.url
 
 


  http.agent.email
  MyEmail
  xipei_1984@163.com
 


(c):crawl-urlfilter.txt:
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*163.com/
<5>:http://nutch.cvs.sourceforge.net/nutch/nutch/src/plugin/parse-mp3/lib/,
http://nutch.cvs.sourceforge.net/nutch/nutch/src/plugin/parse-rtf/lib/
下载MP3跟rtf的jar文件,分别拷贝到src/plugin/parse-mp3/lib 和 src/plugin/parse-rtf/lib/文件夹下
<6>:刷新几下,右键选择工程文件夹,选择Build Path->Configure Build Path...在弹出的窗口上,切换到Libraries,选择Add Jars...,添加刚才下载的jar文件到工程。
<7>:到这一步,一般的工程都会有两个错误,nutch的official 1.0 release版本中,这两个问题因为licensing issues没有修复。接下来的就是最关键的部分了。
修改----  src\plugin\parse-rtf\src\java\org\apache\nutch\parse\rtf下RTFParseFactory.java
添加----- import org.apache.nutch.parse.ParseResult;
将  ----- public Parse getParse(Content content) {
改为---- public ParseResult getParse(Content content) {
将  ---- return new ParseStatus(ParseStatus.FAILED,
                               ParseStatus.FAILED_EXCEPTION,
                               e.toString()).getEmptyParse(conf);
改为-----return new ParseStatus(ParseStatus.FAILED,
                ParseStatus.FAILED_EXCEPTION,
              e.toString()).getEmptyParseResult(content.getUrl(), getConf());
将------return new ParseImpl(text,
                         new ParseData(ParseStatus.STATUS_SUCCESS,
                                       title,
                                       OutlinkExtractor.getOutlinks(text, this.conf),
                                       content.getMetadata(),
                                       metadata));
改为------return ParseResult.createParseResult(content.getUrl(),
                             new ParseImpl(text,
                                     new ParseData(ParseStatus.STATUS_SUCCESS,
                                             title,
                                             OutlinkExtractor.getOutlinks(text, this.conf),
                                             content.getMetadata(),
                                             metadata)));

修改------src\plugin\parse-rtf\src\test\org\apache\nutch\parse\rtf下的TestRTFParser.java
将-----parse = new ParseUtil(conf).parseByExtensionId("parse-rtf", content);
改为----parse = new ParseUtil(conf).parseByExtensionId("parse-rtf", content).get(urlString);
到这一步,eclipse上面的工程就会没有错误了 .
<8>:在nutch1.0的目录下新建立一个文件夹urls,然后再在urls中建立一个文本文件url. 写上链接。注意后面要有 "/".
选择Run->Run As->Java Application在弹出的Select Java Application上选择Crawl-org.apache.nutch.crawl.
接下来,选择 Run->Run Configurations…在左边的Java Application下面会有Crawl这一项,选择它,
切换到Arguments,Program Arguments的内容就是要设置的参数,填上urls -dir crawl -depth 3 -topN 50(这里视自己的具体情况而定,urls为链接)
在VM arguments下面填上-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log.
<9>:直接运行吧:看在你的控制台上出现信息了没.

阅读(1008) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~