`
backsnow
  • 浏览: 127257 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

nutch的配置文件理解

阅读更多

nutch的配置文件我们可以从Crawl.java中看起,在main函数中, 首先加载配置类: Configuration conf = NutchConfiguration.createCrawlConfiguration();,其中createCrawlConfiguration()类为

  public static Configuration createCrawlConfiguration() {
    Configuration conf = new Configuration();
    addNutchResources(conf, true);
    return conf;
  }

 Configuration加载hadoop的配置文件,NutchResources加载nutch-default.xml,crawl-tool.xml和nutch-site.xml,越后面加载优先级越高。

 

  private static Configuration addNutchResources(Configuration conf,
                                                 boolean crawlConfiguration) {
    conf.addResource("nutch-default.xml");
    if (crawlConfiguration) {
      conf.addResource("crawl-tool.xml");
    }
    conf.addResource("nutch-site.xml");
    return conf;
  }

 在nutch-default.xml中有parse.plugin.file项,用来定义content-type和parsers的联系,映射到parse-plugin.xml文件。

 

parse-plugin.xml文件定义了contentType="text/html"和id parse-html对应,而parse-html的值为org.apache.nutch.parse.html.HtmlParser类,即利用这个类来处理html网页的解析。

分享到:
评论
1 楼 backsnow 2011-03-29  
Content content;
Content类中有一个成员变量byte[] content,不要混淆了。
在HtmlParser.java的主函数里,getParse传入参数content.content(byte[],即整个html网页内容),函数将content.content转化为InputSource对象,交给parse处理,parse->parseNeko->parse(Nekohtml的parse实现), NekoHtml将网页内容转化为XMLInputSource格式,传入xerces的XMLParserConfiguration.parse(inputSource)来处理

相关推荐

Global site tag (gtag.js) - Google Analytics