JAVA - 我需要在 JSOUP 中将相对路径更改为绝对路径

JAVA - I need to change relative paths to absolut paths in JSOUP

我是 jsoup 的新手 Java HTML 解析器。

我有以下代码:

String url =”http://bestSite.com”;
  try{
Document document = Jsoup.connect(url).get();
File input = new File("/somePath/output.html");
PrintWriter writer = new PrintWriter(input, "UTF-8");
Elements element = document.getElementsByClass(“logo”);
  writer.write(element.outerHtml());
  writer.flush();
  writer.close();
}

output.html

我收到相对路径:

<img src="/images/fun.png" 

而不是绝对路径:

<img src=”http://bestSite.com/image/fun.png”

如何更改?

The answer is:

Elements media = document.select("img[src]");
for (Element src : media) {
src.attr("src", src.absUrl("src"));
}

在 JSoup 中,您可以获得绝对值而不是相对值,但只有在检索属性时才可以:

String relativeSrc = elment.attr("src");
String absoluteSrc = elment.attr("abs:src");

所以你可以这样做:

for (Element element : elements) {
     String absoluteSrc = elment.attr("abs:src");       
}