So sammeln Sie Bilder in Python

Einführung

Ich wollte Bilder für Deep Learning sammeln und kam zu diesem Artikel. Es hat nicht funktioniert, weil sich der Inhalt der Webseite geändert hat, also habe ich es neu geschrieben.

Code

image_download.py


import requests
import urllib.request
import time
import json

def scraping(url, max_page_num):
    #Pagenation Implementierung
    page_list = get_page_list(url, max_page_num)
    #Bild-URL-Liste abrufen
    all_img_src_list = []
    for page in page_list:
        try:
            img_src_list = get_img_src_list(page)
            all_img_src_list.extend(img_src_list)
        except:pass
    return all_img_src_list


def get_img_src_list(url):
    #Rufen Sie die Suchergebnisseite auf
    response = requests.get(url)
    webtext = response.text

    #Im Originalartikel habe ich Beatiful-Suppe verwendet, aber ich konnte das Bild nicht bekommen, also habe ich es geändert.
    start_word='<script>__NEXT_DATA__ = '
    start_num = webtext.find(start_word)
    webtext_start = webtext[start_num + len(start_word):]
    end_word = ';__NEXT_LOADED_PAGES__='
    
    end_num = webtext_start.find(end_word)
    webtext_all = webtext_start[:end_num]
    web_dic = json.loads(webtext_all)
    img_src_list = [img['imageSrc'] for img in web_dic["props"]["initialProps"]["pageProps"]["algos"]]

    return img_src_list


def get_page_list(url, max_page_num):
    img_num_per_page = 20 #Wenn Sie dies ändern, ändert sich die Anzahl der Downloads.
    page_list = [f'{url}{i*img_num_per_page+1}' for i in range(max_page_num)]
    return page_list

def download_img(src, dist_path):
    time.sleep(1)
    try:
        with urllib.request.urlopen(src) as data:
            img = data.read()
            with open(dist_path, 'wb') as f:
                f.write(img)
    except:
        pass


def main():
    search_words = ["Kanna Hashimoto"] #Übergeben Sie das zu suchende Wort in eine Liste.
    for num, search_word in enumerate(search_words):
        url = f"https://search.yahoo.co.jp/image/search?p={search_word}&ei=UTF-8&b="
        max_page_num = 20
        all_img_src_list = scraping(url, max_page_num)
        
        #Bild herunterladen
        for i, src in enumerate(all_img_src_list):
            download_img(src, f'./img/image_{num}_{i}.jpg') #Bitte ändern Sie das Speicherziel entsprechend


if __name__ == '__main__':
    main()

Wenn Sie einen img-Ordner erstellen und den obigen Vorgang mit Python ausführen, wird das Bild im img-Ordner gespeichert. Das ist das Bild. image.png

Seien Sie vorsichtig, da das Scraping den Server der anderen Partei belastet!

Referenz

Ich habe versucht, automatisch Bilder von Kanna Hashimoto mit Python zu sammeln! !!

Recommended Posts

So sammeln Sie Bilder in Python
Wie man in Python entwickelt
[Python] Wie man PCA mit Python macht
Verwendung von SQLite in Python
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
Umgang mit Japanisch mit Python
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
[Itertools.permutations] So löschen Sie eine Sequenz in Python
So arbeiten Sie mit BigQuery in Python
Wie bekomme ich Stacktrace in Python?
So zeigen Sie die neunundneunzig Tabelle in Python an
So extrahieren Sie einen Polygonbereich in Python
So überprüfen Sie die Version von opencv mit Python
So wechseln Sie die Python-Version in Cloud9
So passen Sie den Bildkontrast in Python an
Verwendung von __slots__ in der Python-Klasse
Wie man relativ einfach Gesichtsbilder sammelt
So füllen Sie mit Python dynamisch Nullen aus
Verwendung regulärer Ausdrücke in Python
So zeigen Sie Hello World in Python an
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
So zeigen Sie Bilder in Djangos Admin an
So zeichnen Sie ein OpenCV-Bild mit Pygame
So installieren Sie Python
Verwendung der C-Bibliothek in Python
So empfangen Sie Befehlszeilenargumente in Python
So löschen Sie einen Taple in einer Liste (Python)
Einbetten von Variablen in Python-Strings
Zusammenfassung zum Importieren von Dateien in Python 3
So vereinfachen Sie die eingeschränkte Polypoly-Anpassung in Python
Verwendung der Python-Bildbibliothek in der Python3-Serie
So implementieren Sie Shared Memory in Python (mmap.mmap)
So erstellen Sie eine JSON-Datei in Python
Zusammenfassung der Verwendung von MNIST mit Python
So geben Sie die TLS-Version in Python-Anforderungen an
So benachrichtigen Sie Discord-Kanäle in Python
So erhalten Sie die Dateien im Ordner [Python]
Wie man tkinter mit Python in Pyenv benutzt
So führen Sie LeapMotion mit Nicht-Apple Python aus
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
So geben Sie "Ketsumaimo" standardmäßig in Python aus
Wie man mit dem Datum / Uhrzeit-Typ in Pythons SQLite3 umgeht
So nehmen Sie Python Interpreter-Änderungen in Pycharm vor
Wie man Autokorrelation und partielle Autokorrelation mit Python zeichnet
So entfernen Sie doppelte Elemente in der Python 3-Liste
[Neueste Version 2020.8] So installieren Sie Python
So installieren Sie Python [Windows]
Base64-Codierung von Bildern in Python 3
So löschen Sie stdout in Python
python3: Verwendung der Flasche (2)
[Python] Verwendung von Liste 1
Melden Sie sich auf der Website in Python an
So aktualisieren Sie Pythons Tkinter auf 8.6
Wie benutzt man Python Argparse?