使用jsoup获取图片的绝对网址时出错。
package org.zzz.parser;
import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class DocumentParser {
/**
* Parsing html from file
*/
public static void main(String[] args) {
String url = "www.guiabh.com.br/evento/back-in-jack-seu-madruga.aspx";
File input = new File("/home/thalesfc/Code/recSystem/wgetao/" + url);
Document doc = null;
// parsing the document
try {
doc = Jsoup.parse(input, "ISO8859-1", url);
} catch (IOException e) {
System.err.println("$ Erro ao fazer o parsing do arquivo: " + input.getName());
e.printStackTrace();
}
//getting the image url
Element image = doc.getElementById("ctl00_ContentPlaceHolderConteudo_controleInternoAgito1_imageFotoCasa");
String imageUrl = image.attr("src");
String imageRealUrl = image.absUrl("src");
String imageRealUrl2 = image.attr("abs:src");
System.out.println("# image: " + imageUrl);
System.out.println("# real image: " + imageRealUrl);
System.out.println("# real image 2: " + imageRealUrl2);
}
}
#image:../ imgs_cadastradas / seu madruga.jpg
#real image:
#real image 2:
理想的输出是:http://www.guiabh.com.br/imgs_cadastradas/seu madruga.jpg
我做错了吗?
答案 0 :(得分:0)
您正在查看“www.guiabh.com.br/evento/back-in-jack-seu-madruga.aspx”网址。
当你获得图片网址时,它以“../”开头,这意味着要点击一个lvl。
简而言之,它可以追溯到“www.guiabh.com.br/evento/”+图片网址。
它抛出错误,因为你试图在这里连接:“../imgs_cadastradas / seu madruga.jpg”
我希望有一种方法可以从您获取图像的位置获取URL,而不是预测我上面所说的内容。