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

이번 포스트에서는 Jsoup 라이브러리를 사용하여 웹페이지에서 제목 데이터를 추출하는 방법에 대해 알아보겠습니다. Jsoup은 HTML 파싱 라이브러리로, 자바로 작성되어 있으며 웹페이지의 HTML 구조를 쉽게 분석하고 조작할 수 있습니다.

Jsoup 라이브러리 가져오기

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

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 구문을 추가합니다:

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

웹페이지에서 제목 데이터 추출하기

이제 Jsoup을 사용하여 웹페이지에서 제목 데이터를 추출하는 간단한 예제 코드를 작성해보겠습니다. 다음 코드는 URL로부터 HTML을 가져오고, HTML에서 제목 태그(h1, h2, h3 등) 내용을 추출하는 내용입니다.

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

import java.io.IOException;

public class WebpageTitleExtractor {
    public static void main(String[] args) {
        try {
            // URL로부터 HTML 가져오기
            Document doc = Jsoup.connect("http://www.example.com").get();

            // 제목 태그 추출하기
            Elements titleTags = doc.getElementsByTag("h1");
            for (Element titleTag : titleTags) {
                String title = titleTag.text();
                System.out.println("제목: " + title);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서는 Jsoup.connect(...).get() 메서드를 사용하여 웹페이지의 HTML을 가져온 후, getElementsByTag(...) 메서드를 사용하여 제목 태그를 추출하였습니다. 추출한 제목 태그들은 text() 메서드를 사용하여 텍스트로 변환한 후 출력합니다.

실행 결과

위의 예제 코드를 실행하면 웹페이지에서 제목 태그를 추출하여 출력하는 결과를 얻을 수 있습니다. 예를 들어, http://www.example.com 웹페이지에서는 <h1> 태그를 포함하고 있지 않으므로 출력 결과는 없을 것입니다. 만약 웹페이지에서 여러 제목 태그가 있다면, 각각의 제목이 출력될 것입니다.

(실행결과 없음)

결론

이번 포스트에서는 Jsoup 라이브러리를 사용하여 웹페이지에서 제목 데이터를 추출하는 방법에 대해 알아보았습니다. Jsoup은 HTML 파싱 작업을 쉽게 처리할 수 있는 강력하고 유용한 도구입니다. 추가적으로 필요한 기능이 있다면 Jsoup의 공식 문서를 참조하여 사용해보세요.

참고 자료