[java] Jsoup을 사용하여 웹페이지 응답 데이터 타입 설정하기

웹 크롤링 또는 웹 스크래핑을 할 때는 Jsoup과 같은 라이브러리를 사용하면 편리하게 HTML 문서를 파싱할 수 있습니다. 이때, 웹페이지 응답 데이터의 타입을 설정해야 할 때도 있습니다. 이 글에서는 Jsoup을 사용하여 웹페이지 응답 데이터 타입을 설정하는 방법을 알아보겠습니다.

Jsoup 라이브러리 사용법

먼저, Jsoup을 사용하기 위해서는 해당 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용한다면 pom.xml 파일에 다음과 같이 의존성을 추가합니다.

<dependencies>
    <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.14.3</version>
    </dependency>
</dependencies>

Gradle을 사용한다면 build.gradle 파일에 다음과 같이 의존성을 추가합니다.

dependencies {
    implementation 'org.jsoup:jsoup:1.14.3'
}

의존성을 추가한 후에는 Jsoup을 사용하여 웹페이지를 파싱할 수 있습니다. 다음은 간단한 예제 코드입니다.

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class WebScraper {
    public static void main(String[] args) {
        try {
            String url = "https://example.com";
            Document doc = Jsoup.connect(url).get();
            System.out.println(doc.html());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위 예제에서는 https://example.com 주소의 웹페이지를 파싱하여 HTML 내용을 출력하는 코드입니다.

웹페이지 응답 데이터 타입 설정하기

Jsoup을 사용하여 웹페이지를 파싱할 때, 요청 시 데이터 타입을 설정할 수 있습니다. 예를 들어, JSON 형식의 데이터를 가져오고 싶다면 header를 설정하여 데이터 타입을 지정할 수 있습니다.

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class WebScraper {
    public static void main(String[] args) {
        try {
            String url = "https://example.com/api";
            Document doc = Jsoup.connect(url)
                    .header("Content-Type", "application/json")
                    .get();
            System.out.println(doc.html());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위 예제에서는 https://example.com/api 주소의 웹페이지를 JSON 형식으로 요청하고, 응답 데이터를 파싱하여 출력하는 코드입니다. header 메서드를 사용하여 Content-Type 헤더를 설정하고, 데이터 타입을 application/json으로 지정했습니다.

마무리

이제 Jsoup을 사용하여 웹페이지 응답 데이터 타입을 설정하는 방법을 알게 되었습니다. 필요에 따라 데이터 타입을 설정하여 웹페이지를 파싱해보세요. Jsoup의 다양한 기능을 활용하여 웹 크롤링이나 웹 스크래핑 작업을 더욱 편리하게 수행할 수 있습니다.

참고 자료