Comment extraire une image du HTML
La possibilité d’extraire des images à partir de HTML est importante pour diverses applications telles que le web scraping et l’analyse de contenu. Aspose.HTML for .NET est une bibliothèque robuste qui simplifie ce processus en offrant aux développeurs un ensemble d’outils pour naviguer et collecter des informations à partir de documents HTML de manière transparente. Voyons comment extraire des images de documents HTML.
Tout d’abord, assurez-vous que Aspose.HTML pour .NET est installé dans votre projet. Le processus d’installation de cette bibliothèque est assez simple. Ouvrez le gestionnaire de packages NuGet, recherchez Aspose.HTML et installez. Vous pouvez également utiliser la commande suivante depuis la console Package Manager :
Installer Aspose.HTML pour .NET
Install-Package Aspose.HTML
Extraire des images du HTML en utilisant C#
À l’aide de la bibliothèque de classes Aspose.HTML for .NET , vous pouvez facilement créer votre propre application, car notre API fournit un ensemble d’outils puissants pour analyser et collecter des informations à partir de documents HTML. Si vous souhaitez utiliser les fonctionnalités de récupération de données HTML dans votre produit ou extraire par programmation des données HTML, consultez l’exemple de code ci-dessous. Que vous créiez des web scrapers ou des analyseurs de contenu, Aspose.HTML fait de l’extraction d’images un processus intuitif. Vous pouvez télécharger toutes les images d’un document HTML avec quelques lignes de code C#:
Code C# pour extraire des images du HTML
using Aspose.Html;
using Aspose.Html.Net;
using System.Linq;
using System.IO;
...
// Prepare a path to a source HTML file
string documentPath = Path.Combine(DataDir, "images-from-html.html");
// Create an instance of an HTML document
using (var document = new HTMLDocument(documentPath))
{
// Collect all <img> elements
var images = document.GetElementsByTagName("img");
// Create a distinct collection of relative image URLs
var urls = images.Select(element => element.GetAttribute("src")).Distinct();
// Create absolute image URLs
var absUrls = urls.Select(src => new Url(src, document.BaseURI));
foreach (var url in absUrls)
{
// Create an image request message
using var request = new RequestMessage(url);
// Download image
using var response = document.Context.Network.Send(request);
var imgName = url.Pathname.Split('/').Last();
//Check the image in base64 encoding
if (url.Protocol == "data:" && response.Headers.ContentType.MediaType.Type == "image")
{
// Get the image type and set to extension
imgName = "img1." + response.Headers.ContentType.MediaType.SubType;
}
// Check whether a response is successful
if (response.IsSuccess)
{
// Save image to a local file system
File.WriteAllBytes(Path.Combine(OutputDir, imgName), response.Content.ReadAsByteArray());
}
}
}
Étapes pour extraire des images du HTML
- Utilisez le constructeur HTMLDocument() pour initialiser un document HTML.
- Utilisez la méthode
GetElementsByTagName(
"img"
) pour collecter tous les éléments<img>
. La méthode renvoie une liste des éléments<img>
du document HTML. - Utilisez la méthode
Select()
pour créer une collection distincte d’URL d’images relatives et la méthode GetAttribute("src"
) pour extraire l’attributsrc
de chaque élément<img>
. - Créez des URL d’images absolues à l’aide de la classe
Url
et de la propriété
BaseURI
de la classeHTMLDocument
. - Pour chaque URL absolue, créez une requête à l’aide du constructeur
RequestMessage(
url
) . - Utilisez la méthode
Context.Network.Send(request)
du document pour envoyer la demande. La réponse est vérifiée pour s’assurer qu’elle a réussi. - Si la réponse a réussi, utilisez la méthode
File.WriteAllBytes()
pour enregistrer chaque image dans un fichier local. - Dans l’extrait de code, nous vérifions si l’image est au format codé Base64 en examinant le protocole de l’URL et, si c’est vrai, définissons le nom et l’extension de l’image.
Aspose.HTML pour .NET est une bibliothèque d’analyse HTML avancée. On peut créer, modifier, naviguer dans les nœuds, extraire des données, fusionner et convertir des fichiers HTML, XHTML, MD, EPUB et MHTML en PDF, DOCX, images et autres formats populaires. De plus, il gère également CSS, HTML Canvas, SVG, XPath et JavaScript prêts à l’emploi pour étendre les tâches de manipulation. Pour plus de détails sur l’installation de la bibliothèque C# et la configuration système requise, veuillez vous référer à la Documentation Aspose.HTML .
Autres fonctionnalités de la bibliothèque C# prises en charge
Utilisez la bibliothèque Aspose.HTML pour .NET pour analyser et manipuler des documents HTML. Clair, sûr et simple!