本文概述
为了提取HTML文件的内容, Tika使用了HtmlParser。 HtmlParser是一个类, 用于提取HTML文件的内容和元数据。此类位于org.apache.tika.parser.html包中。它包含下表中列出的构造函数和方法。
正确的HtmlParser构造函数
Constructor | Description |
---|---|
公共HtmlParser() | 它用于创建类的实例。 |
公共HtmlParser(EncodingDetector encodingDetector) | 它通过获取EncodingDetector类的实例来创建HtmlParser类的实例。 |
Tika HtmlParser方法
Method | Description |
---|---|
公共Set <MediaType> getSupportedTypes(ParseContext上下文) | 当与给定的解析上下文一起使用时, 它返回此解析器支持的媒体类型集。 |
公共无效解析(InputStream流, ContentHandler处理程序, 元数据元数据, ParseContext上下文)引发IOException, SAXException, TikaException | 它将文档流解析为一系列XHTML SAX事件。 |
受保护的字符串mapSafeElement(字符串名称) | 它用于将安全HTML元素名称映射到语义XHTML等效项。 |
受保护的布尔值isDiscardElement(String name) | 它检查是否应放弃给定HTML元素内的所有内容, 而不是将其包括在解析输出中。 |
公共String mapSafeAttribute(String elementName, String attributeName) | 它使用HtmlMapper机制来自定义HTML映射。 |
@Field public void setExtractScripts(boolean extractScripts) | 它确定是否提取脚本实体中的内容。 |
公共布尔getExtractScripts() | 它用于获取提取的脚本。 |
Tika HTML文件提取示例
在此示例中, 我们正在提取HTML文件的内容和元数据。参见示例。
package tikaexample;
import java.io.IOException;
import java.io.InputStream;
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.html.HtmlParser;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.SAXException;
public class HtmlParse {
public static void main(final String[] args) throws IOException, SAXException, TikaException {
BodyContentHandler handler = new BodyContentHandler();
HtmlParser parser = new HtmlParser();
Metadata metadata = new Metadata();
ParseContext pcontext = new ParseContext();
try (InputStream stream = AutoDetectParseExample.class.getResourceAsStream("index.html")) {
parser.parse(stream, handler, metadata, pcontext);
}
System.out.println("Document Content:" + handler.toString());
System.out.println("Document Metadata:");
String[] metadatas = metadata.names();
for(String meta : metadatas) {
System.out.println(meta + ": " + metadata.get(meta));
}
}
}
输出
Document Content:
Hello, Welcome to srcmini.
Document Metadata:
dc:title: Index Page
Content-Encoding: ISO-8859-1
title: Index Page
Content-Type: text/html; charset=ISO-8859-1
评论前必须登录!
注册