[PYTHON] Speichern Sie Bilder mit Web Scraping

Überblick

Speichern Sie die Bilder auf Ihrer Website mit Python-Anfragen und Beautiful Soup auf Ihrem PC. Das Bild wird übrigens angezeigt, wenn das Skript ausgeführt wird.

Motivation

Ich möchte ein Parfümbild speichern. Ich dachte, es wäre praktisch, wenn es automatisch gespeichert werden könnte.

Entwicklung von

Umgebung

OS Windows 10
Python 3.7.3
requests 2.22.0
beautifulsoup4 4.8.2

Code abgeschlossen

main.py


import requests
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
import cv2

root = "https://www.perfume-web.jp/"
url = "https://www.perfume-web.jp/index-jpn.php"
store_path = "PATH"

def img_store(path):p
    img = requests.get(path).content

    print(path)

    with open(store_path, "wb") as f:
        f.write(img)

    img_local = cv2.cvtColor(cv2.imread(store_path), cv2.COLOR_BGR2RGB)

    plt.imshow(img_local)
    plt.show()

response = requests.get(url)

soup = BeautifulSoup(response.text, "html.parser")

top_img = soup.find("div", id="main").find("img").get("src")

img_store(root+top_img)

Erläuterung

response = requests.get(url)

soup = BeautifulSoup(response.text, "html.parser")

top_img = soup.find("div", id="main").find("img").get("src")

Extrahiert HTML aus der angegebenen URL. (Zeilen 1 und 2) Lesen Sie dann den HTML-Code der Site. Sie können die Methode in dem Fenster lesen, das angezeigt wird, wenn Sie mit der linken Maustaste auf Chrome klicken und "Überprüfen" auswählen. Dieses Mal möchte ich das oberste Bild der WEB-Seite aufnehmen, also habe ich den Hauptteil des div-Tags angegeben. Find () ruft nur das erste ab, das angezeigt wird, auch wenn es dasselbe Tag oder dieselbe ID hat, sodass nur ein Wert zurückgegeben wird. Ich habe die src des img-Tags darin. Sie können die Tags und IDs nur in HTML finden, indem Sie die Site und HTML tatsächlich lesen und Ihre eigenen Ideen entwickeln. In bs4 werden viele Funktionen bereitgestellt, um komplexere Elemente zu erfassen.

 top_img = soup.find("div", id="main").find("img").get("src")

def img_store(path):p
    img = requests.get(path).content

    print(path)

    with open(store_path, "wb") as f:
        f.write(img)

    img_local = cv2.cvtColor(cv2.imread(store_path), cv2.COLOR_BGR2RGB)

    plt.imshow(img_local)
    plt.show()

Da der Pfad des Bildes ein relativer Pfad war, habe ich die Domäne der Site als Stamm vorbereitet und die richtige URL des Bildes erstellt, indem ich mich mit dem relativen Pfad des erfassten Bildes verbunden habe. Der Rest ist Speichern und Anzeigen. Was ich mit matplotlib gezeigt habe, ist ein Hobby. Es fühlt sich gut an, eine Skala entsprechend der Anzahl der Pixel zu haben.

Ergebnis

スクリーンショット (7).png Es wird so angezeigt. (Ich habe die kostbaren Gesichter der drei Personen versteckt. Wenn Sie es sehen möchten, besuchen Sie bitte Parfüm-Website) Sie können andere Bilder speichern, indem Sie die Art und Weise ändern, wie Sie nach Bildern suchen.

Erwägung

Ich habe Web Scraping als Sprungbrett für die Idee versucht, dass es schön wäre, wenn die Site automatisch aktualisiert werden könnte. Es scheint, dass es verschiedene Regeln und Gesetze für das Web-Scraping gibt. Weitere Informationen finden Sie auf der folgenden Website. Es ist eine Art Angriff, der den Server der anderen Partei belastet. .. .. https://qiita.com/nezuq/items/c5e827e1827e7cb29011 Zum Debuggen und Üben empfiehlt es sich, den gesamten HTML-Code für Ihre Site einmal zu speichern und zu verwenden. Es ist beängstigend, eine unerwartete Endlosschleife zu haben.

Referenz

http://kondou.com/BS4/ https://qiita.com/Azunyan1111/items/9b3d16428d2bcc7c9406 https://qiita.com/YosukeHoshi/items/189c615187f41f2f4e27

Recommended Posts

Speichern Sie Bilder mit Web Scraping
Laden Sie Bilder automatisch mit Scraping herunter
Web Scraping mit Python + JupyterLab
Einfaches Web-Scraping mit Scrapy
Web Scraping Anfänger mit Python
Web Scraping
Scraping von Alexas Web Rank mit pyQuery
Web Scraping mit Python Erster Schritt
Ich habe versucht, WebScraping mit Python.
GAN: DCGAN Part1 - Webbilder abkratzen
Speichern Sie Bilder im Web mit Python (Colab) auf einem Laufwerk.
Schaben mit Selen
Schaben mit Selen ~ 2 ~
Scraping mit Python
WEB-Scraping mit Python (für persönliche Notizen)
Scraping mit Python
Erste Schritte mit Python Web Scraping Practice
Web Scraping (Prototyp)
Schaben mit Selen
[Persönlicher Hinweis] Scraping von Webseiten in Python3
Pferderennseite Web Scraping mit Python
100 Fortnite-Bilder kratzen
Erste Schritte mit Python Web Scraping Practice
Üben des Web-Scrapings mit Python und Selen
Einfaches Web-Scraping mit Python und Ruby
WEB-Scraping mit BeautifulSoup4 (Seriennummernseite)
[Für Anfänger] Versuchen Sie Web Scraping mit Python
Führen Sie das WEB-Scraping regelmäßig mit AWS-Lambda + Python + Cron aus
Web Scraping mit Python (Wettervorhersage)
Web Scraping mit Python (Aktienkurs)
Scraping in Python (Vorbereitung)
Speichern Sie Speicher mit `` __slots__``
Scraping mit Python + PhantomJS
Erste Schritte mit Web Scraping
Schaben mit kratzender Schale
[Python] So speichern Sie Bilder mit Beautiful Soup sofort im Web
Scraping: Website lokal speichern
Schaben mit Selen [Python]
Scraping mit Python + PyQuery
Kratzen mit schöner Suppe
Scraping von RSS mit Python
Bild mit Python-Pptx zentrieren
Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
Schnelles Web-Scraping mit Python (unterstützt das Laden von JavaScript)
Python-Anfänger bleiben beim ersten Web-Scraping stecken
Ich habe versucht, mit Python zu kratzen
Speichern Sie Bilder mit Python3-Anforderungen
Schaben mit Selen in Python
Schaben mit Selen + Python Teil 1
Schaben mit Chromedriver in Python
Festliches Scraping mit Python, Scrapy
Sofort von Google-Bildern abkratzen!
Entwicklung von Webanwendungen mit Flask
Scraping mit Selen in Python
WEB-Scraping-Technologie und Bedenken
Erstellen Sie eine Webanwendung mit Django