Maison développement back-end tutoriel php Explorez les images du site Web et téléchargez-les automatiquement localement

Explorez les images du site Web et téléchargez-les automatiquement localement

Jun 13, 2023 pm 01:28 PM
自动化 爬虫 图片下载

À l'ère d'Internet, les gens se sont habitués à télécharger des photos à partir de divers sites Web tels que des galeries et des plateformes sociales. Si vous n'avez besoin de télécharger qu'un petit nombre d'images, l'opération manuelle n'est pas fastidieuse. Cependant, si un grand nombre d'images doivent être téléchargées, l'opération manuelle deviendra très longue et laborieuse. À l'heure actuelle, la technologie d'automatisation doit être utilisée pour réaliser le téléchargement automatique des images.

Cet article explique comment utiliser la technologie de robot d'exploration Python pour télécharger automatiquement des images du site Web vers l'ordinateur local. Ce processus est divisé en deux étapes : la première étape consiste à utiliser la bibliothèque de requêtes de Python ou la bibliothèque Selenium pour récupérer les liens d'images sur le site Web ; la deuxième étape consiste à télécharger les images au niveau local via l'urllib ou la bibliothèque de requêtes de Python en fonction des résultats obtenus. links.

Première étape : obtenir le lien de l'image

  1. Utilisez la bibliothèque de requêtes pour explorer le lien

Voyons d'abord comment utiliser la bibliothèque de requêtes pour explorer le lien de l'image. L'exemple de code est le suivant :

import requests
from bs4 import BeautifulSoup

url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

img_tags = soup.find_all('img')

urls = [img['src'] for img in img_tags]
Copier après la connexion

En prenant l'exemple de site Web Exemple, utilisez d'abord la bibliothèque de requêtes pour explorer le contenu Web et utilisez la bibliothèque BeautifulSoup pour analyser le HTML. Ensuite, nous utilisons la méthode soup.find_all('img') pour obtenir toutes les balises img en HTML, et utilisons les compréhensions de liste pour extraire la valeur de l'attribut src dans chaque balise. soup.find_all('img') 方法来获取 HTML 中所有的 img 标签,并使用列表解析式将每个标签中的 src 属性的值提取出来。

  1. 使用 selenium 库爬取链接

另一种获取图片链接的方式是使用 selenium 库,示例代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from time import sleep

url = 'http://example.com'

options = Options()
options.add_argument('--headless')

service = Service('/path/to/chromedriver')
driver = webdriver.Chrome(service=service, options=options)
driver.get(url)

sleep(2)

img_tags = driver.find_elements_by_tag_name('img')

urls = [img.get_attribute('src') for img in img_tags]
Copier après la connexion

这里我们使用了 ChromeDriver,使用时需要先将自己电脑上的 ChromeDriver 的路径填入到示例代码中的 'path/to/chromedriver' 处。第二行代码启用无头浏览器,避免在 Chrome 浏览器窗口中进行操作,提高运行速度。然后我们使用 selenium 库中的 webdriver 模块建立了一个 Chrome 浏览器的实例,通过设置 driver.get(url) 来打开 Example 网站。然后使用 driver.find_elements_by_tag_name('img') 获取到所有的 img 标签,进而获取每个标签中的 src 属性的值。

第二步:下载图片

下载图片的方式有多种,这里我们使用 Python 自带的 urllib 库或者 requests 库来下载。示例代码如下:

import urllib.request

for url in urls:
    filename = url.split('/')[-1]
    urllib.request.urlretrieve(url, filename)
Copier après la connexion

这里使用 urllib.request 库将图片从网络上下载到本地,使用 url.split('/')[-1] 来获取图片的文件名,并将其赋值给变量 filename,最后使用 urllib.request.urlretrieve(url, filename) 将图片下载到本地。需要注意的是,如果 url 中包含中文,还需要对 url 进行编码处理。

这里再简单介绍一下使用 requests 库下载图片的方法,示例代码如下:

import requests

for url in urls:
    filename = url.split('/')[-1]
    response = requests.get(url)
    with open(filename, 'wb') as f:
        f.write(response.content)
Copier après la connexion

这里使用 requests 库获取图片二进制文件,将其写入文件。需要注意的是,由于二进制文件写入模式为 'wb',需要使用 with open(filename, 'wb') as f:

    Utilisez la bibliothèque Selenium pour explorer les liens

    Une autre façon d'obtenir des liens d'images consiste à utiliser la bibliothèque Selenium. L'exemple de code est le suivant :

    rrreee🎜Ici, nous utilisons ChromeDriver, vous avez besoin. pour l'utiliser d'abord, remplissez le chemin de ChromeDriver sur votre ordinateur vers 'path/to/chromedriver' dans l'exemple de code. La deuxième ligne de code active un navigateur sans tête, ce qui évite de fonctionner dans la fenêtre du navigateur Chrome et augmente la vitesse. Ensuite, nous utilisons le module webdriver dans la bibliothèque Selenium pour créer une instance du navigateur Chrome et ouvrir l'exemple de site Web en définissant driver.get(url). Utilisez ensuite driver.find_elements_by_tag_name('img') pour obtenir toutes les balises img, puis obtenez la valeur de l'attribut src dans chaque balise. 🎜🎜Étape 2 : Télécharger des images 🎜🎜Il existe de nombreuses façons de télécharger des images. Ici, nous utilisons la propre bibliothèque d'urllib de Python ou la bibliothèque de requêtes à télécharger. L'exemple de code est le suivant : 🎜rrreee🎜Ici, nous utilisons la bibliothèque urllib.request pour télécharger des images d'Internet vers le local, utilisez url.split('/')[-1] pour obtenir le nom de fichier de l'image, et attribuez-le au nom de fichier variable, et enfin utilisez urllib.request.urlretrieve(url, filename) pour télécharger l'image localement. Il convient de noter que si l’url contient du chinois, elle doit également être codée. 🎜🎜Voici une brève introduction sur la façon d'utiliser la bibliothèque de requêtes pour télécharger des images. L'exemple de code est le suivant : 🎜rrreee🎜Ici, nous utilisons la bibliothèque de requêtes pour obtenir le fichier binaire de l'image et l'écrire dans le fichier. Il convient de noter que puisque le mode d'écriture du fichier binaire est 'wb', vous devez utiliser with open(filename, 'wb') as f: pour ouvrir le fichier. et Écrivez, en vous assurant que chaque fichier est correctement fermé. 🎜🎜Résumé🎜🎜En résumé, grâce à la technologie de robot d'exploration Python, nous pouvons facilement explorer les images sur le site Web et les télécharger automatiquement localement. Cette technologie d'automatisation peut nous aider à améliorer l'efficacité du travail et est très utile pour les travaux nécessitant le traitement d'un grand nombre d'images. Dans le même temps, il convient de rappeler que l’exploration des images provenant de sites Web doit être conforme aux lois et réglementations en vigueur et respecter les droits d’auteur du site Web. Si vous n'avez pas d'autorisation ou d'autorisation officielle du site Web, n'explorez pas les images sur le site Web sans autorisation. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Combien de temps faut-il pour apprendre le robot d'exploration Python Combien de temps faut-il pour apprendre le robot d'exploration Python Oct 25, 2023 am 09:44 AM

Le temps nécessaire pour apprendre les robots d'exploration Python varie d'une personne à l'autre et dépend de facteurs tels que la capacité d'apprentissage personnelle, les méthodes d'apprentissage, le temps d'apprentissage et l'expérience. L'apprentissage des robots d'exploration Python ne consiste pas seulement à apprendre la technologie elle-même, mais nécessite également de bonnes compétences en matière de collecte d'informations, de résolution de problèmes et de travail d'équipe. Grâce à un apprentissage et à une pratique continus, vous deviendrez progressivement un excellent développeur de robots Python.

Comprendre les différences et les comparaisons entre SpringBoot et SpringMVC Comprendre les différences et les comparaisons entre SpringBoot et SpringMVC Dec 29, 2023 am 09:20 AM

Comparez SpringBoot et SpringMVC et comprenez leurs différences Avec le développement continu du développement Java, le framework Spring est devenu le premier choix pour de nombreux développeurs et entreprises. Dans l'écosystème Spring, SpringBoot et SpringMVC sont deux composants très importants. Bien qu'ils soient tous deux basés sur le framework Spring, il existe certaines différences dans les fonctions et l'utilisation. Cet article se concentrera sur la comparaison de SpringBoot et Spring

Jenkins en intégration continue PHP : maîtrise de l'automatisation de la construction et du déploiement Jenkins en intégration continue PHP : maîtrise de l'automatisation de la construction et du déploiement Feb 19, 2024 pm 06:51 PM

Dans le développement de logiciels modernes, l'intégration continue (CI) est devenue une pratique importante pour améliorer la qualité du code et l'efficacité du développement. Parmi eux, Jenkins est un outil CI open source mature et puissant, particulièrement adapté aux applications PHP. Le contenu suivant explique comment utiliser Jenkins pour implémenter l'intégration continue PHP et fournit un exemple de code spécifique et des étapes détaillées. Installation et configuration de Jenkins Tout d'abord, Jenkins doit être installé sur le serveur. Téléchargez et installez simplement la dernière version depuis son site officiel. Une fois l'installation terminée, une configuration de base est requise, notamment la configuration d'un compte administrateur, l'installation du plug-in et la configuration des tâches. Créer une nouvelle tâche Sur le tableau de bord Jenkins, cliquez sur le bouton "Nouvelle tâche". Sélectionnez "Libère

Comment supprimer l'automatisation des commandes de raccourci Apple Comment supprimer l'automatisation des commandes de raccourci Apple Feb 20, 2024 pm 10:36 PM

Comment supprimer l'automatisation des raccourcis Apple Avec le lancement du nouveau système iOS13 d'Apple, les utilisateurs peuvent utiliser des raccourcis (raccourcis Apple) pour personnaliser et automatiser diverses opérations du téléphone mobile, ce qui améliore considérablement l'expérience de l'utilisateur sur le téléphone mobile. Cependant, nous devrons parfois supprimer certains raccourcis qui ne sont plus nécessaires. Alors, comment supprimer l’automatisation des commandes de raccourci Apple ? Méthode 1 : Supprimer via l'application Raccourcis Sur votre iPhone ou iPad, ouvrez l'application « Raccourcis ». Sélectionnez dans la barre de navigation inférieure

Pratique efficace du robot d'exploration Java : partage des techniques d'exploration de données Web Pratique efficace du robot d'exploration Java : partage des techniques d'exploration de données Web Jan 09, 2024 pm 12:29 PM

Pratique du robot d'exploration Java : Comment explorer efficacement les données d'une page Web Introduction : Avec le développement rapide d'Internet, une grande quantité de données précieuses est stockée dans diverses pages Web. Pour obtenir ces données, il est souvent nécessaire d’accéder manuellement à chaque page web et d’en extraire les informations une par une, ce qui est sans doute une tâche fastidieuse et chronophage. Afin de résoudre ce problème, les utilisateurs ont développé divers outils de robots d'exploration, parmi lesquels le robot d'exploration Java est l'un des plus couramment utilisés. Cet article amènera les lecteurs à comprendre comment utiliser Java pour écrire un robot d'exploration Web efficace et à démontrer la pratique à travers des exemples de code spécifiques. 1. La base du reptile

Utiliser des scripts Python pour implémenter la planification et l'automatisation des tâches sous la plateforme Linux Utiliser des scripts Python pour implémenter la planification et l'automatisation des tâches sous la plateforme Linux Oct 05, 2023 am 10:51 AM

Utilisation de scripts Python pour mettre en œuvre la planification et l'automatisation des tâches sous la plate-forme Linux Dans l'environnement informatique moderne, la planification et l'automatisation des tâches sont devenues des outils essentiels pour la plupart des entreprises. En tant que langage de programmation simple, facile à apprendre et riche en fonctionnalités, Python est très pratique et efficace pour mettre en œuvre la planification et l'automatisation des tâches sur la plate-forme Linux. Python fournit une variété de bibliothèques pour la planification des tâches, dont la plus couramment utilisée et la plus puissante est crontab. crontab est un système de gestion et de planification

Comment la robotique et l'intelligence artificielle peuvent automatiser les chaînes d'approvisionnement Comment la robotique et l'intelligence artificielle peuvent automatiser les chaînes d'approvisionnement Feb 05, 2024 pm 04:40 PM

La technologie d’automatisation est largement utilisée dans différentes industries, notamment dans le domaine de la chaîne d’approvisionnement. Aujourd’hui, il est devenu un élément important des logiciels de gestion de la chaîne d’approvisionnement. À l'avenir, avec le développement de la technologie d'automatisation, l'ensemble de la chaîne d'approvisionnement et des logiciels de gestion de la chaîne d'approvisionnement subira des changements majeurs. Cela conduira à une gestion plus efficace de la logistique et des stocks, à améliorer la rapidité et la qualité de la production et de la livraison et, en retour, à promouvoir le développement et la compétitivité des entreprises. Les acteurs tournés vers l’avenir de la chaîne d’approvisionnement sont prêts à faire face à la nouvelle situation. Les DSI doivent prendre les devants pour garantir les meilleurs résultats pour leur organisation, et il est essentiel de comprendre le rôle de la robotique, de l’intelligence artificielle et de l’automatisation dans la chaîne d’approvisionnement. Qu'est-ce que l'automatisation de la chaîne d'approvisionnement ? L'automatisation de la chaîne d'approvisionnement fait référence à l'utilisation de moyens technologiques pour réduire ou éliminer la participation humaine aux activités de la chaîne d'approvisionnement. il couvre une variété de

Comment automatiser les opérations de script sous Linux à l'aide de Java Comment automatiser les opérations de script sous Linux à l'aide de Java Oct 05, 2023 pm 12:09 PM

Comment utiliser Java pour écrire des scripts pour automatiser les opérations sous Linux Dans les systèmes Linux, nous pouvons utiliser Java pour écrire des scripts pour automatiser les opérations. Java est un langage de programmation multiplateforme doté de puissantes fonctionnalités orientées objet et d'une riche prise en charge de bibliothèques de classes. Dans cet article, nous apprendrons comment utiliser Java pour écrire des scripts permettant d'automatiser les opérations sous Linux et donnerons des exemples de code spécifiques. Tout d’abord, nous devons installer le Java Development Kit (JDK) sur Linux. je

See all articles