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

Jsoup은 Java에서 HTML 웹페이지를 파싱하고 조작하기 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하면 웹페이지의 내용을 쉽게 추출하고 저장할 수 있습니다. 이번 포스트에서는 Jsoup을 사용하여 웹페이지의 응답 데이터를 저장하는 방법에 대해 알아보겠습니다.

1. Jsoup 라이브러리 추가하기

먼저, 프로젝트에 Jsoup 라이브러리를 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가해주세요.

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가해주세요.

implementation 'org.jsoup:jsoup:1.14.1'

의존성 추가 후, 프로젝트를 빌드하면 Jsoup을 사용할 준비가 끝납니다.

2. 웹페이지 데이터 저장하기

이제 Jsoup을 사용하여 웹페이지의 응답 데이터를 저장하는 방법에 대해 알아보겠습니다. 다음은 간단한 예제 코드입니다.

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

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WebPageDownloader {

    public static void main(String[] args) {
        String url = "https://www.example.com";
        String fileName = "response.html";

        try {
            // 웹페이지에 접속하여 응답 데이터 가져오기
            Document doc = Jsoup.connect(url).get();
            
            // 응답 데이터를 파일에 저장하기
            try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
                writer.write(doc.html());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서는 https://www.example.com에 접속하여 응답 데이터를 가져온 후, response.html 파일에 저장합니다. Jsoup.connect(url).get()을 통해 웹페이지에 접속하고, doc.html()을 통해 응답 데이터를 문자열로 얻을 수 있습니다. 그리고 BufferedWriter를 사용하여 파일에 응답 데이터를 저장합니다.

3. 실행 결과 확인하기

위 예제 코드를 실행하면, response.html 파일에 해당 웹페이지의 HTML 내용이 저장됩니다. 파일을 열어 내용을 확인해보세요.

결론

이번 포스트에서는 Jsoup을 사용하여 웹페이지의 응답 데이터를 저장하는 방법을 알아보았습니다. Jsoup은 간편하게 HTML 웹페이지를 파싱하고 조작할 수 있는 강력한 도구입니다. 웹 크롤링이나 데이터 스크래핑 등 다양한 웹 관련 작업에 Jsoup을 활용해보세요.

참고자료