[java] Jsoup을 사용하여 웹페이지 내 특정 요소 스타일 변경하기

이번에는 Jsoup 라이브러리를 사용하여 웹페이지 내에서 특정 요소의 스타일을 변경하는 방법을 알아보겠습니다. Jsoup은 자바로 작성된 HTML 파싱 라이브러리로, 웹페이지의 HTML 코드를 가져와서 이를 다룰 수 있게 해줍니다.

1. Jsoup 라이브러리 설정

먼저, 프로젝트에서 Jsoup 라이브러리를 사용하기 위해 Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 Jsoup을 프로젝트에 추가해야 합니다. 아래는 Maven을 사용하는 경우의 예시입니다.

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

2. 웹페이지에서 HTML 코드 가져오기

Jsoup을 사용하여 특정 웹페이지의 HTML 코드를 가져오려면, connect() 메소드를 사용하여 해당 URL에 연결해야 합니다. 아래는 예시입니다.

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 Main {
    public static void main(String[] args) {
        try {
            // 연결할 URL 설정
            String url = "https://example.com";
            
            // Jsoup을 사용하여 연결
            Document document = Jsoup.connect(url).get();
            
            // HTML 코드 출력
            System.out.println(document.html());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서는 https://example.com에 접속하여 해당 웹페이지의 HTML 코드를 가져와 출력하는 예시입니다.

3. 특정 요소의 스타일 변경하기

이제 가져온 HTML 코드에서 특정 요소의 스타일을 변경하는 방법을 알아보겠습니다. Jsoup에서는 CSS 선택자를 사용하여 원하는 요소를 선택할 수 있습니다. 선택한 요소의 속성을 변경하여 스타일을 조작할 수 있습니다. 아래는 예시입니다.

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 Main {
    public static void main(String[] args) {
        try {
            // 연결할 URL 설정
            String url = "https://example.com";
            
            // Jsoup을 사용하여 연결
            Document document = Jsoup.connect(url).get();
            
            // 특정 요소 선택하여 스타일 변경
            Element element = document.select("h1").first();
            element.attr("style", "color: red; font-size: 24px;");
            
            // 변경된 HTML 코드 출력
            System.out.println(document.html());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서는 h1 요소를 선택하여 colorfont-size 속성을 변경하여 스타일을 조작하는 예시입니다. 이후 변경된 HTML 코드를 출력합니다.

마무리

이와 같이 Jsoup 라이브러리를 사용하여 웹페이지 내에서 특정 요소의 스타일을 변경할 수 있습니다. Jsoup을 사용하면 웹크롤링 및 데이터 추출 작업에 유용하게 활용할 수 있으므로, 필요한 경우에는 Jsoup을 고려해보세요.

References