[PYTHON] Bild herunterladen mit Flickr API

Einführung

Um ein Bilderkennungsprogramm zu erstellen, benötigen wir zunächst eine große Menge an Bilddaten zum Trainieren. Erstellen Sie zu diesem Zweck ein Programm, das automatisch Bilddaten sammelt.

Referenzmaterialien: [Entwicklung von AI-Anwendungen zur Bildbeurteilung, Teil 1] Einführung in die Entwicklung von AI-Anwendungen zur Bildbeurteilung mit TensorFlow, Python, Flask

Flickr Bildersammlungsseite https://www.flickr.com/

API https://www.flickr.com/services/api/

Vorbereitung

https://qiita.com/Saayaman/items/a3066697a108a7e7fc39 Siehe "1. API-Registrierung" in. Es ist notwendig, den Schlüssel und den privaten Schlüssel (?) Zu erhalten.

Wie installiert man

https://stuvel.eu/flickrapi

pip install flickrapi

Quellcode

Speichern Sie das gesuchte Bild im angegebenen Ordner. Erstellen Sie ein Programm namens "download.py". Zum Beispiel

python download.py monkey

Wenn Sie eingeben, werden die von "Affe" gesuchten Bilder in einem Ordner namens "Affe" gespeichert.

importieren

from flickrapi import FlickrAPI
from urllib.request import urlretrieve
from pprint import pprint
import os, time, sys

API-Schlüsselinformationen

#API-Schlüsselinformationen
key = "<<String>>"
secret = "<<String>>"
wait_time = 1

Speichern Sie den erworbenen Schlüssel und den privaten Schlüssel. Wie der Name schon sagt, ist wait_time die Wartezeit. Wenn Sie häufig auf Flickr zugreifen, wird der Zugriff verweigert. Warten Sie daher 1 Sekunde auf jedes Bild, das Sie erhalten.

Bildinformationserfassung

#Geben Sie den Speicherordner an
animalname = sys.argv[1]
savedir = "./" + animalname

flickr = FlickrAPI(key, secret, format='parsed-json')
result = flickr.photos.search(
    text = animalname,
    per_page = 400,
    media = 'photos',
    sort = 'relative',
    safe_search = 1,
    extras = 'url_q, licence'
)

Erstellen Sie eine "flickr" -Instanz, indem Sie den Schlüssel, den privaten Schlüssel und das Format angeben, die unter "Vorbereitung" in "FlickrAPI" (diesmal im json-Format) erhalten wurden, und rufen Sie die Methode "flickr.photos.search" auf. Das "Ergebnis" enthält die folgenden Daten.

{'photos': {'page': 1,
            'pages': 541,
            'perpage': 400,
            'photo': [{'farm': 66,
                       'height_q': 150,
                       'id': '49823614651',
                       'isfamily': 0,
                       'isfriend': 0,
                       'ispublic': 1,
                       'owner': '14136614@N03',
                       'secret': '888c8a381a',
                       'server': '65535',
                       'title': 'LEGO Minifigures Series 19 Rainbow Bear',
                       'url_q': 'https://live.staticflickr.com/65535/49823614651_888c8a381a_q.jpg',
                       'width_q': 150},
...

Bild herunterladen

Laden Sie das Bild mit den in result enthaltenen Informationen herunter. Holen Sie sich die URL des Bildes mit photo ['url_q']. Verwenden Sie "urlretrieve", um den Download auszuführen.

photos = result['photos']

for i, photo in enumerate(photos['photo']):
    print(i)
    url_q = photo['url_q']
    filepath = savedir + '/' + photo['id'] + '.jpg'
    if os.path.exists(filepath): continue
    urlretrieve(url_q, filepath)
    time.sleep(wait_time)

Bestätigung

python download.py monkey

Wenn Sie ausführen, wird es wie unten gezeigt im Ordner "Affe" gespeichert. Es enthält jedoch auch Bilder, die keine Affen sind (z. B. Affenbilder oder solche, die nichts mit Affen zu tun haben). Daher müssen sie manuell entfernt werden. monkey.png

Recommended Posts

Bild herunterladen mit Flickr API
Hochladen und Herunterladen von Bildern in Azure Storage. Mit Python + Anfragen + REST API
Holen Sie sich die Bild-URL mithilfe der Flickr-API in Python
Bildverarbeitung mit MyHDL
Bilderkennung mit Keras
Extrudieren Sie mit der Fusion360-API
Bildverarbeitung mit Python
Bildverarbeitung mit PIL
So kratzen Sie Bilddaten von Flickr mit Python
Bildverarbeitung mit Python (Teil 2)
Laden Sie Bilder automatisch mit Scraping herunter
Verwenden Sie die Trello-API mit Python
Lesen Sie die Bildkoordinaten mit Python-matplotlib
Bildverarbeitung mit PIL (Pillow)
Erstellen Sie eine API mit Django
Verwenden Sie die Twitter-API mit Python
Bildbearbeitung mit Python OpenCV
API mit Flask + uWSGI + Nginx
Bilderkennung mit API aus null Wissen mit AutoML Vision
Hochladen und Anpassen von Bildern mit django-ckeditor
Sortieren von Bilddateien mit Python (2)
Informationen erhalten Sie mit zabbix api
Sortieren von Bilddateien mit Python (3)
Erstellen Sie den Image Viewer mit Tkinter
Bildverarbeitung mit Python (Teil 1)
Web-API mit Python + Falcon
Tweet mit Bild in Python
Bilddateien mit Python sortieren
Bildverarbeitung mit Python (3)
Bildunterschriftengenerierung mit Chainer
Unterstützen Sie sich mit der Twitter API
Holen Sie sich Bildfunktionen mit OpenCV
Rufen Sie die API mit python3 auf.
Verwenden Sie die Unterschall-API mit Python3
Bildanalyse mit Objekterkennungs-API zum Ausprobieren in 1 Stunde
Umgang mit UnicodeDecodeError beim Ausführen des Downloads von Google-Bildern
Erfolgreiches update_with_media mit Twitter API
Laden Sie die CSV-Datei mit Python herunter
Bilderkennung mit Keras + OpenCV
Qiita API Oauth mit Django
[Python] Bildverarbeitung mit Scicit-Image
Holen Sie sich ein Ranking mit Rakuten API
Schneiden Sie ein Bild mit Python aus
Grundlagen der Echtzeit-Bildverarbeitung mit opencv
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
Erstellen Sie Awaitable mit der Python / C-API
[AWS] API mit API Gateway + Lambda erstellen
Holen Sie sich Bewertungen mit Python Googlemap API
Implementierter Dateidownload mit Python + Bottle
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Bildsegmentierung mit Scikit-Image und Scikit-Learn
Führen Sie Rotrics DexArm mit der Python-API aus
Behalten Sie den Flask API-Server für immer bei
Quine Post mit Qiita API (Python)
Bilder können mit Google_images_download nicht heruntergeladen werden
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
Klicken Sie mit Python auf die Etherpad-Lite-API