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