Як витягти SVG з веб-сайту?
Здатність витягувати зображення з HTML має вирішальне значення для різних додатків, включаючи веб-скрепінг та контент-аналіз. Aspose.HTML for Python via .NET – це надійна бібліотека, яка спрощує цей процес, пропонуючи розробникам набір інструментів для зручної навігації та збору інформації з HTML-документів. Це потужне рішення ідеально підходить для всіх, кому потрібно збирати SVG-файли для аналізу, архівування або створення контенту – усуваючи необхідність ручної роботи. Давайте розглянемо, як завантажити SVG-зображення з веб-сторінок.
Витягти SVG за допомогою Python
SVG-зображення в HTML-документах бувають двох видів – вбудовані SVG та зовнішні SVG. Наступний код Python демонструє, як автоматизувати вилучення зовнішніх SVG-зображень, SVG-файлів, що зберігаються окремо від HTML і посилаються на них за допомогою тегів <img>
, з веб-сторінки за допомогою бібліотеки Aspose.HTML for Python via .NET:
Код Python для завантаження SVG-файлів з веб-сторінки
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 з веб-сайту
- Використовуйте конструктор
HTMLDocument(Url)
, щоб створити екземпляр класу HTMLDocument і передати йому URL-адресу веб-сайту, з якого ви хочете витягти зовнішні SVG-зображення. - Використовуйте метод
get_elements_by_tag_name("img")
для збору всіх елементів<img>
з HTML-документа. Цей метод повертає список елементів зображень, вбудованих у сторінку. - Перебирайте зібрані елементи
<img>
і використовуйте методget_attribute("src")
, щоб витягти атрибутsrc
з кожного елемента. Зберігайте ці значення у множині, щоб виключити дублікати. - Відфільтруйте витягнуті URL-адреси, перевіривши, чи закінчуються вони розширенням “.svg”, щоб ізолювати лише зовнішні SVG-зображення.
- Використовуйте клас
Url
іbase_uri
документа для створення абсолютних URL-адрес SVG-зображень. - Створіть екземпляр
RequestMessage
для кожної абсолютної SVG URL-адреси, щоб підготувати HTTP-запит для отримання зображення. - Надішліть запит і перевірте властивість
is_success
, щоб переконатися, що відповідь була успішною. - Використовуйте
os.path.basename(url.pathname)
, щоб отримати ім’я файлу з URL-адреси SVG, а потім збережіть зображення у локальній файловій системі, записавши двійковий вміст у вихідний каталог.
Щоб дізнатися більше про те, як програмно витягувати вбудовані та зовнішні SVG-файли з веб-сайту, зверніться до статті документації Витягування SVG-файлів з веб-сайту в Python .
Примітка: Завжди поважайте закони про авторське право. Переконайтеся, що у вас є відповідні права, дозволи або ліцензії, перш ніж використовувати витягнуті зображення в комерційних цілях. Ми не схвалюємо і не підтримуємо несанкціоноване використання захищеного авторським правом контенту.
Початок роботи з Python API
Якщо ви хочете аналізувати, маніпулювати та керувати документами HTML, установіть наш гнучкий, високошвидкісний Aspose.HTML for Python via .NET API. pip
– це найпростіший спосіб завантажити та встановити Aspose.HTML for Python via .NET. Для цього виконайте таку команду:
pip install aspose-html-net
Додаткову інформацію про встановлення бібліотеки Python і вимоги до системи ви знайдете у документації Apose.HTML.
Інші підтримувані функції
Використовуйте бібліотеку Aspose.HTML for Python via .NET для аналізу та маніпулювання HTML-документами. Зрозуміло, безпечно і просто!