왜 HTML에서 이미지를 추출할까요? (장점 및 사용 사례)

HTML 파일은 종종 다음과 같은 여러 유형의 이미지를 포함합니다: 표준 <img> 태그 이미지, Base64 인라인 이미지 (data:image/...), CSS에 정의된 이미지(예: background-image), SVG 아이콘 및 그래픽, 외부 링크 이미지를 포함하거나 내장 이미지 리소스. HTML 문서에서 이미지를 추출하는 것은 다음과 같은 경우 유용합니다:

  • 콘텐츠 마이그레이션
  • HTML 이메일에서 미디어 추출
  • 웹 스크래핑 및 분석
  • 기계 학습을 위한 훈련 데이터셋 준비
  • HTML을 PDF/Word로 변환하면서 미디어를 보호합니다.
  • 원본 자산이 있는 웹페이지 보관하기

HTML Processing API

GroupDocs.Parser Cloud SDK for .NET는 HTML 파일을 포함한 모든 인기 있는 파일 형식을 처리할 수 있는 강력한 REST 기반 API입니다. 이를 통해 HTML 파일을 조작할 수 있으며 다음과 같은 작업을 수행할 수 있습니다:

  • HTML 문서를 구문 분석합니다.
  • 임베드 및 인라인 이미지를 추출하십시오.
  • Base64로 인코딩된 이미지 추출
  • 외부 이미지 참조 감지
  • 메타데이터를 가져오세요 (크기, 유형, 경로)
  • 로컬에 추출된 이미지를 다운로드하세요.
  • HTML 파싱 워크플로우 자동화

지원되는 이미지 형식

필수 조건

  • A GroupDocs Cloud account (Client ID & Client Secret).
  • .NET 6.0+ 설치됨.
  • 비주얼 스튜디오 또는 호환 가능한 IDE.
  • NuGet 패키지: GroupDocs.Parser-Cloud

NuGet을 통해 설치하세요.

dotnet add package GroupDocs.Parser-Cloud --version 25.7.0

HTML에서 C#을 사용하여 이미지 추출하기

다음은 Cloud API를 사용한 HTML 이미지 추출을 보여주는 전체 C# 예제입니다.

1단계 — API 초기화:

var config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
var parserApi = new ParserApi(config);
var fileApi = new FileApi(config);

2단계 — 파싱을 위한 HTML 파일 정보 제공:

var fileInfo = new FileInfo { FilePath = "input.html" };
var options = new ImagesOptions { FileInfo = fileInfo };
var request = new ImagesRequest(options);

Step 3 — HTML에서 이미지 추출 (임베디드, 인라인 및 Base64):

var response = parserApi.Images(request);

foreach (var image in response.Images)
{
    Console.WriteLine($"Source: {image.Path}, Type: {image.MediaType}, Size: {image.Size}");
}

Step 4 — 다운로드 추출된 이미지 (macOS 및 Windows 호환):

var outputDirectory = "/Users/nayyer/Downloads/html-images";
Directory.CreateDirectory(outputDirectory);

foreach (var img in response.Images)
{
    var cloudImagePath = img.Path.Replace("\\", "/");

    var downloadRequest = new DownloadFileRequest(path: cloudImagePath);
    using (var stream = fileApi.DownloadFile(downloadRequest))
    {
        var localPath = Path.Combine(outputDirectory, Path.GetFileName(cloudImagePath));

        using (var fileStream = File.Create(localPath))
        {
            stream.CopyTo(fileStream);
        }

        Console.WriteLine($"Downloaded: {localPath}");
    }
}
// 추가 예시를 보려면 https://github.com/groupdocs-parser-cloud/groupdocs-parser-cloud-dotnet를 방문해 주시기 바랍니다.

var configuration = new Configuration("XXXXXXX-XXXXXXX-XXXXXX-XXXXXX", "XXXXXXXXXXXX");
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

var parserApi = new ParserApi(config);
var fileApi = new FileApi(config);

var fileInfo = new FileInfo { FilePath = "input.html" };
var options = new ImagesOptions { FileInfo = fileInfo };
var request = new ImagesRequest(options);

var response = parserApi.Images(request);

foreach (var image in response.Images)
{
    Console.WriteLine($"Source: {image.Path}, Type: {image.MediaType}, Size: {image.Size}");
}

var outputDirectory = "/Users/nayyer/Downloads/html-images";
Directory.CreateDirectory(outputDirectory);

foreach (var img in response.Images)
{
    var cloudImagePath = img.Path.Replace("\\", "/");

    var downloadRequest = new DownloadFileRequest(path: cloudImagePath);
    using (var stream = fileApi.DownloadFile(downloadRequest))
    {
        var localPath = Path.Combine(outputDirectory, Path.GetFileName(cloudImagePath));

        using (var fileStream = File.Create(localPath))
        {
            stream.CopyTo(fileStream);
        }

        Console.WriteLine($"Downloaded: {localPath}");
    }
}

HTML 이미지를 cURL로 다운로드하기

C# 코드 조각 외에도 cURL 명령어를 사용하여 HTML 파일에서 이미지를 다운로드할 수 있습니다.

1단계 — 액세스 토큰 생성: 이 접근 방식의 첫 번째 단계는 클라이언트 자격 증명에 따라 JWT 액세스 토큰을 생성하는 것입니다.

curl -v -X POST "https://api.groupdocs.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET" \
-H "Content-Type: application/x-www-form-urlencoded"

*Step 2 — Extract Images:

curl -v -X POST "https://api.groupdocs.cloud/v1.0/parser/images" \
-H  "accept: application/json" \
-H  "authorization: Bearer {ACCESS_TOKEN}" \
-H  "Content-Type: application/json" \
-d "{ "FileInfo": { "FilePath": "inbox/input.html", "StorageName": "internal" }, "OutputPath": "extracted-images"}"

무료 온라인 HTML 이미지 추출기 해보기

우리는 GroupDocs.Parser Cloud API를 기반으로 개발된 무료 온라인 Online HTML Image Extractor를 제공합니다. 소프트웨어 설치나 다운로드가 필요 없으며 웹 브라우저 내에서 REST API의 기능을 평가할 수 있습니다.

extract html images

결론

이 기사에서는 .NET REST API를 사용하여 HTML에서 이미지를 추출하는 가장 정확한 방법을 배웠습니다. 이 API의 도움으로, 당신은:

  • 임베디드 및 인라인 이미지 추출
  • Base64로 인코딩된 이미지 파싱
  • CSS 배경 이미지 추출
  • 링크된 이미지의 메타데이터 검색
  • 모든 이미지를 프로그래밍 방식으로 다운로드하세요.

따라서 C# 애플리케이션에서 HTML 미디어 추출을 자동화하는 데 가장 좋은 솔루션입니다.

관련 기사

다음 기사를 방문하여 자세히 알아보시기 바랍니다:

자주 묻는 질문 (FAQs)

  1. HTML에서 Base64로 내장된 이미지를 추출할 수 있나요? 네, API는 Base64로 인코딩된 인라인 HTML 이미지를 자동으로 추출합니다.

  2. API가 외부 링크된 이미지를 추출하나요? API는 링크된 이미지에 대한 메타데이터를 추출합니다; 이미지를 다운로드 하는 것은 선택 사항입니다.

  3. CSS에서 참조된 이미지를 추출할 수 있나요? 네, 인라인 또는 임베디드 CSS를 통해 참조된 이미지는 지원됩니다.

  4. 어떤 이미지 형식이 지원됩니까? JPG, PNG, BMP, GIF, TIFF 및 기타 일반적인 이미지 유형.

  5. 무료 체험이 있나요? 네. 무료 계정을 생성하고 매월 150회의 무료 API 호출을 받을 수 있습니다.