[java] Jsoup을 사용하여 웹페이지 내 텍스트 추출하기

Java로 웹 크롤링을 할 때, Jsoup은 매우 유용한 라이브러리입니다. Jsoup을 사용하면 HTML 문서를 파싱하고 웹페이지 내의 텍스트를 추출할 수 있습니다. 이번 포스트에서는 Jsoup을 사용하여 웹페이지의 텍스트를 추출하는 방법에 대해 알아보겠습니다.

1. Jsoup 라이브러리 추가하기

먼저, 프로젝트에 Jsoup 라이브러리를 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음과 같이 의존성을 추가합니다.

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

Gradle을 사용한다면, build.gradle 파일에 다음과 같이 의존성을 추가합니다.

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

의존성을 추가한 후에는 해당 라이브러리를 사용할 수 있습니다.

2. 웹페이지 내 텍스트 추출하기

다음은 웹페이지 내의 텍스트를 추출하는 간단한 예제 코드입니다.

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

public class WebPageTextExtractor {
    public static void main(String[] args) throws Exception {
        // 웹페이지 URL
        String url = "https://www.example.com";

        // Jsoup을 사용하여 웹페이지를 파싱합니다.
        Document doc = Jsoup.connect(url).get();

        // 웹페이지 내의 모든 텍스트 요소를 선택합니다.
        Elements elements = doc.select("body").select("*:not(script)");

        // 텍스트 요소의 내용을 출력합니다.
        for (Element element : elements) {
            // 필요한 경우, 특정 태그의 텍스트를 추출하고 싶다면 element.select("태그이름")을 사용합니다.
            System.out.println(element.text());
        }
    }
}

위의 코드를 실행하면, 지정한 URL의 웹페이지 내에 있는 모든 텍스트가 출력됩니다.

3. 결과 확인하기

위의 코드를 실행한 후, 콘솔 출력을 확인하면 웹페이지에서 추출한 텍스트를 볼 수 있습니다. 이를 통해 Jsoup을 사용하여 웹페이지 내 텍스트를 추출하는 방법을 익힐 수 있습니다.

결론

이번 포스트에서는 Jsoup을 사용하여 웹페이지 내 텍스트를 추출하는 방법에 대해 알아보았습니다. Jsoup은 간편한 문법으로 HTML 파싱을 제공하므로 웹 크롤링에 매우 유용한 도구입니다. Jsoup의 다양한 기능을 활용하여 웹페이지 내 다른 요소들도 추출해볼 수 있습니다.