[java] Jsoup을 사용하여 웹페이지 응답 데이터 인코딩 방식 설정하기

웹 크롤링을 할 때, Jsoup은 매우 유용한 라이브러리입니다. 그러나 때로는 웹페이지의 응답 데이터가 올바른 인코딩 방식으로 설정되지 않을 수 있습니다. 이러한 경우, Jsoup을 사용하여 인코딩 방식을 수동으로 설정해야 합니다.

Jsoup을 이용한 웹페이지 데이터 요청 예제

다음은 Jsoup을 사용하여 웹페이지의 데이터를 요청하는 예제입니다.

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;

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

이 예제에서는 Jsoup.connect() 메소드를 사용하여 웹페이지에 연결하고, Jsoup.connect(url).get()을 호출하여 응답 데이터를 얻습니다. 그런 다음 doc.html()을 사용하여 HTML 코드를 얻고 출력합니다.

웹페이지 응답 데이터 인코딩 방식 설정하기

만약 웹페이지의 응답 데이터가 올바른 인코딩 방식으로 설정되지 않았다면, Jsoup을 사용하여 수동으로 인코딩 방식을 설정해야 합니다. 아래 예제는 UTF-8 인코딩 방식을 사용하여 웹페이지의 응답 데이터를 가져오는 방법을 보여줍니다.

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;

public class WebPageParser {
    public static void main(String[] args) {
        String url = "https://www.example.com";
        
        try {
            Document doc = Jsoup.connect(url).get();
            doc.outputSettings().charset("UTF-8");
            String html = doc.html();
            
            System.out.println(html);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 doc.outputSettings().charset("UTF-8")을 사용하여 Jsoup의 출력 설정을 UTF-8로 설정합니다. 이렇게 설정하면 Jsoup은 웹페이지의 응답 데이터를 UTF-8 인코딩으로 처리합니다.

결론

Jsoup을 사용하여 웹페이지의 응답 데이터 인코딩 방식을 설정하는 방법에 대해 알아보았습니다. 이를 활용하여 정확한 인코딩 방식을 설정하여 웹 크롤링 작업을 수행할 수 있습니다. 자세한 내용은 Jsoup 공식 문서를 참조하시기 바랍니다.