HTML Web ページのすべての 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があることを考慮して、どうすれば作成できますか。