[java] Jsoup의 Connection 객체 이해하기

Jsoup은 자바로 작성된 HTML 파싱 라이브러리로, 웹페이지에서 데이터를 추출하고 조작하는 기능을 제공합니다. Jsoup을 사용하여 웹페이지에 접속하고 데이터를 가져오기 위해서는 Connection 객체를 이해하는 것이 중요합니다. 이번 포스트에서는 Jsoup의 Connection 객체에 대해 알아보겠습니다.

Connection 객체란?

Connection 객체는 Jsoup을 사용하여 웹페이지에 접속할 때 사용되는 객체입니다. 이 객체는 웹페이지와의 연결을 설정하고, 데이터를 전송하고, 응답을 받는 등의 기능을 담당합니다. Connection 객체는 Jsoup의 connect() 메서드를 통해 생성되며, 웹페이지의 URL을 매개변수로 전달합니다.

Connection 설정하기

Connection 객체를 생성한 후에는 다양한 설정을 통해 접속 방식이나 타임아웃 등을 조절할 수 있습니다. 아래는 Connection 객체를 생성한 후에 설정을 변경하는 예시입니다.

Connection conn = Jsoup.connect("http://example.com")
    .userAgent("Mozilla/5.0")
    .timeout(5000)
    .method(Method.GET);

위 코드에서는 userAgent() 메서드를 사용하여 User-Agent를 설정하고, timeout() 메서드를 사용하여 타임아웃을 5초로 설정하였습니다. 또한, method() 메서드를 사용하여 GET 방식으로 요청을 설정하였습니다.

데이터 가져오기

Connection 객체를 설정한 후에는 get() 또는 post() 메서드를 사용하여 데이터를 가져올 수 있습니다. get() 메서드는 GET 방식으로 데이터를 가져오고, post() 메서드는 POST 방식으로 데이터를 전송합니다. 아래는 get() 메서드를 사용하여 웹페이지의 HTML 데이터를 가져오는 예시입니다.

Connection.Response response = conn.get();
String html = response.body();

위 코드에서는 get() 메서드를 호출하여 웹페이지의 응답을 받아온 후, body() 메서드를 사용하여 HTML 데이터를 가져옵니다. 이렇게 가져온 HTML 데이터를 이후에 파싱하여 필요한 데이터를 추출하거나 원하는 작업을 수행할 수 있습니다.

참고 자료

Jsoup 공식 문서: https://jsoup.org/

이상으로 Jsoup의 Connection 객체에 대해 알아보았습니다. Connection 객체를 이용하여 웹페이지에 접속하고 데이터를 가져오는 작업은 Jsoup을 사용하는데 필수적인 부분입니다. Connection 객체를 올바르게 설정하고 활용하여 웹크롤링 또는 데이터 추출 작업을 수행할 수 있습니다.