· Mac ・ Python3
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
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()
Recommended Posts