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.
Ich möchte ein Parfümbild speichern. Ich dachte, es wäre praktisch, wenn es automatisch gespeichert werden könnte.
OS | Windows 10 |
---|---|
Python | 3.7.3 |
requests | 2.22.0 |
beautifulsoup4 | 4.8.2 |
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)
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.
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.
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.
http://kondou.com/BS4/ https://qiita.com/Azunyan1111/items/9b3d16428d2bcc7c9406 https://qiita.com/YosukeHoshi/items/189c615187f41f2f4e27
Recommended Posts