[java] Jsoup을 사용하여 웹페이지 요청 시간 설정하기

웹 크롤링 또는 웹 스크래핑을 수행할 때, Jsoup은 매우 유용한 자바 라이브러리입니다. 그러나 기본적으로 Jsoup은 웹페이지 요청 시간에 제한을 두고 있지 않습니다. 이는 경우에 따라서는 문제가 될 수 있습니다. 예를 들어, 웹페이지가 응답이 없거나 매우 느린 경우에 프로그램이 늦게 종료되어야 하는데, Jsoup은 기본적으로 무기한 대기하게 됩니다.

그러나 다행히도 Jsoup을 사용하여 웹페이지 요청 시간을 설정할 수 있습니다. 아래의 예제 코드를 통해 웹페이지 요청 시간을 설정하는 방법을 알아보겠습니다.

의존성 추가하기

먼저, Maven 프로젝트를 사용하는 경우 pom.xml 파일에 다음과 같이 Jsoup 의존성을 추가해야 합니다.

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

웹페이지 요청 시간 설정하기

다음은 Jsoup을 사용하여 웹페이지 요청 시간을 설정하는 예제 코드입니다.

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

import java.io.IOException;

public class WebPageRequestTimeoutExample {
    public static void main(String[] args) {
        String url = "https://example.com";
        int timeoutMillis = 5000; // 요청 시간 제한을 5초로 설정

        try {
            Connection connection = Jsoup.connect(url).timeout(timeoutMillis);
            Document document = connection.get();

            // 웹페이지 내용을 처리하는 로직 작성
            // ...

        } catch (IOException e) {
            // 예외 처리
            e.printStackTrace();
        }
    }
}

위의 예제 코드에서는 Jsoup.connect(url) 메서드를 호출하여 연결(Connection) 객체를 얻고, timeout(timeoutMillis) 메서드를 사용하여 웹페이지 요청 시간을 설정합니다. 이 예제에서는 요청 시간을 5초로 설정하였습니다.

결론

Jsoup을 사용하여 웹페이지 요청 시간을 설정하는 방법에 대해 알아보았습니다. 요청 시간을 설정함으로써 웹크롤링 또는 웹 스크래핑 작업을 보다 안정적으로 수행할 수 있습니다.