[java] HttpClient를 사용하여 웹페이지 크롤링하는 방법은?
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class WebCrawler {

    public static void main(String[] args) {
        HttpClient client = HttpClientBuilder.create().build();
        HttpGet request = new HttpGet("https://www.example.com");

        try {
            HttpResponse response = client.execute(request);

            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(response.getEntity().getContent()));

            String line = "";
            StringBuilder content = new StringBuilder();
            while ((line = reader.readLine()) != null) {
                content.append(line + "\n");
            }

            System.out.println(content.toString());

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드는 HttpClient를 사용하여 https://www.example.com의 웹페이지 내용을 가져오는 간단한 예제입니다. HttpClient를 사용하기 위해서는 httpclient 라이브러리를 프로젝트에 추가해야 합니다.

이 코드는 Apache HttpClient를 이용하여 GET 요청을 보내고, 응답 내용을 받아와서 출력하는 내용을 담고 있습니다. 결과적으로 https://www.example.com의 웹페이지 내용이 콘솔에 출력되게 됩니다.

HttpClient를 사용하면 웹페이지의 HTML 소스 코드를 가져올 수 있을 뿐만 아니라, 요청 헤더나 POST 파라미터를 설정하여 데이터를 전송하거나 페이지의 상태 코드 등 다양한 정보를 확인할 수도 있습니다.

이 예제 코드를 참고하셔서 HttpClient를 사용하여 웹페이지 크롤링에 활용해보시길 바랍니다.