В nutch я реализую плагин, который будет получать содержимое веб-страниц и обрабатывать их особым образом.
Моя основная проблема заключается в том, что я хочу преобразовать веб-страницы в обычный текст, чтобы их можно было обрабатывать, я читал, что инструментарий tika может это сделать.
Итак, я нашел этот код, который использует tika для анализа URL-адресов, я пишу его в методе фильтра
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) является текст/html
но handler.toString() пуст!
Обновление: также я пытаюсь использовать эту строку после метода парсера
LOG.info ("Status : "+ new ParseStatus().toString());
и я получаю этот результат: Статус: не проанализировано (0,0)