JAVA

[JAVA] JSoup 기본 사용법

인생아 2024. 10. 28. 13:31
반응형

JSoup를 사용해 HTML 문서를 가져오는 것은 매우 간단합니다. Jsoup.connect(URL).get() 메서드를 통해 웹 페이지를 불러올 수 있으며, 이로써 문서를 파싱하여 Java 객체로 다룰 수 있습니다. 이 기능은 리눅스 환경에서도 유용하게 사용되며, 데이터를 분석하거나 웹 사이트 정보를 수집하는 데 필수적입니다.

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

public class JSoupExample {
    public static void main(String[] args) {
        try {
            Document doc = Jsoup.connect("http://example.com").get();
            System.out.println("HTML 문서: " + doc.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위 코드는 http://example.com 웹 페이지를 가져와 HTML 문서를 출력하는 예제입니다. 리눅스 시스템에서 실행할 때도 동일하게 작동하며, 웹 데이터를 손쉽게 수집할 수 있습니다.

HTML 태그 선택 및 요소 검색

JSoup는 CSS 선택자를 사용하여 특정 HTML 태그를 선택하거나 원하는 요소를 쉽게 검색할 수 있습니다. 이를 통해 복잡한 HTML 구조에서도 원하는 정보를 추출할 수 있습니다.

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

// 특정 태그 및 클래스 선택
Elements links = doc.select("a.example-class");
for (Element link : links) {
    System.out.println("링크: " + link.attr("href"));
    System.out.println("텍스트: " + link.text());
}

위 예제는 a 태그에 example-class라는 클래스를 가진 요소를 선택해, 링크와 텍스트를 출력하는 코드입니다. CSS 선택자를 사용해 원하는 태그와 요소를 효율적으로 찾을 수 있습니다.

반응형

속성값 추출 및 수정

HTML 요소의 속성값을 쉽게 추출하고 수정할 수 있어, 데이터를 정리하거나 특정 태그의 속성을 바꿀 때 유용합니다. 예를 들어, <img> 태그의 src 속성을 추출하여 이미지 링크를 수집하거나 href 속성을 변경하는 작업을 할 수 있습니다.

// 속성값 추출
Element img = doc.select("img").first();
String imgSrc = img.attr("src");
System.out.println("이미지 URL: " + imgSrc);

// 속성값 수정
img.attr("src", "https://new-image-url.com/image.jpg");
System.out.println("수정된 이미지 URL: " + img.attr("src"));

이 코드는 HTML 문서에서 첫 번째 이미지 URL을 가져오고 src 속성을 새 이미지 링크로 수정하는 예제입니다. 이러한 기능은 특히 리눅스 환경에서 자동화된 스크래핑 작업을 할 때 유용하게 쓰입니다.

텍스트 추출 및 정제하기

HTML 태그와 관계없이 텍스트만 추출할 수 있어, 필요한 정보만 가져오는 작업이 가능합니다. 이를 통해 복잡한 HTML 구조에서도 원하는 텍스트만 정제할 수 있습니다.

// 특정 요소의 텍스트 추출
Element content = doc.select("div.content").first();
String text = content.text();
System.out.println("추출된 텍스트: " + text);

위 코드는 div 태그 내 content 클래스를 가진 요소에서 텍스트만 추출하여 출력하는 예제입니다. HTML 태그를 제거한 깨끗한 텍스트를 가져올 수 있으며, 데이터 정리분석 작업에 활용됩니다.

참고사이트

반응형