JSOUP:获取图像的绝对URL时出错

时间:2012-07-27 17:48:50

标签: image url jsoup absolute

使用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

我做错了吗?

1 个答案:

答案 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,而不是预测我上面所说的内容。