[java] Jsoup을 사용하여 웹페이지 응답 타임아웃 설정하기
웹 크롤링을 할 때, 특정 웹 페이지가 응답하지 않을 경우 대기 시간이 오래 걸리거나 프로그램이 멈출 수 있습니다. 이러한 문제를 해결하기 위해 Jsoup 라이브러리를 사용하여 웹페이지 응답 타임아웃을 설정할 수 있습니다.
Jsoup란?
Jsoup은 HTML을 파싱하고 조작하는 Java 라이브러리입니다. Jsoup을 사용하면 웹 크롤링, HTML 데이터 추출, 웹 스크래핑 등을 쉽게 할 수 있습니다.
웹페이지 응답 타임아웃 설정하기
Jsoup을 사용하여 웹페이지 응답 타임아웃을 설정하려면 Connection
객체를 생성하고 timeout()
메서드를 호출하여 타임아웃 값을 설정하면 됩니다.
다음은 Jsoup을 사용하여 웹페이지 응답 타임아웃을 설정하는 예제입니다.
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class WebPageCrawler {
public static void main(String[] args) {
try {
// 웹페이지 URL
String url = "https://example.com";
// Connection 객체 생성
Connection conn = Jsoup.connect(url)
.timeout(5000); // 5초 타임아웃 설정
// 웹페이지 요청 및 HTML 파싱
Document doc = conn.get();
// 파싱된 HTML 데이터 처리
// ...
} catch (Exception e) {
e.printStackTrace();
}
}
}
위 예제에서는 timeout(5000)
메서드를 사용하여 5초 타임아웃을 설정하고 있습니다. 즉, 웹페이지가 5초 이내에 응답하지 않으면 예외가 발생합니다.
결론
Jsoup을 사용하여 웹페이지 응답 타임아웃을 설정하면 크롤링 프로그램이 웹페이지 응답을 기다리는 시간을 제한할 수 있습니다. 이를 통해 프로그램의 성능을 향상시키고 예외 상황에서도 안정적으로 동작할 수 있습니다.