[java] Jsoup을 사용하여 웹페이지 내 목록 데이터 추출하기

이 글에서는 Jsoup 라이브러리를 사용하여 Java로 웹페이지에서 목록 데이터를 추출하는 방법을 알아보겠습니다.

1. Jsoup 라이브러리 추가

Jsoup은 웹크롤링 및 HTML 파싱에 사용되는 라이브러리입니다. 이를 사용하기 위해 먼저 프로젝트에 Jsoup 라이브러리를 추가해야 합니다.

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가합니다.

dependencies {
    implementation 'org.jsoup:jsoup:1.14.2'
}

Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가합니다.

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.14.2</version>
</dependency>

2. 웹페이지에서 목록 데이터 추출하기

다음은 Jsoup을 사용하여 웹페이지에서 목록 데이터를 추출하는 예제입니다.

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

public class WebScraper {
    public static void main(String[] args) {
        try {
            // 웹페이지 URL 설정
            String url = "http://example.com";

            // Jsoup을 사용하여 웹페이지 가져오기
            Document doc = Jsoup.connect(url).get();

            // 웹페이지에서 원하는 요소 선택하기
            Elements listItems = doc.select("ul#list li");

            // 추출한 데이터 출력하기
            for (Element listItem : listItems) {
                System.out.println(listItem.text());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위 예제에서는 http://example.com 웹페이지에서 ul 태그의 idlist인 목록에서 각 li 태그의 텍스트를 추출하여 출력합니다.

3. 실행 결과

위 예제를 실행하면 목록 데이터가 출력됩니다.

Item 1
Item 2
Item 3
...

이렇게 Jsoup을 사용하면 간단하게 웹페이지에서 목록 데이터를 추출할 수 있습니다.

참고 자료