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

웹 스크래핑은 웹페이지에서 데이터를 추출하는 프로세스입니다. Jsoup은 Java로 작성된 HTML 파서 라이브러리로, 웹페이지에서 데이터를 검색하고 추출하는 간편한 방법을 제공합니다.

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을 사용하여 웹페이지의 응답 데이터를 다운로드하는 예제입니다:

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

public class WebScraper {
    public static void main(String[] args) {
        try {
            // 웹페이지 URL을 지정합니다.
            String url = "https://www.example.com";

            // Jsoup을 사용하여 웹페이지의 HTML을 가져옵니다.
            Document doc = Jsoup.connect(url).get();

            // 웹페이지의 타이틀을 출력합니다.
            String title = doc.title();
            System.out.println("Title: " + title);

            // 웹페이지의 첫 번째 링크를 출력합니다.
            Element firstLink = doc.select("a").first();
            System.out.println("First Link: " + firstLink.attr("href"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 https://www.example.com 웹페이지의 타이틀과 첫 번째 링크를 출력합니다. Jsoup.connect(url) 메소드를 사용하여 웹페이지에 연결하고, .get() 메소드를 사용하여 HTML을 가져옵니다. 그런 다음 .select() 메소드로 필요한 요소를 선택하고, .attr() 메소드로 해당 요소의 속성 값을 가져올 수 있습니다.

위의 코드를 실행하면 다음과 같은 결과가 출력되어야 합니다:

Title: Example Domain
First Link: https://www.iana.org/domains/example

결론

Jsoup은 간편하고 유연한 기능을 제공하여 웹페이지로부터 데이터를 검색하고 추출하는 작업을 쉽게 수행할 수 있습니다. 위의 예제를 참고하여 웹페이지 응답 데이터를 다운로드하고 원하는 정보를 추출해보세요.

참고 문서: