Comment récupérer des images d’un site Web ? [5 Simple Steps]


Les technologies de navigateur permettent le téléchargement d’images à partir du Web. C’est possible en cliquant avec le bouton droit sur l’image et en la copiant ou en l’enregistrant.

Bien que cela soit faisable, faire la même chose pour des centaines d’images n’est peut-être pas la meilleure idée. Ce cas est où grattage d’images entre en scène.

Cet article explique ce que grattage d’images est. Il vous apprendra également une méthode populaire de récupérer des images de sites Web avec un Grattoir d’images Python.

Continuez à lire pour en savoir plus.

???? Points clés à retenir

  • Image Scraping est une méthode pratique pour collecter efficacement de nombreuses images à partir de sites Web.
  • Utilisez Python et BeautifulSoup pour une solution de grattage d’images conviviale et flexible.
  • Le scraping d’images est précieux dans le développement de l’IA pour les données de formation et dans la recherche sur le commerce électronique pour extraire des informations sur les produits.
  • Respectez les droits d’auteur et les conditions d’utilisation du site Web lors de la récupération d’images afin de garantir qu’elles sont effectuées de manière légale et éthique.

Récupérer des photos d’un site Web : comment ça marche ?

Il existe de nombreuses façons de gratter les images du site Web. L’un d’eux utilise un script Python pour grattage d’images.

Vous pouvez également opter pour un grattoir d’images payant. Cependant, le coût du web scraping les outils diffèrent pour chaque fournisseur. Les prix peuvent être par page/demande ou par abonnement mensuel.

Les scrapers d’images fonctionnent en demandant l’intégralité du contenu HTML d’une page Web. Ensuite, ils identifient les éléments d’image cibles à gratter.

Ensuite, il utilisera les URL sources des images collectées pour télécharger les fichiers à stocker.

???? Note

Les scrapers d’images payants peuvent être coûteux, surtout si vous prévoyez de les utiliser plusieurs fois. Voici un exemple du fonctionnement du scraping d’images automatisé à l’aide d’outils payants comme Octoparse :

Cas d’utilisation courants de Grattage d’images

Le scraping d’images est idéal pour tout type de collecte de données. Cependant, les images récupérées sont couramment utilisées pour deux applications : le développement de l’IA et le commerce électronique.

Voici comment le scraping d’images est utilisé dans ces domaines :

Développement de l’IA

Les développeurs d’IA utilisent grattage d’images pour recueillir des données pour entraîner leurs modèles. Ces projets nécessitent d’innombrables images que l’on ne peut obtenir qu’avec des scrapers premium.

En bref, le grattage d’images facilite la collecte de références pour les projets d’IA.

Recherche sur le commerce électronique

Grattage d’images est également une méthode typique utilisée dans la recherche sur le commerce électronique. Les photos contiennent souvent des données telles que des prix, des descriptions et des avis clients.

Gratter des images avec celles-ci rend l’analyse et la recherche moins chronophages.

???? Article utile

Lors du scraping de sites Web de commerce électronique, le processus dépend des données cibles. Consultez ce guide TechJury pour en savoir plus sur comment gratter les sites de commerce électronique.

Ce dont vous avez besoin pour gratter des photos

Cet article souligne comment récupérer des images d’un site Web en utilisant des scripts Python simples. Cette méthode vous permet de gratter des images gratuitement tout en bénéficiant de la même qualité de sortie.

Vous n’avez pas à vous inquiéter si vous n’avez aucune expérience en codage. Il ne vous reste plus qu’à suivre les étapes.

Cependant, avant de commencer le processus, voici les éléments dont vous aurez besoin :

  1. Éditeur de code ou environnement de développement intégré

Un éditeur de code est l’endroit où vous écrirez vos scripts. L’EDI le plus populaire est Code de Visual Studio de Microsoft. Cependant, vous êtes libre d’utiliser l’éditeur de code de votre choix.

  1. Python

Python est un langage de programmation simple et facile à utiliser. Il prend en charge de nombreuses bibliothèques pour maximiser les activités de scraping.

A LIRE :  5 façons simples de savoir si votre FAI limite votre vitesse Internet

Conseil de pro

Utilisez toujours le dernière version de Python. De cette façon, vous pouvez vous assurer que le langage sera compatible avec les nouvelles bibliothèques et packages.

Pour savoir si vous disposez déjà de la dernière version, exécutez cette commande sur votre invite de commande ou votre terminal :

Les résultats doivent afficher le numéro de version la plus récente de Python :

Conseil de pro

Si vous envisagez de récupérer des images sur plusieurs pages, vous aurez besoin de proxys rotatifs pour éviter les blocages dus aux mesures anti-bot de votre site Web cible.

Heureusement, Python peut faire pivoter les proxyset vous pouvez facilement le faire pour une couche de sécurité supplémentaire.

  1. BelleSoupe

Outre l’IDE et Python, vous utiliserez également le module BeautifulSoup pour récupérer des images. Pour l’installer, exécutez :

Ce module dispose de nombreuses fonctions de sélection pour identifier l’ensemble de données que vous souhaitez récupérer.

???? Saviez-vous?

Outre le grattage d’images, vous pouvez également utiliser le module BeautifulSoup lorsque récupérer les résultats de recherche de Google. C’est un outil pratique compatible avec Python et fonctionne bien dans d’autres tâches de scraping.

Une fois que vous avez les trois, vous êtes prêt à créer votre grattoir d’images en Python.

5 étapes pour récupérer des images d’un site Web

Il existe cinq étapes pour récupérer des photos sur n’importe quel site Web. Ces étapes sont :

Comment récupérer des images d'un site Web

Continuez à lire pour savoir comment effectuer chaque étape.

Étape 1 : Importer les modules

La première étape consiste à importer les modules nécessaires à l’exécution de la tâche.

importer demandes
depuis bs4 importer BelleSoupe
importer système d’exploitation

Le module de requêtes enverra des requêtes HTTP au site Web cible. Tu peux courir demandes d’installation pip s’il n’est pas installé sur votre appareil.

Le module OS manipule les fonctions du bureau, telles que la création de dossiers et la modification de fichiers. BeautifulSoup est le module d’analyse principal.

Étape 2 : envoyer la requête HTTP

Vous pouvez utiliser le code suivant pour envoyer la requête HTTP :

URL = « https://www.freeimages.com/search/dogs »

réponse = requêtes.get (url)

soupe = BeautifulSoup(response.content, « html.analyseur »)

Vous pouvez définir le ‘URL‘ comme adresse cible, utilisez le obtenir() fonction, puis enregistrez la réponse au ‘réponse‘ objet.

Le BelleSoup() la fonction crée un objet à partir du contenu du ‘réponse.’ Le html.parser L’argument spécifie l’analyseur que vous utiliserez et qui est intégré à BeautifulSoup.

Étape 3 : Identifiez les sélecteurs

Par exemple, vos données cibles sont un ensemble d’images de chiens sur la première page du « chiens » Résultats de recherche. Pour les identifier, vous devez inspecter la structure HTML de la page Web.

Vous pouvez le faire en cliquant avec le bouton droit n’importe où sur la page et en sélectionnant Inspecter pour accéder aux DevTools.

Page source d'un exemple de page Web

Passez le pointeur de votre souris sur n’importe quel élément et il mettra en surbrillance l’élément correspondant dans la page réellement rendue.

Dans cet exemple, le ‘imgLa balise ‘ contenant le fichier image est imbriquée dans la balise ‘div’ étiquette avec le ‘classe‘attribut et « grille-image-wrapper » valeur.

Pour capturer la source du fichier image, utilisez le code suivant :

div_elements = soupe.find_all(« div »classe_=« grille-image-wrapper »)

pour index, div_element dans énumérer (div_elements):
img_element = div_element.find(« image »)

Le Trouver tout() La fonction trouvera toutes les balises et correspondances de valeurs d’attribut comme indiqué.

Sur la ligne de code suivante, le trouver() la fonction trouvera le ‘img‘tag de chaque match.

Si vous revenez au contenu HTML, le ‘srcL’attribut ‘ contient uniquement l’aperçu ou la miniature de l’image, ce qui n’est pas ce que vous souhaitez.

La source naturelle de l’image est dans le ‘données-src‘ attribut. Cependant, ce n’est pas le cas de toutes les photos. Certains d’entre eux sont dans ‘src‘! Pour résoudre ce problème, vous pouvez utiliser :

A LIRE :  Que sont les systèmes téléphoniques professionnels : guide de A à Z pour les débutants !

si « données-src » dans img_element.attrs :
image_url = img_element[« data-src »]
autre:
image_url = img_element[« src »]

Bien que ce ne soit pas nécessaire, voici un code supplémentaire pour ignorer les images codées en base64 :

si image_url.startswith(« données:image/ ») :
imprimer(« Ignorer l’image codée en base64 : »URL de l’image)
continuer

Il est temps de télécharger les fichiers.

Étape 4 : Télécharger et stocker des images de fichiers

Vous avez déjà collecté les URL des images à l’étape précédente. Pour envoyer une requête pour les « récupérer », utilisez :

image_response = requêtes.get(image_url)

Pour nommer les fichiers image :

nom de fichier = f »image_{index+1}.jpg »

Vous pouvez créer manuellement un dossier dans lequel enregistrer les fichiers ou l’utiliser pour en créer un automatiquement :

os.makedirs(« images_grattées »existe_ok=Vrai)

Pour télécharger et enregistrer les fichiers dans le dossier « scraped_images » :

file_path = os.path.join(« images_grattées »nom de fichier)

avec ouvert(chemin_fichier, « wb ») comme F:
f.write(image_response.content)

Pour imprimer les résultats dans votre terminal :

imprimer(« Téléchargé : »chemin du fichier)

Ce dernier morceau de code vous aidera à suivre les résultats sur le terminal.

Étape 5 : Exécuter le code

Passez en revue l’intégralité du script pour détecter les problèmes de syntaxe. Le code entier devrait ressembler à ceci :

importer demandes
depuis bs4 importer BelleSoupe
importer système d’exploitation

# URL du site Web à gratter
URL = « https://www.freeimages.com/search/dogs »

# Envoyer une requête GET au site Web
réponse = requêtes.get (url)

# Créer un objet BeautifulSoup
soupe = BeautifulSoup(response.content, « html.analyseur »)

# Créez un dossier pour enregistrer les images récupérées
os.makedirs(« images_grattées », existe_ok=Vrai)

# Trouver tous les éléments div avec la classe « grid-image-wrapper »
div_elements = soupe.find_all(« div »classe_=« grille-image-wrapper »)

# Parcourez chaque élément div
pour index, div_element dans énumérer (div_elements):
# Trouvez la balise img dans le div
img_element = div_element.find(« img »)

# Extrayez l’URL de l’image de l’attribut « data-src » si disponible
# sinon retour à l’attribut « src »
si « données-src » dans img_element.attrs :
image_url = img_element[« data-src »]
autre:
image_url = img_element[« src »]

# Vérifiez si l’URL de l’image commence par « data:image/ »
si image_url.startswith(« données:image/ ») :
imprimer(« Ignorer l’image codée en base64 : »URL de l’image)
continuer

# Envoyez une requête GET pour télécharger l’image
image_response = requêtes.get(image_url)

# Générer un nom de fichier pour l’image
nom de fichier = f »image_{index+1}.jpg »

# Définissez le chemin du fichier pour enregistrer l’image
file_path = os.path.join(« images_grattées »nom de fichier)

# Enregistrez l’image dans le répertoire spécifié
avec ouvert(chemin_fichier, « wb ») comme F:
f.write(image_response.content)

imprimer(« Téléchargé : »chemin du fichier)

Une fois que vous avez enregistré le script Python sous imagescraper.pyexécutez le script sur votre terminal comme :

Attendez la fin des téléchargements. Vous devriez obtenir un ensemble d’images parfaitement organisées enregistrées dans le dossier désigné.

Images récupérées de la page Web cible

Vous venez de terminer la création de votre grattoir d’images en Python.

Conseil de pro

Faites attention au moment où vous grattez. Grattez les images en dehors des heures de pointe du site pour éviter une surcharge du serveur. Cela empêchera également les utilisateurs réels d’avoir une expérience lente ou mauvaise.

La légalité du grattage de photos

Comme le web scraping, grattage d’images est légal si vous n’extrayez pas de contenu protégé par droit d’auteur ou par mot de passe. En outre, vous devez noter que le propriétaire du site a le dernier mot s’il souhaite que son contenu soit supprimé.

???? Note

Vérifiez toujours les sites pour robot.txt ou Conditions d’utilisation (ToS). Ces fichiers et pages vous montreront ce que vous pouvez et ne pouvez pas faire avec leur contenu publié.

Le contenu protégé par le droit d’auteur peut également être accessible au public, il s’agit donc de savoir comment on va l’utiliser. Ce type de contenu est protégé par DMCAquelle que soit sa disponibilité.

Conclusion

Grattage d’images est extrêmement utile pour diverses activités de recherche nécessitant des images. Avec seulement un éditeur de code, Python et BeautifulSoup, vous pouvez facilement récupérer des images, même sans expérience préalable en codage.

Cependant, gardez toujours à l’esprit que vous devez respecter les sources du site en suivant leurs conditions d’utilisation et en limitant le volume des demandes de scraping.