Hier werden wir "So speichern Sie Bilder sofort im Web" durch Web-Scraping vorstellen.
: Warnung: Achtung: Warnung: Wenn Sie urheberrechtlich geschützt sind oder wenn das Urheberrecht in Ordnung ist, das Abkratzen jedoch durch die Nutzungsbedingungen verboten ist, besteht die Möglichkeit, Schadensersatz zu verlangen. Bitte verstehen Sie das Urheberrecht und die Nutzungsbedingungen im Internet Lass uns kratzen.
Web Scraping kann in verschiedenen Sprachen wie "Ruby", "PHP" und "Javascript" durchgeführt werden. Dieses Mal werden wir die Methode jedoch mit Pythons "Beautiful Soup" vorstellen.
① Installieren Sie beautifulsoup4 mit pip
pip install beautifulsoup4
② Entscheiden Sie sich für die Site, um das Web-Scraping durchzuführen
③ Rufen Sie die URL jeder Bildverknüpfungsseite von der Listenseite ab
url = "https://www.irasutoya.com/search/label/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9"
#Bereiten Sie eine Liste vor, um die URL der Bildseite zu speichern
link_list = []
response = urllib.request.urlopen(url)
soup = BeautifulSoup(response, "html.parser")
#Holen Sie sich alle Bild-Link-Tags
image_list = soup.select('div.boxmeta.clearfix > h2 > a')
#Extrahieren Sie Bildlinks nacheinander
for image_link in image_list:
link_url = image_link.attrs['href']
link_list.append(link_url)
④ Holen Sie sich alle Tags der Bilddatei
for page_url in link_list:
page_html = urllib.request.urlopen(page_url)
page_soup = BeautifulSoup(page_html, "html.parser")
#Holen Sie sich alle Tags für Bilddateien
img_list = page_soup.select('div.separator > a > img')
⑤ Nehmen Sie die img-Tags nacheinander heraus und rufen Sie die URL der Bilddatei ab.
for img in img_list:
#Rufen Sie die URL der Bilddatei ab
img_url = (img.attrs['src'])
file_name = re.search(".*/(.*png|.*jpg)$", img_url)
save_path = output_folder.joinpath(file_name.group(1))
⑥ Laden Sie Daten von der URL der Bilddatei herunter
try:
#Daten von der Bilddatei-URL abrufen
image = requests.get(img_url)
#Speichern Sie die Daten im Zieldateipfad
open(save_path, 'wb').write(image.content)
#Namen der gespeicherten Datei anzeigen
print(save_path)
except ValueError:
print("ValueError!")
Das ist alles für das Verfahren.
↓ ↓ Ausführungsergebnis ↓ ↓
Ich dachte, es sei ein wenig schwierig, sich die Schritte ③ bis ⑤ vorzustellen, also schuf ich einen groben Extraktionsfluss.
Darüber hinaus ist die Quelle dieser Zeit auch auf Github veröffentlicht. Bitte beziehen Sie sich im Folgenden darauf. https://github.com/miyazakikna/SaveLocalImageWebScraping.git
Hier habe ich erklärt, wie man mit Beatiful Soup of Python Bilder in großen Mengen speichert. Ich habe dieses Mal das Bild von Irasutoya erhalten, aber ich denke, dass Sie das Bild auf die gleiche Weise auf anderen Websites herunterladen können. Verwenden Sie es daher bitte.
Klicken Sie hier, um zu erfahren, wie Sie den Dateinamen nach dem Herunterladen des Bildes sofort ändern können ↓ ↓ [[Arbeitseffizienz] So ändern Sie Dateinamen im Stapel mit Python] (https://qiita.com/miyazakikna/items/b9c6d6d83ebcd529afd7)
・ Lassen Sie uns Bilder mit Python kratzen ・ Bildersammlung durch Web Scraping