Comment extraire une image d'une page Web

La capacité d’extraire des images à partir de HTML est cruciale pour diverses applications, notamment le web scraping et l’analyse de contenu. Aspose.HTML for Python via .NET est une bibliothèque robuste qui simplifie ce processus en offrant aux développeurs un ensemble d’outils permettant de naviguer et de collecter des informations à partir de documents HTML de manière transparente. Cette solution puissante est idéale pour tous ceux qui ont besoin de collecter des images à des fins d’analyse, d’archivage ou de création de contenu, éliminant ainsi la nécessité d’un travail manuel. Voyons maintenant comment télécharger des images à partir de pages web.


Extraire des images à l'aide de Python

En utilisant Aspose.HTML for Python via .NET, vous pouvez facilement créer votre propre application, car notre API fournit un ensemble robuste d’outils pour l’analyse et l’extraction d’informations à partir de documents HTML. Si vous souhaitez utiliser les fonctionnalités d’analyse des données HTML dans votre produit ou extraire par programme des données à partir de HTML, consultez l’exemple de code ci-dessous.


Code Python pour télécharger des images à partir d'une page web

import os
import aspose.html as ah
import aspose.html.net as ahnet

# Prepare output directory
output_dir = "output/"
os.makedirs(output_dir, exist_ok=True)

# Open HTML document from URL
with ah.HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-color/") as doc:
    # Collect all <img> elements
    images = doc.get_elements_by_tag_name("img")

    # Get distinct relative image URLs
    urls = set(img.get_attribute("src") for img in images)

    # Create absolute image URLs
    abs_urls = [ah.Url(url, doc.base_uri) for url in urls]

    for url in abs_urls:
        # Create a network request
        request = ahnet.RequestMessage(url.href)

        # Send request
        response = doc.context.network.send(request)

        # Check if successful
        if response.is_success:
            # Extract file name
            file_name = os.path.basename(url.pathname)

            # Save image locally
            with open(os.path.join(output_dir, file_name), "wb") as f:
                f.write(response.content.read_as_byte_array())


Étapes pour extraire des images d'une page Web

  1. Ouvrez le document HTML cible, une page web, en utilisant la classe HTMLDocument. Ce document est la source à partir de laquelle les images seront extraites.
  2. Appeler la méthode get_elements_by_tag_name(“img”) de l’objet HTMLDocument pour collecter tous les éléments <img> dans le document HTML.
  3. Extraire des URL d’images uniques en itérant sur la collection d’éléments <img> et en accédant à l’attribut src de chaque élément à l’aide de la méthode get_attribute(“src”) . Stockez ces URL dans un ensemble pour vous assurer qu’il n’y a pas de doublons.
  4. Créer des URLs d’images absolues en passant chaque URL relative ou incomplète avec le base_uri du document au constructeur Url. Cela permet de s’assurer que chaque URL est complète et valide pour l’accès au réseau.
  5. Pour chaque URL d’image absolue, créez un objet RequestMessage pour représenter la requête HTTP nécessaire pour récupérer les données de l’image.
  6. Utilisez la méthode doc.context.network.send(request) pour envoyer la requête et recevoir une réponse. Vérifiez si la réponse est réussie en évaluant la propriété is_success.
  7. Analyse l’URL absolue de l’image en utilisant os.path.basename() pour extraire le nom du fichier, puis enregistre le contenu de l’image dans le répertoire de sortie en écrivant les données binaires de la réponse dans un fichier.

Pour en savoir plus sur l’extraction programmatique de différents types d’images d’un site web à l’aide de Python, reportez-vous à l’article de documentation Extract Images From Website in Python .

Note: Respectez toujours les lois sur les droits d’auteur. Assurez-vous de disposer des droits, autorisations ou licences appropriés avant d’utiliser les images extraites à des fins commerciales. Nous n’approuvons ni ne soutenons l’utilisation non autorisée de contenus protégés par des droits d’auteur.



Get Started with Python API

If you want to parse, manipulate, and manage HTML documents, install our flexible, high-speed Aspose.HTML for Python via .NET API. pip is the easiest way to download and install Aspose.HTML for Python via .NET. To do this, run the following command:

pip install aspose-html-net

For more details about Python library installation and system requirements, please refer to Aspose.HTML Documentation.

Autres caractéristiques prises en charge

Utilisez la bibliothèque Aspose.HTML for Python via .NET pour analyser et manipuler des documents HTML. Clair, sûr et simple !