Liste des drapeaux Wikipedia A été téléchargé (gratté) avec python.
macOS Catalina python3.8.0
pip install beautifulsoup4
pip install requests
pip install urllib
pip install lxml
from bs4 import BeautifulSoup
import requests
import urllib
import os
import time
#wikipedia URL "Liste des drapeaux"
wiki_url = "https://ja.wikipedia.org/wiki/%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7"
#Obtenir et analyser la source html
html_text = requests.get(wiki_url).text
soup = BeautifulSoup(html_text,"lxml")
#Obtenir la balise img
imgs = soup.find_all("img")
#Obtenir l'URL de l'image du drapeau
flag_urls = []
for tag in imgs:
#La balise img de l'image du drapeau a l'attribut alt"〇〇 drapeau"Parce qu'il est au format (au 22 mars 2020)"drapeau"Traitez uniquement ceux qui incluent.
if "drapeau" not in tag.get("alt"):
continue
url = tag.get("src") #Obtenir l'attribut src (chemin relatif de l'url)
url = "https:"+url #https:Pour en faire une URL absolue en préfixant
flag_urls.append(url)
for url in flag_urls:
#Spécification du chemin de destination du téléchargement
#La fin de chaque URL"125px-Flag_of_Nom du pays.svg.png "Ça ressemble à ça. d'ici"Flag_of_Nom du pays.png "Au nom du fichier après le téléchargement
png_name = url.split("px-")[-1].split(".")[0]+".png "
#Enregistrez-le sous un répertoire appelé figs. Faire des figues à l'avance
png_name = os.path.join("./figs",png_name)
#Télécharger uniquement si le fichier n'existe pas
if os.path.exists(png_name):
print("File",png_name,"already exists")
continue
urllib.request.urlretrieve(url,png_name)
print("File",png_name,"downloaded")
#Attendez pour ne pas charger le serveur
time.sleep(1)
Le nom du fichier a été partiellement déformé, mais le téléchargement a réussi.
Recommended Posts