웹사이트에서 SVG를 추출하는 방법

HTML에서 이미지를 추출하는 기능은 웹 스크래핑 및 콘텐츠 분석을 비롯한 다양한 애플리케이션에 매우 중요합니다. Aspose.HTML for Python via .NET 은 개발자가 HTML 문서에서 정보를 원활하게 탐색하고 수집할 수 있는 일련의 도구를 제공함으로써 이 프로세스를 간소화하는 강력한 라이브러리입니다. 이 강력한 솔루션은 분석, 보관 또는 콘텐츠 제작을 위해 SVG를 수집해야 하는 모든 사용자에게 이상적이며, 수작업이 필요 없습니다. 웹 페이지에서 SVG 이미지를 다운로드하는 방법을 살펴보겠습니다.


Python을 사용하여 SVG 추출

HTML 문서의 SVG 이미지는 인라인 SVG외부 SVG의 두 가지 형태로 제공됩니다. 다음 Python 코드는 Aspose.HTML for Python via .NET을 사용하여 웹 페이지에서 외부 SVG 이미지(HTML과 별도로 저장되고 <img> 태그를 통해 참조되는 SVG 파일)를 자동으로 추출하는 방법을 보여줍니다:


웹 페이지에서 SVG를 다운로드하는 Python 코드

import os
import aspose.html as ah
import aspose.html.net as ahnet

# Define the output directory
output_dir = "output/svg/"
os.makedirs(output_dir, exist_ok=True)

# Open the document you want to extract external SVGs from
document = ah.HTMLDocument("https://products.aspose.com/html/python-net/")

# Collect all <img> elements
images = document.get_elements_by_tag_name("img")

# Create a distinct collection of relative image URLs
urls = set(img.get_attribute("src") for img in images)

# Filter only SVG images
svg_urls = [url for url in urls if url.endswith(".svg")]

# Convert relative URLs to absolute using Url from aspose.html
abs_urls = [ah.Url(url, document.base_uri) for url in svg_urls]

for url in abs_urls:
    # Create a network request for the SVG
    request = ahnet.RequestMessage(url.href)

    # Send request to fetch the SVG
    response = document.context.network.send(request)

    # Check if request succeeded
    if response.is_success:
        # Determine local file path
        file_path = os.path.join(output_dir, os.path.basename(url.pathname))

        # Save SVG to a local file system
        with open(file_path, "wb") as f:
            f.write(response.content.read_as_byte_array())


웹사이트에서 SVG를 추출하는 단계

  1. HTMLDocument(Url) 생성자를 사용하여 HTMLDocument 클래스의 인스턴스를 생성하고 외부 SVG 이미지를 추출할 웹사이트의 URL을 전달합니다.
  2. HTML 문서에서 모든 <img> 요소를 수집하려면 get_elements_by_tag_name("img") 메서드를 사용합니다. 이 메서드는 페이지에 포함된 이미지 요소의 목록을 반환합니다.
  3. 수집된 <img> 요소를 반복하고 get_attribute("src") 메서드를 사용하여 각 요소에서 src 속성을 추출합니다. 이 값을 세트에 저장하여 중복을 제거합니다.
  4. 추출된 URL이 .svg 확장자로 끝나는지 확인하여 필터링하여 외부 SVG 이미지만 분리합니다.
  5. 절대 SVG 이미지 URL을 만들려면 Url 클래스와 문서의 base_uri를 사용합니다.
  6. 이미지 검색을 위한 HTTP 요청을 준비하기 위해 각 절대 SVG URL에 대해 RequestMessage 인스턴스를 생성합니다.
  7. 요청을 전송하고 is_success 속성을 확인하여 응답이 성공했는지 확인합니다.
  8. os.path.basename(url.경로명)을 사용하여 SVG URL에서 파일 이름을 가져온 다음 출력 디렉터리에 바이너리 콘텐츠를 작성하여 이미지를 로컬 파일 시스템에 저장합니다.

웹사이트에서 인라인 및 외부 SVG를 프로그래밍 방식으로 추출하는 방법에 대해 자세히 알아보려면 문서 Extract SVG From Website in Python 도움말 문서를 참조하세요.

참고: 항상 저작권법을 준수하세요. 추출한 이미지를 상업적 목적으로 사용하기 전에 적절한 권리, 권한 또는 라이선스를 보유하고 있는지 확인하세요. 당사는 저작권이 있는 콘텐츠의 무단 사용을 보증하거나 지원하지 않습니다.



Python API 시작하기

HTML 문서를 파싱, 조작, 관리하려면 유연하고 고속의 Aspose.HTML for Python via .NET API를 설치하세요. pip는 Python 라이브러리를 다운로드하고 설치하는 가장 쉬운 방법입니다. 이를 위해 다음 명령을 실행하세요.

pip install aspose-html-net

Python 라이브러리 설치 및 시스템 요구 사항에 대한 자세한 내용은 Aspose.HTML 문서 를 참조하세요.

기타 지원 기능

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