Cara Mengekstrak SVG dari Situs Web

Kemampuan untuk mengekstrak gambar dari HTML sangat penting untuk berbagai aplikasi, termasuk web scraping dan analisis konten. Aspose.HTML for Python via .NET adalah pustaka yang kuat yang menyederhanakan proses ini dengan menawarkan kepada para pengembang seperangkat alat untuk menavigasi dan mengumpulkan informasi dari dokumen HTML dengan mulus. Solusi canggih ini sangat ideal bagi siapa saja yang perlu mengumpulkan SVG untuk analisis, pengarsipan, atau pembuatan konten – sehingga tidak perlu lagi melakukan pekerjaan manual. Mari kita telusuri cara mengunduh gambar SVG dari halaman web.


Mengekstrak SVG Menggunakan Python

Gambar SVG dalam dokumen HTML hadir dalam dua bentuk – inline SVG dan external SVG. Kode Python berikut menunjukkan cara mengotomatiskan ekstraksi gambar SVG eksternal, file SVG yang disimpan terpisah dari HTML dan direferensikan melalui tag <img>, dari halaman web menggunakan Aspose.HTML for Python via .NET:


Kode Python untuk mengunduh SVG dari halaman web

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())


Langkah-langkah untuk mengekstrak SVG dari situs web

  1. Gunakan konstruktor HTMLDocument(Url) untuk membuat instance dari kelas HTMLDocument dan berikan URL situs web tempat Anda ingin mengekstrak gambar SVG eksternal.
  2. Gunakan metode get_elements_by_tag_name("img") untuk mengumpulkan semua elemen <img> dari dokumen HTML. Metode ini mengembalikan daftar elemen gambar yang disematkan di halaman.
  3. Lakukan perulangan melalui elemen <img> yang terkumpul dan gunakan metode get_attribute("src") untuk mengekstrak atribut src dari setiap elemen. Simpan nilai ini dalam satu set untuk menghilangkan duplikat.
  4. Saring URL yang diekstrak dengan memeriksa apakah diakhiri dengan ekstensi “.svg” untuk mengisolasi hanya gambar SVG eksternal.
  5. Gunakan kelas Url dan base_uri dokumen untuk membuat URL gambar SVG absolut.
  6. Buat instance RequestMessage untuk setiap URL SVG absolut untuk menyiapkan permintaan HTTP untuk mengambil gambar.
  7. Kirimkan permintaan dan periksa properti is_success untuk memastikan respons berhasil.
  8. Gunakan os.path.basename(url.pathname) untuk mendapatkan nama file dari URL SVG, lalu simpan gambar ke sistem file lokal dengan menulis konten biner ke direktori output.

Untuk mempelajari lebih lanjut tentang cara mengekstrak SVG inline dan eksternal secara terprogram dari situs web, lihat artikel dokumentasi Extract SVG From Website in Python .

Catatan: Selalu hormati undang-undang hak cipta. Pastikan Anda memiliki hak, izin, atau lisensi yang sesuai sebelum menggunakan gambar yang diekstrak untuk tujuan komersial. Kami tidak mendukung atau mendukung penggunaan konten berhak cipta secara tidak sah.



Memulai dengan API Python

Jika Anda ingin mengurai, memanipulasi, dan mengelola dokumen HTML, instal API Aspose.HTML for Python via .NET kami yang fleksibel dan berkecepatan tinggi. pip adalah cara termudah untuk mengunduh dan menginstal pustaka Python. Untuk melakukannya, jalankan perintah berikut:

pip install aspose-html-net

Untuk detail lebih lanjut tentang instalasi pustaka Python dan persyaratan sistem, silakan lihat Dokumentasi Aspose.HTML.

Fitur Lain yang Didukung

Gunakan pustaka Aspose.HTML for Python via .NET untuk mengurai dan memanipulasi dokumen berbasis HTML. Jelas, aman dan sederhana!