다음과 같은 코드를 이용해서 특정 url에 접근할 수 있다.
Document doc = Jsoup.connect("http://openapi.naver.com/search")
.data("key", API_KEY_NAVER_IMG_SEARCH)
.data("query", URLEncoder.encode(keyword, "UTF-8"))
.data("target", "image").data("start", "1")
.data("diplay", String.valueOf(count)).userAgent("Mozila")
.parser(Parser.xmlParser()).timeout(3000).get();
connect의 파라메터로, 접근할 URL을 작성하고
data 메소드를 이용해서 HTTP 접근시 이용할 파라메터를 추가해줄 수 있다.
XML 파싱을 할때의 가장 주의할 점은, parser를 xml파서로 꼭 지정을 해주어야한다는 점이다.
parser 메소드의 명시적 선언없이, 그냥 사용을 하면, 문서구조는 잘 불러와지나,
실제 필요한 데이터를 select하였을 시 빈 데이터값만 받아진다.
따라서, .parser를 xml파서로 등록을 해주고, 마지막에 HTTP METHOD에 맞는 함수를 호출하면 된다.
그 후 원하는 속성의 데이터를 불러오기 위해선,
Elements라는 객체와, Element 객체를 이용해서 데이터를 불러오게 되는데,
다음의 코드를 이용해서 불러올 수 있다.
Elements elements = doc.select("link");
System.out.println("elements = " + elements);
for (Element e : elements) {
System.out.println(e.text());
}
document 인스턴스에서, link라는 이름을 가진 노드를 가져와서 출력하는 코드이다.
select 메소드를 이용해서, 특정 문자열을 가진 노드를 가져올 수 있고,
노드 객체인 element의 text 메소드를 이용해서 실제 값을 받을 수 있다.
댓글 없음:
댓글 쓰기