在 nutch 中,我正在实现一个插件,它将获取网页的内容并以特殊方式处理它们。
我的主要问题是我想将网页转换为纯文本以便能够处理,我读到 tika 工具包可以做到这一点
所以,我发现这段代码使用 tika 来解析 url,我把它写在 filter 方法下
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());
我得到了这个结果:状态:未解析(0,0)