반응형
jsoup 은 HTML parser 자바 라이브러리이다. jsoup 라이브러리를 이용하면 손쉽게 HTML내에서 원하는 데이터를 찾아 추출할 수 있다.
URL의 절대 경로를 얻고 싶을 경우 어떻게 해야 하는지 알아보자.
<body>
<a href="/articles/2">article2</a>
</body>
절대 경로 추출
기본적으로 a 태그의 href에 해당하는 값을 추출하는 방법은 아래와 같다.
Element link = doc.select("a").first();
String articleUrl = link.attr("href");
이렇게 하면 "/articles/2" 의 값을 얻을 수 있다.
절대 경로 URL을 추출하고 싶으면 속성 값 prefix로 abs: 를 붙이면 된다.
Element link = doc.select("a").first();
String articleUrl = link.attr("abs:href");
이렇게 하게 되면 "문서의 Base URI/articles/2" 의 값을 없을 수 있다.
만약 HTML String에서 절대 경로 URL 값을 추출하고 싶으면 Base URI를 직접 추가해줘야 한다.
String baseUri = "http://test.com";
String data = "<html><body>\n" +
" <a href=\"/articles/2\">article2</a>\n" +
"</body> \n" +
"</html>";
Document doc = Jsoup.parse(data, baseUri);
Element link = doc.select("a").first();
String articleUrl = link.attr("abs:href");
참고
반응형