Nogisaka 46 J'ai sauvé l'image du blog en grattant avec Python. J'ai gratté la première page de Midsummer Akimoto.
scraping.py
import requests
import urllib.request
import os
from bs4 import BeautifulSoup
def scraping():
    #URL du membre
    member_name = "manatsu.akimoto"
    url = "http://blog.nogizaka46.com/" + member_name + "/"
    #Créer le dossier
    if not os.path.isdir(member_name):  # ”member_S'il n'y a pas de dossier «nom»
        print("Créer le dossier")
        os.mkdir(member_name)
    #Pour compter le nombre de feuilles enregistrées
    cnt = 0
    #Génération d'objets BeautifulSoup
    headers = {"User-Agent": "Mozilla/5.0"}
    soup = BeautifulSoup(requests.get(
        url, headers=headers).content, 'html.parser')
    #Trouvez le html où se trouve l'image
    for entry in soup.find_all("div", class_="entrybody"):  #Obtenir tous les corps d'entrée
        for img in entry.find_all("img"):  #Obtenir toutes les images
            cnt += 1
            urllib.request.urlretrieve(
                img.attrs["src"], "./" + member_name + "/" + member_name + "-" + str(cnt) + ".jpeg ")
    print("l'image" + str(cnt) + "J'ai enregistré une feuille.")
if __name__ == '__main__':
    scraping()
 
 Puisque le nom du membre est utilisé comme URL, je mets le nom du membre que je souhaite obtenir dans member_name.
Puisque le nom du membre est utilisé comme URL, je mets le nom du membre que je souhaite obtenir dans member_name.
member_name = "manatsu.akimoto"
url = "http://blog.nogizaka46.com/" + member_name + "/"
Il y a une explication facile à comprendre sur le site suivant. Site de référence: https://python.civic-apps.com/beautifulsoup4-selector/
En regardant le html qui compose le blog,
 Il y a un corps dans la balise div du nom de classe "entrybody"
Il y a un corps dans la balise div du nom de classe "entrybody"
 Il y a une image dans la balise img, alors enregistrez-la dans un dossier dès que vous la trouvez.
Il y a une image dans la balise img, alors enregistrez-la dans un dossier dès que vous la trouvez.
for entry in soup.find_all("div", class_="entrybody"):#Obtenir tous les corps d'entrée
    for img in entry.find_all("img"):#Obtenir toutes les images
        cnt += 1
        urllib.request.urlretrieve(img.attrs["src"], "./" + member_name + "/" + member_name + "-" + str(cnt) + ".jpeg ")


Créer le dossier
J'ai enregistré 22 images.
Recommended Posts