2015-04-21 76 views
0

我是jsoup Java HTML解析器中的新成員。JAVA - 我需要更改JSOUP中絕對路徑的相對路徑

我有以下代碼:

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" 

代替ABSOL的ute path:

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

我該如何改變它?

答案是:

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

這並不取決於你,網頁是這樣寫的。如果你想獲得絕對路徑,你應該自己解析它,也就是在所有'Img [src]'標籤前添加'http://bestSite.com'。 – RafaelC

+0

你想要整個標籤還是隻是src路徑? – Vyncent

+0

只是src路徑。我明白,應該自己解析它通過添加bestSite.com之前所有的Img [src]標籤,但如何做到這一點?) – Dan

回答

2

在JSoup你可以得到絕對的,而不是相對的,但獲取的屬性,只有當:

所以,你可以這樣做:

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