我下载了 tika-core 和 tika-parser 库,但我找不到将 HTML 文档解析为字符串的示例代码。我必须摆脱网页源代码的所有 html 标签。我能做些什么?如何使用 Apache Tika 进行编码?
问问题
19177 次
2 回答
20
您想要纯文本版本的 html 文件吗?如果是这样,您所需要的只是:
InputStream input = new FileInputStream("myfile.html");
ContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
new HtmlParser().parse(input, handler, metadata, new ParseContext());
String plainText = handler.toString();
BodyContentHandler 在没有构造函数参数或字符限制的情况下创建时,将(仅)捕获 html 正文的文本并将其返回给您。
于 2011-04-02T10:15:39.013 回答
1
您还可以使用 Tika AutoDetectParser 来解析任何类型的文件,例如 HTML。这是一个简单的例子:
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);
System.out.println("Title: " + metadata.get(metadata.TITLE));
System.out.println("Body: " + textHandler.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (TikaException e) {
e.printStackTrace();
}
于 2014-08-12T22:51:17.370 回答