Java 如何使用ApacheTika(和XPath)解析随机HTML页面

Java 如何使用ApacheTika(和XPath)解析随机HTML页面,java,html,apache-tika,Java,Html,Apache Tika,我是蒂卡的新手,一直在努力理解它。 我想要实现的是提取HTML页面(可以是任何网页)的链接href 对于试用版,我只是尝试使用XPath提取链接(甚至是第一个链接)。但我永远都做不好,处理器总是空的。 (在本例中,我删除了XHTML:namspace位,因为否则我会出现SAX错误) 下面是代码示例。非常感谢您的帮助:) 我找到了一个答案(至少是为了让某些东西起作用,即使还没有最终版本,我也从处理程序那里得到了一些东西)。 答案是 XPathParser xhtmlParser = new XPa

我是蒂卡的新手,一直在努力理解它。 我想要实现的是提取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)
{
....
}