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