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
- 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. - 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. - Extraire des URL d’images uniques en itérant sur la collection d’éléments
<img>
et en accédant à l’attributsrc
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. - Créer des URLs d’images absolues en passant chaque URL relative ou incomplète avec le
base_uri
du document au constructeurUrl
. Cela permet de s’assurer que chaque URL est complète et valide pour l’accès au réseau. - 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.
- 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
. - 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 !