Tika - 从文档中检索主要内容

时间:2012-02-07 08:26:17

标签: java apache-tika

Apache Tika的GUI实用程序提供了获取给定文档或URL的主要内容(除了格式文本和结构化文本之外)的选项。我只想知道哪个方法负责提取docs / url的主要内容。这样我就可以在我的程序中加入该方法。另外,他们是否在从HTML页面提取数据时使用任何启发式算法。因为有时在提取的内容中,我无法看到广告。

更新:我发现 BoilerPipeContentHandler 负责。

3 个答案:

答案 0 :(得分:8)

Tika GUI中的“主要内容”功能是使用BoilerpipeContentHandler类来实现的,该类依赖boilerpipe library进行繁重的工作。

答案 1 :(得分:0)

我相信这是由BodyContentHandler提供的,它只提取文档正文的HTML内容。如果需要,还可以与其他处理程序结合使用,只返回正文的纯文本。

答案 2 :(得分:0)

public String[] tika_autoParser() {
    String[] result = new String[3];
    try {
        InputStream input = new FileInputStream(new File(path));
        ContentHandler textHandler = new BodyContentHandler();
        Metadata metadata = new Metadata();
        AutoDetectParser parser = new AutoDetectParser();
        ParseContext context = new ParseContext();
        parser.parse(input, textHandler, metadata, context);
        result[0] = "Title: " + metadata.get(metadata.TITLE);
        result[1] = "Body: " + textHandler.toString();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (SAXException e) {
        e.printStackTrace();
    } catch (TikaException e) {
        e.printStackTrace();
    }

    return result;
}