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
|
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 :
- É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.
- 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.
✅ 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. |
- 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 :
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 |
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 » |
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.
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 ») |
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 :
si « données-src » dans img_element.attrs : |
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/ ») : |
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) |
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 |
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é.
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.