如何使用jsoup从网页中的所有段落中提取完整的URL

时间:2011-03-26 13:14:40

标签: java html-parsing jsoup

如何使用jsoup从网页上的所有段落中提取完整的URL?我只能提取相对URL。

预期: http://fr.wikipedia.org/wiki/Husni_al-Zaim

实际: /Husni_al-Zaim

我的代码:

    Elements links = doc.select("p");
    Elements linkss = links.select("a");

    for (Element link : linkss) {
        if (link.text().matches("^[A-Z].+") == true) {
            list.add(new NamedLink(link.attr("href"), link.text()));
        }
    }

1 个答案:

答案 0 :(得分:1)

使用.absUrl("href")代替.attr("href")。这仅适用于从网页获取文档或从磁盘解析完整文件的情况(因此不会按照示例中的方式将部分从HTML按到文本并返回)。

Document document = Jsoup.connect("http://stackoverflow.com").get();
Elements paragraphLinks = document.select("p a");
for (Element paragraphLink : paragraphLinks) {
    String absUrl = paragraphLink.absUrl("href");
    // ...
}