[java] Jsoup을 사용하여 웹페이지 응답 데이터 출력하기

웹 크롤링이나 스크래핑을 하려면 웹페이지의 HTML을 파싱해서 필요한 데이터를 추출해야 합니다. Java에서는 Jsoup이라는 라이브러리를 사용하여 간단하게 웹페이지 응답 데이터를 가져올 수 있습니다. 이번 포스트에서는 Jsoup을 사용하여 웹페이지의 응답 데이터를 출력하는 방법을 소개하겠습니다.

Jsoup 설치

먼저, Jsoup을 사용하기 위해서는 해당 라이브러리를 추가로 설치해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 아래와 같이 <dependency>를 추가합니다.

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.13.1</version>
</dependency>

Gradle을 사용하는 경우, build.gradle 파일에 아래와 같이 의존성을 추가합니다.

implementation group: 'org.jsoup', name: 'jsoup', version: '1.13.1'

웹페이지 응답 데이터 가져오기

아래는 Jsoup을 사용하여 특정 URL의 웹페이지 응답 데이터를 가져와서 출력하는 예제 코드입니다.

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class WebPageParser {
    public static void main(String[] args) {
        String url = "https://example.com";  // 가져올 웹페이지의 URL

        try {
            // Jsoup을 사용하여 웹페이지 응답 데이터를 가져옴
            Document doc = Jsoup.connect(url).get();

            // 가져온 데이터를 원하는 방식으로 파싱하여 출력
            Elements elements = doc.select("p");  // <p> 태그의 데이터만 추출
            for (Element element : elements) {
                System.out.println(element.text());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 예제 코드에서는 Jsoup.connect(url).get()을 사용하여 해당 URL에 GET 요청을 보내고, doc.select("p")를 사용하여 p 태그의 데이터만 추출합니다. 추출한 데이터는 반복문을 통해 하나씩 출력됩니다.

실행 결과

위의 예제 코드를 실행하면, 해당 웹페이지의 <p> 태그에 들어있는 텍스트 데이터가 출력됩니다. 가져올 웹페이지의 URL을 위의 예제 코드에서 https://example.com 부분에 원하는 URL로 변경하면 됩니다.