[java] Jsoup을 사용하여 웹페이지 내 특정 요소 속성값 삭제하기

이번에는 Jsoup 라이브러리를 사용하여 웹페이지 내에서 특정 요소의 속성값을 삭제하는 방법에 대해 알아보겠습니다.

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

먼저, Jsoup 라이브러리를 Maven 또는 Gradle을 통해 프로젝트에 추가해야 합니다. 아래는 Maven을 사용하는 경우의 dependency 설정 예시입니다.

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

2. 속성값 삭제하기

Jsoup을 사용하여 웹페이지를 파싱한 후, 삭제하고자 하는 요소를 선택하여 해당 요소의 속성값을 삭제할 수 있습니다. 아래는 예시 코드입니다.

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

public class AttributeRemover {
    public static void main(String[] args) {
        String html = "<html><body><div id='myDiv' data-attr='value'>Some content</div></body></html>";
        
        // HTML 파싱
        Document doc = Jsoup.parse(html);
        
        // 삭제하고자 하는 속성값이 있는 요소 선택
        Element myDiv = doc.getElementById("myDiv");
        
        // 속성값 삭제
        myDiv.removeAttr("data-attr");
        
        // 결과 출력
        System.out.println(doc.html());
    }
}

위 코드에서는 “data-attr”라는 속성값을 삭제하고자 하는 요소를 선택한 후, removeAttr() 메서드를 사용하여 속성값을 삭제합니다. 마지막으로 doc.html()을 호출하여 수정된 HTML을 출력합니다.

3. 결과 확인하기

위 예시 코드를 실행하면 다음과 같이 “data-attr” 속성값이 삭제된 HTML이 출력됩니다.

<html>
 <head></head>
 <body>
  <div id="myDiv">Some content</div>
 </body>
</html>

참고 자료