1

我正在尝试获取 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,我该如何创建一个。

4

1 回答 1

1

你可以试试这个: -

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

看看这个

得到了Thread的帮助

于 2013-09-07T16:04:36.023 回答