2012-01-13 3 views
2

나는 이와 같이 보이는 HTML 코드가 있습니다.JSoup - 메타 데이터에서 URL 가져 오기

<html><head><meta http-equiv="refresh" content="0;url=http://www.abc.com/event"/></head></html> 

JSoup을 사용하여이 HTML을 구문 분석하고 URL 값을 가져오고 싶습니다. 어떻게해야합니까?

답변

3

입력을 구문 분석하고 전체 대상 텍스트 검색 :

Document doc = Jsoup.parse("<html><head><meta http-equiv=\"refresh\" " + 
     "content=\"0;url=http://www.abc.com/event\"/></head></html>"); 
String content = doc.getElementsByTag("meta").get(0).attr("content"); 

추출 URL 부분 만 :

System.out.println(content.split("=")[1]); 
5

혼자서 내용을 분석해야합니다. 이런 식으로 뭔가 :

Elements refresh = document.head().select("meta[http-equiv=refresh]"); 
if (!refresh.isEmpty()) { 
     Element element = refresh.get(0); 
     String content = element.attr("content"); 
     // split the content here 
     Pattern pattern = Pattern.compile("^.*URL=(.+)$", Pattern.CASE_INSENSITIVE); 
     Matcher matcher = pattern.matcher(content); 
     if (matcher.matches() && matcher.groupCount() > 0) { 
      String redirectUrl = matcher.group(1); 
     } 
}