[java] Apache Tika HTML 이미지 추출

Apache Tika는 다양한 형식의 문서를 분석하고 추출하는 Java 라이브러리입니다. HTML 문서에서 이미지를 추출하기 위해 Apache Tika를 사용하는 방법을 다루겠습니다.

1. Apache Tika 라이브러리 추가

먼저 Apache Tika를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가하세요.

<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-core</artifactId>
    <version>1.27</version>
</dependency>
<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parsers</artifactId>
    <version>1.27</version>
</dependency>

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가하세요.

implementation 'org.apache.tika:tika-core:1.27'
implementation 'org.apache.tika:tika-parsers:1.27'

의존성을 추가한 후 프로젝트를 업데이트하세요.

2. HTML 문서에서 이미지 추출

이제 Apache Tika를 사용하여 HTML 문서에서 이미지를 추출할 수 있습니다. 다음은 간단한 예제 코드입니다.

import org.apache.tika.Tika;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.ContentHandler;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ImageExtractor {
    public static void main(String[] args) throws IOException {
        Tika tika = new Tika();
        Metadata metadata = new Metadata();
        ContentHandler handler = new BodyContentHandler();
        FileInputStream inputstream = new FileInputStream(new File("input.html"));
        AutoDetectParser parser = new AutoDetectParser();
        parser.parse(inputstream, handler, metadata);
        
        String[] images = metadata.getValues("keywords"); // 이미지의 메타데이터 키워드 추출
        
        for (String image : images) {
            System.out.println("Image: " + image);
        }
    }
}

위 코드는 input.html 파일에서 이미지를 추출하고, 이미지의 메타데이터를 콘솔에 인쇄합니다.

결론

Apache Tika를 사용하여 HTML 문서에서 이미지를 추출하는 방법을 살펴보았습니다. 이를 응용하여 다른 형식의 문서에서도 이미지를 추출할 수 있습니다. Apache Tika의 다양한 기능을 활용하여 원하는 데이터를 추출해보세요.

참고 자료: