Heim Backend-Entwicklung PHP-Tutorial Crawlen Sie Bilder von der Website und laden Sie sie automatisch lokal herunter

Crawlen Sie Bilder von der Website und laden Sie sie automatisch lokal herunter

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

Im Internetzeitalter haben sich die Menschen daran gewöhnt, Bilder von verschiedenen Websites wie Galerien und sozialen Plattformen herunterzuladen. Wenn Sie nur eine kleine Anzahl Bilder herunterladen müssen, ist die manuelle Bedienung nicht umständlich. Wenn jedoch eine große Anzahl von Bildern heruntergeladen werden muss, wird der manuelle Vorgang sehr zeitaufwändig und mühsam. Zu diesem Zeitpunkt muss Automatisierungstechnologie eingesetzt werden, um das automatische Herunterladen von Bildern zu realisieren.

In diesem Artikel erfahren Sie, wie Sie mithilfe der Python-Crawler-Technologie automatisch Bilder von der Website auf den lokalen Computer herunterladen. Dieser Prozess ist in zwei Schritte unterteilt: Der erste Schritt besteht darin, die Bildlinks auf der Website mithilfe der Python-Anforderungsbibliothek oder der Selenium-Bibliothek abzurufen Links.

Schritt eins: Holen Sie sich den Bildlink

  1. Verwenden Sie die Anforderungsbibliothek, um den Link zu crawlen

Sehen wir uns zunächst an, wie Sie die Anforderungsbibliothek verwenden, um den Bildlink zu crawlen. Der Beispielcode lautet wie folgt:

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]
Nach dem Login kopieren

Nehmen Sie die Beispielwebsite als Beispiel. Verwenden Sie zunächst die Anforderungsbibliothek zum Crawlen von Webinhalten und verwenden Sie die BeautifulSoup-Bibliothek zum Parsen von HTML. Dann verwenden wir die Methode soup.find_all('img'), um alle IMG-Tags in HTML abzurufen, und verwenden Listenverständnis, um den Wert des src-Attributs in jedem Tag zu extrahieren. 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]
Nach dem Login kopieren

这里我们使用了 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)
Nach dem Login kopieren

这里使用 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)
Nach dem Login kopieren

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

    Verwenden Sie die Selenium-Bibliothek, um Links zu crawlen

    Eine andere Möglichkeit, Bildlinks zu erhalten, ist die Verwendung der Selenium-Bibliothek:

    rrreee🎜Hier verwenden wir ChromeDriver, den Sie benötigen Um es zum ersten Mal zu verwenden, geben Sie im Beispielcode den Pfad von ChromeDriver auf Ihrem Computer zu 'path/to/chromedriver' ein. Die zweite Codezeile ermöglicht einen Headless-Browser, der die Bedienung im Chrome-Browserfenster vermeidet und die Geschwindigkeit erhöht. Dann verwenden wir das Webdriver-Modul in der Selenium-Bibliothek, um eine Instanz des Chrome-Browsers zu erstellen und die Beispielwebsite zu öffnen, indem wir driver.get(url) festlegen. Verwenden Sie dann driver.find_elements_by_tag_name('img'), um alle IMG-Tags abzurufen und dann den Wert des src-Attributs in jedem Tag abzurufen. 🎜🎜Schritt 2: Bilder herunterladen 🎜🎜Es gibt viele Möglichkeiten, Bilder herunterzuladen. Hier verwenden wir Pythons eigene URLlib-Bibliothek oder Anforderungsbibliothek zum Herunterladen. Der Beispielcode lautet wie folgt: 🎜rrreee🎜Hier verwenden wir die Bibliothek urllib.request, um Bilder aus dem Internet lokal herunterzuladen. Verwenden Sie zum Abrufen url.split('/')[-1] Geben Sie den Dateinamen des Bildes ein, weisen Sie ihn der Variablen Dateiname zu und verwenden Sie schließlich urllib.request.urlretrieve(url, filename), um das Bild lokal herunterzuladen. Es ist zu beachten, dass die URL auch codiert werden muss, wenn die URL Chinesisch enthält. 🎜🎜Hier finden Sie eine kurze Einführung in die Verwendung der Anforderungsbibliothek zum Herunterladen von Bildern. Der Beispielcode lautet wie folgt: 🎜rrreee🎜Hier verwenden wir die Anforderungsbibliothek, um die Bildbinärdatei abzurufen und in die Datei zu schreiben. Es ist zu beachten, dass Sie zum Öffnen der Datei mit open(filename, 'wb') as f: verwenden müssen, da der Schreibmodus für Binärdateien 'wb' ist und Schreiben, um sicherzustellen, dass jede Datei ordnungsgemäß geschlossen wird. 🎜🎜Zusammenfassung🎜🎜Zusammenfassend lässt sich sagen, dass wir mithilfe der Python-Crawler-Technologie Bilder auf der Website problemlos crawlen und automatisch lokal herunterladen können. Diese Automatisierungstechnologie kann uns helfen, die Arbeitseffizienz zu verbessern und ist sehr hilfreich bei Arbeiten, die die Verarbeitung einer großen Anzahl von Bildern erfordern. Gleichzeitig müssen wir daran erinnert werden, dass das Crawlen von Bildern von Websites den einschlägigen Gesetzen und Vorschriften entsprechen und das Urheberrecht der Website respektieren muss. Wenn Sie keine offizielle Genehmigung oder Genehmigung der Website haben, dürfen Sie Bilder auf der Website nicht ohne Genehmigung crawlen. 🎜

Das obige ist der detaillierte Inhalt vonCrawlen Sie Bilder von der Website und laden Sie sie automatisch lokal herunter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie lange dauert es, den Python-Crawler zu erlernen? Wie lange dauert es, den Python-Crawler zu erlernen? Oct 25, 2023 am 09:44 AM

Die Zeit, die zum Erlernen von Python-Crawlern benötigt wird, ist von Person zu Person unterschiedlich und hängt von Faktoren wie persönlicher Lernfähigkeit, Lernmethoden, Lernzeit und Erfahrung ab. Beim Erlernen von Python-Crawlern geht es nicht nur um das Erlernen der Technologie selbst, sondern es sind auch gute Fähigkeiten zur Informationsbeschaffung, zur Problemlösung und zur Teamarbeit erforderlich. Durch kontinuierliches Lernen und Üben werden Sie nach und nach zu einem hervorragenden Python-Crawler-Entwickler heranwachsen.

Verstehen Sie die Unterschiede und Vergleiche zwischen SpringBoot und SpringMVC Verstehen Sie die Unterschiede und Vergleiche zwischen SpringBoot und SpringMVC Dec 29, 2023 am 09:20 AM

Vergleichen Sie SpringBoot und SpringMVC und verstehen Sie deren Unterschiede. Mit der kontinuierlichen Weiterentwicklung der Java-Entwicklung ist das Spring-Framework für viele Entwickler und Unternehmen zur ersten Wahl geworden. Im Spring-Ökosystem sind SpringBoot und SpringMVC zwei sehr wichtige Komponenten. Obwohl beide auf dem Spring-Framework basieren, gibt es einige Unterschiede in Funktionen und Verwendung. Dieser Artikel konzentriert sich auf den Vergleich von SpringBoot und Spring

Jenkins in PHP Continuous Integration: Master of Build and Deployment Automation Jenkins in PHP Continuous Integration: Master of Build and Deployment Automation Feb 19, 2024 pm 06:51 PM

In der modernen Softwareentwicklung ist die kontinuierliche Integration (CI) zu einer wichtigen Methode zur Verbesserung der Codequalität und Entwicklungseffizienz geworden. Unter diesen ist Jenkins ein ausgereiftes und leistungsstarkes Open-Source-CI-Tool, das sich besonders für PHP-Anwendungen eignet. Der folgende Inhalt befasst sich mit der Verwendung von Jenkins zur Implementierung der kontinuierlichen PHP-Integration und stellt spezifischen Beispielcode und detaillierte Schritte bereit. Jenkins-Installation und -Konfiguration Zunächst muss Jenkins auf dem Server installiert werden. Laden Sie einfach die neueste Version von der offiziellen Website herunter und installieren Sie sie. Nach Abschluss der Installation sind einige grundlegende Konfigurationen erforderlich, einschließlich der Einrichtung eines Administratorkontos, der Plug-in-Installation und der Auftragskonfiguration. Erstellen Sie einen neuen Job. Klicken Sie im Jenkins-Dashboard auf die Schaltfläche „Neuer Job“. Wählen Sie „Freigaben“.

So löschen Sie die Automatisierung von Apple-Verknüpfungsbefehlen So löschen Sie die Automatisierung von Apple-Verknüpfungsbefehlen Feb 20, 2024 pm 10:36 PM

So löschen Sie die Automatisierung von Apple-Verknüpfungen Mit der Einführung des neuen iOS13-Systems von Apple können Benutzer Verknüpfungen (Apple Shortcuts) verwenden, um verschiedene Mobiltelefonvorgänge anzupassen und zu automatisieren, was das Mobiltelefonerlebnis des Benutzers erheblich verbessert. Manchmal müssen wir jedoch möglicherweise einige Verknüpfungen löschen, die nicht mehr benötigt werden. Wie kann man also die Automatisierung von Apple-Kurzbefehlsbefehlen löschen? Methode 1: Löschen Sie über die Shortcuts-App. Öffnen Sie auf Ihrem iPhone oder iPad die App „Shortcuts“. Wählen Sie in der unteren Navigationsleiste aus

Effiziente Java-Crawler-Praxis: Weitergabe von Webdaten-Crawling-Techniken Effiziente Java-Crawler-Praxis: Weitergabe von Webdaten-Crawling-Techniken Jan 09, 2024 pm 12:29 PM

Java-Crawler-Praxis: So crawlen Sie Webseitendaten effizient Einführung: Mit der rasanten Entwicklung des Internets werden große Mengen wertvoller Daten auf verschiedenen Webseiten gespeichert. Um diese Daten zu erhalten, ist es oft notwendig, manuell auf jede Webseite zuzugreifen und die Informationen einzeln zu extrahieren, was zweifellos eine mühsame und zeitaufwändige Aufgabe ist. Um dieses Problem zu lösen, wurden verschiedene Crawler-Tools entwickelt, von denen der Java-Crawler eines der am häufigsten verwendeten ist. Dieser Artikel führt den Leser dazu, zu verstehen, wie man mit Java einen effizienten Webcrawler schreibt, und demonstriert die Praxis anhand spezifischer Codebeispiele. 1. Die Basis des Reptils

Verwenden Sie Python-Skripte, um die Aufgabenplanung und -automatisierung unter der Linux-Plattform zu implementieren Verwenden Sie Python-Skripte, um die Aufgabenplanung und -automatisierung unter der Linux-Plattform zu implementieren Oct 05, 2023 am 10:51 AM

Verwendung von Python-Skripten zur Implementierung der Aufgabenplanung und -automatisierung unter der Linux-Plattform In der modernen Informationstechnologieumgebung sind Aufgabenplanung und -automatisierung für die meisten Unternehmen zu unverzichtbaren Werkzeugen geworden. Als einfache, leicht zu erlernende und funktionsreiche Programmiersprache eignet sich Python sehr praktisch und effizient für die Implementierung der Aufgabenplanung und -automatisierung auf der Linux-Plattform. Python bietet eine Vielzahl von Bibliotheken für die Aufgabenplanung. Die am häufigsten verwendete und leistungsstärkste davon ist crontab. Crontab ist ein Verwaltungs- und Planungssystem

Wie Robotik und künstliche Intelligenz Lieferketten automatisieren können Wie Robotik und künstliche Intelligenz Lieferketten automatisieren können Feb 05, 2024 pm 04:40 PM

Automatisierungstechnik findet in verschiedenen Branchen, insbesondere im Supply-Chain-Bereich, breite Anwendung. Heute ist es ein wichtiger Bestandteil der Supply-Chain-Management-Software. Mit der Weiterentwicklung der Automatisierungstechnik wird sich in Zukunft die gesamte Supply Chain und Supply Chain Management Software stark verändern. Dies wird zu einer effizienteren Logistik und Bestandsverwaltung führen, die Geschwindigkeit und Qualität von Produktion und Lieferung verbessern und wiederum die Entwicklung und Wettbewerbsfähigkeit von Unternehmen fördern. Vorausschauende Supply-Chain-Akteure sind bereit, mit der neuen Situation umzugehen. CIOs sollten die Führung übernehmen, um die besten Ergebnisse für ihre Organisationen sicherzustellen. Dabei ist es von entscheidender Bedeutung, die Rolle von Robotik, künstlicher Intelligenz und Automatisierung in der Lieferkette zu verstehen. Was ist Supply-Chain-Automatisierung? Unter Supply-Chain-Automatisierung versteht man den Einsatz technologischer Mittel, um die menschliche Beteiligung an Lieferkettenaktivitäten zu reduzieren oder zu eliminieren. Es deckt eine Vielzahl von Themen ab

So automatisieren Sie Skriptvorgänge unter Linux mit Java So automatisieren Sie Skriptvorgänge unter Linux mit Java Oct 05, 2023 pm 12:09 PM

So verwenden Sie Java zum Schreiben von Skripten zur Automatisierung von Vorgängen unter Linux. In Linux-Systemen können wir Java zum Schreiben von Skripten zur Automatisierung von Vorgängen verwenden. Java ist eine plattformübergreifende Programmiersprache mit leistungsstarken objektorientierten Funktionen und umfassender Klassenbibliotheksunterstützung. In diesem Artikel erfahren Sie, wie Sie mit Java Skripts schreiben, um Vorgänge unter Linux zu automatisieren, und geben konkrete Codebeispiele. Zuerst müssen wir das Java Development Kit (JDK) unter Linux installieren. ICH

See all articles