Laden Sie Wikipedia-Flaggenbilder auf einmal herunter [Python] [Schöne Suppe]

Überblick

Liste der Wikipedia-Flaggen Ich habe das Flaggenbild mit Python heruntergeladen (abgekratzt).

Referenz

Umgebung

macOS Catalina python3.8.0

Bibliotheksinstallation

pip install beautifulsoup4
pip install requests
pip install urllib
pip install lxml

Implementierung

from bs4 import BeautifulSoup
import requests
import urllib
import os
import time

#wikipedia "Liste der Flaggen" URL
wiki_url = "https://ja.wikipedia.org/wiki/%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7"

#HTML-Quelle abrufen und analysieren
html_text = requests.get(wiki_url).text
soup = BeautifulSoup(html_text,"lxml")

#Holen Sie sich img Tag
imgs = soup.find_all("img")
#URL des Flaggenbildes abrufen
flag_urls = []
for tag in imgs:
    #Das img-Tag des Flag-Bildes hat das alt-Attribut"〇〇 Flagge"Weil es im Format ist (Stand 22. März 2020)"Flagge"Verarbeiten Sie nur die, die enthalten.
    if "Flagge" not in tag.get("alt"):
        continue
    url = tag.get("src") #Get src attribute (relativer Pfad der URL)
    url = "https:"+url #https:Um es durch Präfixe zu einer absoluten URL zu machen
    flag_urls.append(url)

for url in flag_urls:
    #Angeben des Download-Zielpfads
    #Das Ende jeder URL"125px-Flag_of_Ländername.svg.png "Es sieht aus wie das. von hier"Flag_of_Ländername.png "Zum Dateinamen nach dem Herunterladen
    png_name = url.split("px-")[-1].split(".")[0]+".png "
    #Speichern Sie es in einem Verzeichnis namens Feigen. Feigen im Voraus machen
    png_name = os.path.join("./figs",png_name)
    #Nur herunterladen, wenn die Datei nicht vorhanden ist
    if os.path.exists(png_name): 
        print("File",png_name,"already exists")
        continue
    urllib.request.urlretrieve(url,png_name)
    print("File",png_name,"downloaded")
    #Warten Sie, bis der Server nicht geladen ist
    time.sleep(1)

Der Dateiname war teilweise verstümmelt, aber der Download war erfolgreich.

Recommended Posts

Laden Sie Wikipedia-Flaggenbilder auf einmal herunter [Python] [Schöne Suppe]
[Python] So speichern Sie Bilder mit Beautiful Soup sofort im Web
Meine schöne Suppe (Python)
Versuchen Sie es mit Python + Beautiful Soup
[Python] Ein Memorandum der schönen Suppe4
Ersetzen Sie alles auf einmal durch sed
Konvertieren Sie Memos sofort mit Python 2to3
[Python3] Verstehe die Grundlagen von Beautiful Soup
Senden Sie Newsletter auf einmal mit Google Mail
Laden Sie Bilder von der URL-Liste in Python herunter
[Python] Eine Tabelle mit Beautiful Soup kratzen