2012-02-07 46 views
0

在nutch中,我正在实现一个插件,它将获取网页内容并以特殊方式处理它们。在nutch插件中使用tika

我的主要问题是我想要的网页转换为纯文本,以便能够处理,,我读到蒂卡工具可以做到这一点

所以,我发现这个代码,使用蒂卡解析的网址,我把它写在过滤方法

public ParseResult filter(Content content, ParseResult parseResult, HTMLMetaTags metaTags, DocumentFragment doc) 
    { 
byte[] raw = content.getContent(); 
ContentHandler handler = new BodyContentHandler(); 
Metadata metadata = new Metadata(); 
Parser parser = new AutoDetectParser(); 
parser.parse(new ByteArrayInputStream(raw), handler, metadata, new ParseContext()); 
String plainText = handler.toString(); 
LOG.info("Mime: " + metadata.get(Metadata.CONTENT_TYPE)); 
LOG.info("content: " + handler.toString()); 

     } 

metadata.get的结果(Metadata.CONTENT_TYPE此)是text/html的

但handler.toString()是空的!

更新: 我也尝试解析器方法

LOG.info ("Status : "+ new ParseStatus().toString()); 

后使用这条线,我得到这样的结果: 状态:notparsed(0,0)

回答

1

由于1.1版本的Nutch包括Tika plugin(另请参阅NUTCH-766),以满足您的需求。我不知道是否有更全面的文档可用。您可能需要询问Nutch users邮件列表以获取更多详细信息(或者SO上的某个人可以填写)。

+0

谢谢,我在邮件列表中提出了一个问题,但没有人回答我。是否有任何有用的资源或代码快照可能有所帮助? – 2012-02-26 06:35:43

0

正如Jukka Zitting所说,Tika已经在nutch中得到了利用。在你粘贴的代码中,你没有将metadataParseStatus设置为任何nutch特定的数据结构。所以你没有看到ParseStatus