Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Предположим, вы веб-разработчик, графический дизайнер, исследователь, журналист или студент, одним словом, человек, работающий над собственным проектом. В этом случае вам, очевидно, понадобятся изображения для вашего проекта в процессе разработки. Чтобы скачать изображения по ссылке вручную, вы потратите очень много времени. Вам нужно будет скопировать URL-адрес каждого изображения, а затем загрузить изображение, но вы можете использовать библиотеку Aspose.HTML for .NET для извлечения изображений с веб-сайта программно.
В этой статье мы рассмотрим, как извлекать с веб-сайта различные типы изображений с помощью Aspose.HTML for .NET API. Использование нашей библиотеки C# поможет вам найти и сохранить изображение по ссылке на веб-страницу. Это лучше, чем копаться и искать вручную. Давайте попробуем! Извлекайте изображения с сайта программно!
Большинство изображений в HTML-документе представлены с помощью элемента <img>. Вот пример того, как использовать Aspose.HTML для извлечения изображений с веб-сайта, указанных в <img> элементе. Итак, чтобы скачать изображения по ссылке, вам нужно сделать несколько следующих шагов:
HTMLDocument и передайте ему URL-адрес веб-сайта, с которого вы хотите загрузить изображения.<img> . Метод возвращает список элементов <img> HTML-документа.Select() для создания отдельной коллекции относительных URL-адресов изображений и
GetAttribute(“src”) для извлечения атрибута src каждого элемента <img>.HTMLDocument.File.WriteAllBytes(), чтобы сохранить каждое изображение в локальный файл. 1// Extract images from website using C#
2
3// Open a document you want to download images from
4using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");
5
6// Collect all <img> elements
7HTMLCollection images = document.GetElementsByTagName("img");
8
9// Create a distinct collection of relative image URLs
10IEnumerable<string> urls = images.Select(element => element.GetAttribute("src")).Distinct();
11
12// Create absolute image URLs
13IEnumerable<Url> absUrls = urls.Select(src => new Url(src, document.BaseURI));
14
15foreach (Url url in absUrls)
16{
17 // Create an image request message
18 using RequestMessage request = new RequestMessage(url);
19
20 // Extract image
21 using ResponseMessage response = document.Context.Network.Send(request);
22
23 // Check whether a response is successful
24 if (response.IsSuccess)
25 {
26 // Save image to a local file system
27 File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
28 }
29}Примечание. Важно соблюдать законы об авторском праве и получать надлежащее разрешение или лицензию перед использованием сохраненных изображений в коммерческих целях. Мы не поддерживаем извлечение данных и использование файлов других людей в коммерческих целях без их разрешения.
Иконки – это разновидность изображений в документах HTML, которые указываются с помощью элементов <link> с атрибутом rel, установленным на icon. Давайте посмотрим, как загрузить иконки с веб-сайта с помощью библиотеки Aspose.HTML for .NET:
Url) для создания экземпляра класса HTMLDocument и передайте ему URL-адрес веб-сайта, с которого вы хотите загрузить значки."link") для сбора всех элементов <link>.Where(), который фильтрует коллекцию на основе выражения link => link.GetAttribute("rel") == "icon". Таким образом, коллекция icons будет содержать только links с атрибутом rel со значением icon.Select() для создания отдельной коллекции относительных URL-адресов значков и
GetAttribute("href") для извлечения атрибута href каждого элемента <link>.HTMLDocument.request) для отправки запроса. Ответ проверяется, чтобы убедиться, что он был успешным.File.WriteAllBytes() для сохранения значков в локальный файл. В результате у вас будет коллекция иконок с веб-сайта в вашей локальной папке. 1// Download icons from website using C#
2
3// Open a document you want to download icons from
4using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5
6// Collect all <link> elements
7HTMLCollection links = document.GetElementsByTagName("link");
8
9// Leave only "icon" elements
10IEnumerable<Element> icons = links.Where(link => link.GetAttribute("rel") == "icon");
11
12// Create a distinct collection of relative icon URLs
13IEnumerable<string> urls = icons.Select(icon => icon.GetAttribute("href")).Distinct();
14
15// Create absolute icon URLs
16IEnumerable<Url> absUrls = urls.Select(src => new Url(src, document.BaseURI));
17
18foreach (Url url in absUrls)
19{
20 // Create a downloading request
21 using RequestMessage request = new RequestMessage(url);
22
23 // Extract icon
24 using ResponseMessage response = document.Context.Network.Send(request);
25
26 // Check whether a response is successful
27 if (response.IsSuccess)
28 {
29 // Save icon to a local file system
30 File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
31 }
32}Вы можете использовать эти примеры C# для автоматизации извлечения всех изображений с веб-сайта, что может быть полезно для таких задач, как архивирование, исследование, анализ веб-контента или любого другого приложения для личного использования. Кроме того, это отлично подходит для веб-дизайнеров и разработчиков, желающих получать изображения с сайтов, не углубляясь в исходный код.
Вы можете скачать полные примеры C# и файлы данных с GitHub.
Aspose.HTML предлагает бесплатные Приложения HTML, которые представляют собой онлайн-коллекцию конвертеров, слияний, загрузчиков, инструментов SEO, генераторов HTML-кода, инструментов URL и многое другое. Приложения работают в любой операционной системе с веб-браузером и не требуют установки дополнительного программного обеспечения. Легко конвертируйте, объединяйте, кодируйте, генерируйте HTML-код, извлекайте данные из Интернета или анализируйте веб-страницы с точки зрения SEO, где бы вы ни находились. Используйте нашу коллекцию веб-приложений HTML, чтобы выполнять повседневные дела и сделать свой рабочий процесс безупречным!
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.