微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Apache Tika和 XPath解析随机 HTML 页面

如何解决如何使用 Apache Tika和 XPath解析随机 HTML 页面

我是 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。