【问题标题】:How to extract absolute URLs from a webpage?如何从网页中提取绝对 URL?
【发布时间】:2013-09-11 13:59:24
【问题描述】:

我正在尝试获取 HTML 网页中的所有 URL。这个函数我写了

public static List<String> getURLs(String url){
        List<String> urls = new ArrayList<String>();
        try{
              Document doc2 = Jsoup.connect("http://"+url)
                      .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
                        .timeout(20000)
                        .get();

              String bodyHTML= doc2.select("body").get(0).html();
              Pattern pattern =
                    Pattern.compile("(<a [^>]*href=['\"]?|<img[^> ]* src=['\"]?)");

                    Matcher matchs = pattern.matcher(bodyHTML);
                   while( matchs.find()){
                     System.out.println("Match Found "+bodyHTML.substring( matchs.start(), matchs.end()));
                    urls.add(bodyHTML.substring( matchs.start(), matchs.end()));
                    }
                   return urls;



          }
          catch (Exception e)
          {
              e.printStackTrace();
          }finally
          {
              return urls; 
          }


    }

我想访问这些 URL 所引用的页面。但是提取的某些 URL 可能是相对的。有没有一种简单的方法来判断一个 URL 是否是绝对的?如果不是,考虑到我有一个基本 URL,我该如何创建一个。

【问题讨论】:

    标签: java url html-parsing


    【解决方案1】:

    你可以试试这个:-

    String bodyHTML = doc2.select("body").absUrl("href");
    

    签出this

    得到Thread的帮助

    【讨论】:

    • absURL() 函数是可行的方法,但此代码不正确。
    • 我使用了这段代码 Elements links=doc2.select("a"); for(int k=0;k
    猜你喜欢
    • 2015-01-02
    • 2018-11-22
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    相关资源
    最近更新 更多