JSOUP: error al obtener la URL absoluta de la imagen

Recibo un error al usar jsoup para obtener la URL absoluta de la imagen.

código:

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);
    }
}

salida:

# imagen: ../imgs_cadastradas/seu madruga.jpg

# imagen real:

#imagen real 2:

La salida deseable es: http://www.guiabh.com.br/imgs_cadastradas/seu madrugada.jpg

¿¿Estoy haciendo algo mal??

preguntado el 27 de julio de 12 a las 18:07

1 Respuestas

Estás buscando en la URL "www.guiabh.com.br/evento/back-in-jack-seu-madruga.aspx".

Cuando obtienes la url de la imagen, comienza con "../", lo que significa hornear un lvl.

En pocas palabras, vuelve a "www.guiabh.com.br/evento/" + la URL de la imagen.

Me tira el error porque estas intentando conectarte aqui: "../imgs_cadastradas/seu madruga.jpg"

Aconsejaría tener un método para obtener la URL de donde obtuviste la imagen, y luego anticipar lo que dije anteriormente.

Respondido 27 Jul 12, 21:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.