如何获取没有文件的绝对URL路径

时间:2015-02-23 10:07:39

标签: java file url jsoup absolute-path

我需要获取链接的绝对路径而不链接到文件。我有这个代码,让我链接和一些链接丢失。

public class Main {

public static void main(String[] args) throws Exception {
    URI uri = new URI("http://www.niocchi.com/");
    printURLofPages(uri);
}

private static void printURLofPages(URI uri) throws IOException {
    Document doc = Jsoup.connect(uri.toString()).get();
    Elements links = doc.select("a[href~=^[^#]+$]");

    for (Element link : links) {
        String href = link.attr("abs:href");
        URL url = new URL(href);
        String path = url.getPath();
        int lastdot = path.lastIndexOf(".");
        if (lastdot > 0) {
            String extension = path.substring(lastdot);
            if (!extension.equalsIgnoreCase(".html") && !extension.equalsIgnoreCase(".htm"))
                return;
        }
        System.out.println(href);
    }
}
}

此代码为我提供以下链接:

http://www.enormo.com/
http://www.vitalprix.com/
http://www.niocchi.com/javadoc
http://www.niocchi.com/

我需要这个链接:

http://www.enormo.com/
http://www.vitalprix.com/
http://www.niocchi.com/javadoc
http://www.linkedin.com/in/flmommens
http://www.linkedin.com/in/ivanprado
http://www.linkedin.com/in/marcgracia
http://es.linkedin.com/in/tdibaja
http://www.linkody.com
http://www.niocchi.com/

非常感谢您的建议。

1 个答案:

答案 0 :(得分:1)

而不是

String href = link.attr("href");

String href = link.attr("abs:href");

编辑文档:http://jsoup.org/cookbook/extracting-data/working-with-urls

相关问题