[java] Jsoup을 사용하여 웹페이지 테이블 크롤링하기

웹 크롤링은 웹페이지에서 데이터를 추출하는 프로세스를 말합니다. 웹 크롤링은 다양한 목적으로 사용되지만, 주로 데이터 수집과 분석에 활용됩니다. 이번 블로그 포스트에서는 Java 프로그래밍 언어 및 Jsoup 라이브러리를 사용하여 웹페이지의 테이블 데이터를 크롤링하는 방법에 대해 알아보겠습니다.

Jsoup 라이브러리란?

Jsoup은 Java로 작성된 HTML 파서로서, 웹페이지의 HTML 구조를 파싱하고 조작하는 데 사용됩니다. Jsoup은 간결하고 직관적인 API를 제공하여 HTML 파싱과 조작이 쉽게 이루어질 수 있습니다.

웹페이지에서 테이블 데이터 크롤링하기

먼저, Jsoup 라이브러리를 프로젝트에 추가해야합니다. Maven 또는 Gradle을 사용하는 경우, 다음 종속성을 추가하세요.

Maven:

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

Gradle:

implementation 'org.jsoup:jsoup:1.14.3'

다음은 웹페이지에서 테이블 데이터를 크롤링하는 예제 코드입니다.

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

public class TableCrawler {
    public static void main(String[] args) {
        try {
            // 크롤링할 웹페이지 URL 설정
            String url = "https://example.com";

            // Jsoup을 사용하여 HTML 문서를 가져옴
            Document doc = Jsoup.connect(url).get();

            // 테이블 태그 선택
            Elements tables = doc.select("table");

            // 테이블 순회
            for (Element table : tables) {
                // 테이블의 행(tr) 선택
                Elements rows = table.select("tr");

                // 행 순회
                for (Element row : rows) {
                    // 행의 셀(td) 선택
                    Elements cells = row.select("td");

                    // 셀 순회
                    for (Element cell : cells) {
                        // 셀의 내용 출력
                        System.out.println(cell.text());
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서는 Jsoup을 사용하여 지정된 URL의 HTML 문서를 가져옵니다. 그런 다음 테이블 태그를 선택하고 행과 셀을 순회하며 내용을 출력합니다.

참고 자료

이제 웹페이지의 테이블 데이터를 크롤링하는 방법을 알았습니다. Jsoup은 매우 강력한 도구이며, HTML 문서에서 원하는 데이터를 쉽게 추출할 수 있도록 도와줍니다. 앞으로 Jsoup을 활용하여 웹 크롤링에 대한 더 많은 기능을 탐구해보시기 바랍니다.