【问题标题】:How to extract full URLs from all paragraphs in a webpage using jsoup如何使用 jsoup 从网页中的所有段落中提取完整的 URL
【发布时间】:2011-03-26 13:14:40
【问题描述】:

如何使用 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()));
        }
    }

【问题讨论】:

    标签: java html-parsing jsoup


    【解决方案1】:

    使用.absUrl("href") 而不是.attr("href")。这仅在您从网页获取文档或从磁盘解析 full 文件时有效(因此不要像示例中那样将部分从 HTML 转换为文本并返回)。

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

    【讨论】:

    • 我要取大写字母开头的单词,包括重音大写
    • 这是一个不同的问题(我不明白)。
    • @BalusC 只要您将基本 URI 传递给 parse 方法,您就可以在解析页面时获得完整的 URL。解析(字符串 html,字符串 baseUri)
    猜你喜欢
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多