[PYTHON] 100 Fortnite-Bilder kratzen

Ich habe 100 Bilder von Fortnite von Yahoo gekratzt.

· Mac ・ Python3

(1) Umgebungskonstruktion, Verzeichnisstruktur

Erstellen Sie ein Fortnite-Verzeichnis auf Ihrem Desktop. Erstellen Sie einen Bilderordner (zum Speichern von Bildern) und eine Datei "snaping.py" im Verzeichnis.

fortnite
├scraping.py
└images

Erstellen Sie eine virtuelle Umgebung im Verzeichnis.

python3 -m venv .
sorce bin/activate

Installieren Sie die erforderlichen Pakete und Module

pip install beautifulsoup4
pip install requests
pip install lxml

(2) Beschreiben Sie Scraping.py

Fortnites Image Scraping verwendet die Bildsuchergebnisse von Yahoo. https://search.yahoo.co.jp/image/search?p=%E3%83%95%E3%82%A9%E3%83%BC%E3%83%88%E3%83%8A%E3%82%A4%E3%83%88&ei=UTF-8&b=1 Es kann bestätigt werden, dass 10 Bilder pro Seite und mehr als 100 Bilder einschließlich der folgenden Seiten vorhanden sind. Von hier aus kratzen und im Bilderordner speichern.

.py:scraping.py


from bs4 import BeautifulSoup
import lxml
import requests
import os
import time


def main():
    #20 Bilder pro Seite, Variablen zum Scraping der nächsten Seite
    page_key=0

    #Variablen zur Nummerierung gespeicherter Bilder
    num_m = 0

    for i in range(6):
        URL = "https://search.yahoo.co.jp/image/search?p=%E3%83%95%E3%82%A9%E3%83%BC%E3%83%88%E3%83%8A%E3%82%A4%E3%83%88&ei=UTF-8&b={}".format(page_key + 1)
        res = requests.get(URL)
        res.encoding = res.apparent_encoding
        html_doc = res.text
        soup = BeautifulSoup(html_doc,"lxml")

        list = []
        _list = soup.find_all("div",class_="gridmodule")
        for i in _list:
            i2 = i.find_all('img')
            for i3 in i2:
                i4 = i3.get('src')
                list.append(i4)


        for i in list:
            i2 = requests.get(i)
            #Speichern Sie mit absolutem Pfad
            with open(os.path.dirname(os.path.abspath(__file__)) + '/images' + '/{}'.format(num_m)+'.jpeg','wb')as f:
                f.write(i2.content)
            num_m += 1
            #Stoppen Sie den Speichervorgang, wenn das 101. Bild erreicht ist (Stopp für Anweisung)
            if num_m == 101:
                break

        #Wenn die for-Anweisung des inneren Sicherungsprozesses gestoppt wird, wird auch die äußere for-Anweisung gestoppt
        else:
            continue
        break


        #Öffnen Sie das Intervall von 1 Sekunde, um eine Serverlast zu vermeiden
        time.sleep(1)

        page_key+=20

if __name__ == '__main__':
    main()

Ergänzende Erklärung

Wenn Sie es ausführen, können Sie sehen, dass die Bilder im Bilderordner gespeichert wurden.

Recommended Posts

100 Fortnite-Bilder kratzen
Laden Sie Bilder automatisch mit Scraping herunter
Speichern Sie Bilder mit Web Scraping
Schaben 1
GAN: DCGAN Part1 - Webbilder abkratzen
Nogizaka46 Holen Sie sich Blog-Bilder durch Schaben
Beginn des Schabens
[Scraping] Python-Scraping
Probe abkratzen
Web Scraping
Bildkratzen ②-Holen Sie sich Bilder von Bing, Yahoo, Flickr