2016년 1월 29일 금요일

[JAVA] :: Jsoup을 이용한 HTML페이지 Parsing

최근에 HTML페이지를 Parsing하여 페이지 이미지를 추출해 컴퓨터에 저장하는 일이 생겨

찾아보다가 알게된 Jsoup에 사용법에 대해 남겨 놓으려고 한다.

pom.xml
<dependency>
  <!-- jsoup HTML parser library @ http://jsoup.org/ -->
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.8.3</version>

</dependency>

최신버전으로 Maven pom에 등록후 사용이 가능하다.

Document doc = Jsoup.connect(url)
   .timeout(0)
   .ignoreContentType(true)
   .get();

을 호출하면 Document Object로 HTML코드들이 반환된다.

String imgUrl = doc.select("#IMG1").attr("src");

추출하고자하는 HTML field의 ID or Tag name or css등으로 원하는 부분을 Select할 수 있다.

그리고 해당 태그의 속성의 값만을 추출할 수도있다 .attr을 사용함으로써.

끝이다. 매우 간단하다..

몇몇 사이트는 페이지를 Jsoup로 호출하면 416 에러가 발생하면서 robot으로 인식하여 페이지 접근을 막아놓은 사이트들이 있다.

그럴땐 .userAgent("로봇이름") 으로 증명하면된다. 왠만하면 나는 google robot입니다 라고 보내면 거의다 통과된다.

Jsoup를 이용하여 로그인후 이용해야하는 페이지 역시 Parsing할 수있다.
.data("필드 이름","필드 값"); 을 사용하면 접근이 가능하다.

이상이다. 

댓글 없음:

댓글 쓰기

[XBMC] Kodi Ondemandkorea addon 0.5.7

안녕하세요. 개발자 분께서 XBMC OnDemandkorea Addon 0.5.7 버전을 업데이트 해주셨네요 :) 모든분들 여기 가셔서 받으시면 될꺼같습니다. 그럼 모두 즐거운 KODI되세요 :)) LINK