我想从 HTML 文件中提取完整链接。完整链接我的意思是绝对链接。为此,我使用了 Tika。这是我的代码:
URL url = new URL("http://www.domainname.com/");
InputStream input = url.openStream();
LinkContentHandler linkHandler = new LinkContentHandler();
ContentHandler textHandler = new BodyContentHandler();
ToHTMLContentHandler toHTMLHandler = new ToHTMLContentHandler();
TeeContentHandler teeHandler = new TeeContentHandler(linkHandler,
textHandler, toHTMLHandler);
Metadata metadata = new Metadata();
ParseContext parseContext = new ParseContext();
HtmlParser parser = new HtmlParser();
parser.parse(input, teeHandler, metadata, parseContext);
System.out.println("title:\n" + metadata.get("title"));
for (Link link : linkHandler.getLinks()) {
System.out.println(link.getUri());
}
这给了我像 /index.html 或documents/US/economicreport.html 这样的相对网址,但在这种情况下,绝对网址是http://domainname.com/index.html。
如何正确获取所有链接意味着包括域名的完整链接?我怎样才能在 Java 中做到这一点?