HTML에서 이미지를 추출하는 방법

HTML에서 이미지를 추출하는 기능은 웹 스크래핑 및 콘텐츠 분석과 같은 다양한 애플리케이션에 중요합니다. Aspose.HTML for .NET 은 HTML 문서에서 정보를 원활하게 탐색하고 수집할 수 있는 도구 세트를 개발자에게 제공하여 이 프로세스를 단순화하는 강력한 라이브러리입니다. HTML 문서에서 이미지를 추출하는 방법을 살펴보겠습니다.

먼저 프로젝트에 .NET용 Aspose.HTML이 설치되어 있는지 확인하세요. 이 라이브러리의 설치 과정은 매우 간단합니다. NuGet 패키지 관리자를 열고 Aspose.HTML을 검색하여 설치합니다. 패키지 관리자 콘솔에서 다음 명령을 사용할 수도 있습니다.


.NET용 Aspose.HTML 설치

Install-Package Aspose.HTML



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

Aspose.HTML for .NET 클래스 라이브러리를 사용하면 API가 HTML 문서에서 정보를 분석하고 수집하는 강력한 도구 세트를 제공하므로 자신만의 애플리케이션을 쉽게 만들 수 있습니다. 제품에서 HTML 데이터 스크래핑 기능을 사용하거나 프로그래밍 방식으로 HTML에서 데이터를 추출하려면 아래 코드 예제를 참조하세요. 웹 스크레이퍼를 구축하든 콘텐츠 분석기를 구축하든 Aspose.HTML은 이미지 추출을 직관적인 프로세스로 만듭니다. 몇 줄의 C# 코드를 사용하여 HTML 문서에서 모든 이미지를 다운로드할 수 있습니다.


HTML에서 이미지를 추출하는 C# 코드

using Aspose.Html;
using Aspose.Html.Net;
using System.Linq;
using System.IO;
...

    // Prepare a path to a source HTML file
    string documentPath = Path.Combine(DataDir, "images-from-html.html");

    // Create an instance of an HTML document
    using (var document = new HTMLDocument(documentPath))
    {
        // Collect all <img> elements
        var images = document.GetElementsByTagName("img");

        // Create a distinct collection of relative image URLs
        var urls = images.Select(element => element.GetAttribute("src")).Distinct();

        // Create absolute image URLs
        var absUrls = urls.Select(src => new Url(src, document.BaseURI));

        foreach (var url in absUrls)
        {
            // Create an image request message
            using var request = new RequestMessage(url);

            // Download image
            using var response = document.Context.Network.Send(request);

            var imgName = url.Pathname.Split('/').Last();

            //Check the image in base64 encoding
            if (url.Protocol == "data:" && response.Headers.ContentType.MediaType.Type == "image")
            {
                // Get the image type and set to extension
                imgName = "img1." + response.Headers.ContentType.MediaType.SubType;
            }

            // Check whether a response is successful
            if (response.IsSuccess)
            {
                // Save image to a local file system
                File.WriteAllBytes(Path.Combine(OutputDir, imgName), response.Content.ReadAsByteArray());
            }
        }
    }



HTML에서 이미지를 추출하는 단계

  1. HTMLDocument() 생성자를 사용하여 HTML 문서를 초기화합니다.
  2. GetElementsByTagName("img") 메서드를 사용하여 모든 <img> 요소를 수집합니다. 이 메소드는 HTML 문서의 <img> 요소 목록을 반환합니다.
  3. Select() 메서드를 활용하여 상대 이미지 URL의 고유한 컬렉션을 만들고 GetAttribute("src") 메서드를 사용하여 각 <img> 요소의 src 속성을 추출합니다. .
  4. Url 클래스와 HTMLDocument 클래스의 BaseURI 속성을 사용하여 절대 이미지 URL을 생성합니다.
  5. 각 절대 URL에 대해 RequestMessage(url) 생성자를 사용하여 요청을 생성합니다.
  6. 문서의 Context.Network.Send(request) 메소드를 사용하여 요청을 보냅니다. 응답이 성공했는지 확인하기 위해 응답이 검사됩니다.
  7. 응답이 성공하면 File.WriteAllBytes() 메서드를 사용하여 각 이미지를 로컬 파일에 저장합니다.
  8. 코드 조각에서 URL의 프로토콜을 검사하여 이미지가 Base64 인코딩 형식인지 확인하고, 사실인 경우 이미지 이름과 확장자를 설정합니다.

.NET용 Aspose.HTML은 고급 HTML 구문 분석 라이브러리입니다. 노드를 생성, 편집, 탐색하고, 데이터를 추출하고, HTML, XHTML, MD, EPUB 및 MHTML 파일을 PDF, DOCX, 이미지 및 기타 널리 사용되는 형식으로 병합 및 변환할 수 있습니다. 또한 CSS, HTML Canvas, SVG, XPath 및 JavaScript를 즉시 처리하여 조작 작업을 확장합니다. C# 라이브러리 설치 및 시스템 요구사항에 대한 자세한 내용은 Aspose.HTML 문서 를 참조하세요.

기타 지원되는 C# 라이브러리 기능

.NET 라이브러리용 Aspose.HTML을 사용하여 HTML 기반 문서를 구문 분석하고 조작합니다. 명확하고 안전하며 간단합니다!