问题描述
我是 Tika 的新手,很难理解它。 我想要实现的是提取 HTML 页面(可以是任何网页)的链接的 href。
对于试用版,我只是尝试使用 XPath 提取链接(甚至只是第一个)。但是我永远做对了,处理程序总是空的。
(在本例中,我删除了 XHTML:
namspace 位,否则我会遇到 SAX 错误)。
代码示例如下。非常感谢您的帮助:)
XPathParser xhtmlParser = new XPathParser ("xhtml",XHTMLContentHandler.XHTML);
org.apache.tika.sax.xpath.Matcher anchorLinkContentMatcher = xhtmlParser.parse("//body//a");
ContentHandler handler = new MatchingContentHandler(
new ToXMLContentHandler(),anchorLinkContentMatcher);
HtmlParser parser = new HtmlParser();
Metadata Metadata = new Metadata();
ParseContext pcontext = new ParseContext();
try {
parser.parse(urlContentStream,handler,Metadata,pcontext);
System.out.println(handler);
}
catch (Exception e)
{
....
}
解决方法
我找到了一个答案(至少为了让一些东西可以工作,即使还不是最终版本,我从处理程序那里得到了一些东西)。 答案在java tika how to convert html to plain text retaining specific element