Как извлечь 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
для каждого абсолютного URL-адреса SVG, чтобы подготовить HTTP-запрос для получения изображения. - Отправьте запрос и проверьте свойство
is_success
, чтобы убедиться, что ответ был успешным. - Используйте
os.path.basename(url.pathname)
для получения имени файла из URL-адреса SVG, а затем сохраните изображение в локальной файловой системе, записав двоичное содержимое в выходной каталог.
Чтобы узнать больше о том, как программно на Python извлекать встроенные и внешние SVG с веб-сайта, обратитесь к статье документации Извлечь SVG с веб-сайта на Python .
Примечание: Всегда соблюдайте законы об авторском праве. Убедитесь, что у вас есть соответствующие права, разрешения или лицензии, прежде чем использовать извлеченные изображения в коммерческих целях. Мы не одобряем и не поддерживаем несанкционированное использование материалов, защищенных авторским правом.
Начало работы с API Python
Если вы хотите анализировать 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. Понятно, безопасно и просто!