Gehen Sie zunächst zur Seite Flickr und klicken Sie auf ** API-Schlüssel anfordern **. Wenn Sie hier kein Flickr-Konto erstellt haben, erstellen Sie ein Konto und melden Sie sich an.
Da die linke Seite kostenlos ist (nichtkommerzielle Methode) und die rechte Seite kostenpflichtig ist (kommerzielle Methode), wählen Sie ** Für einen nichtkommerziellen Schlüssel bewerben **, der von einer roten Linie umgeben ist.
Anschließend wird der Bildschirm zur Registrierung der Anwendung angezeigt. Geben Sie den Namen und die beabsichtigte Verwendung für die Anwendung ein und klicken Sie auf ** EINREICHEN **.
Nach der Registrierung können Sie den Schlüssel und das Geheimnis erhalten. Notieren Sie sich diese in einem Notizblock.
Installieren Sie das Flickr-Modul mit dem folgenden Befehl.
pip install flickrapi
Erstellen Sie vor dem Ausführen des Programms einen Ordner, um die erfassten Bilder zu speichern.
download.py
from flickrapi import FlickrAPI
from urllib.request import urlretrieve
from pprint import pprint
import os,time,sys
key = "Erhaltener Schlüssel"
secret = "Erworbenes Geheimnis"
wait_time = 1
#Ruft den ersten Wert eines Befehlszeilenarguments ab. In den folgenden Fällen[cat]Erhalten
# python download.py cat
animalname = sys.argv[1]
savedir = "./"+animalname
# format:Zu empfangende Daten(Mit json empfangen)
flickr = FlickrAPI(key, secret, format='parsed-json')
"""
text :Suchbegriff
per_page :Anzahl der Daten, die Sie erfassen möchten
media :Zu durchsuchende Datentypen
sort :Anordnung der Daten
safe_seach :Gibt an, ob UI-Inhalte angezeigt werden sollen
extras :Der Wert der Option, die Sie erhalten möchten(url_q Bildadressinformationen)
"""
result = flickr.photos.search(
text = animalname,
per_page = 400,
media = 'photos',
sort = 'relevance',
safe_seach = 1,
extras = 'url_q, licence'
)
#Ergebnis
photos = result['photos']
pprint(photos)
Wenn das obige Programm ausgeführt wird und erfolgreich ist, wird die folgende Anzeige angezeigt.
python
{'farm': 5,
'height_q': 150,
'id': '4375810205',
'isfamily': 0,
'isfriend': 0,
'ispublic': 1,
'owner': '47750313@N07',
'secret': '8d0a7d24a1',
'server': '4008',
'title': 'cat',
'url_q': 'https://live.staticflickr.com/4008/4375810205_8d0a7d24a1_q.jpg',
'width_q': 150},
{'farm': 1,
'height_q': 150,
'id': '27083352608',
'isfamily': 0,
'isfriend': 0,
'ispublic': 1,
'owner': '144380504@N04',
'secret': 'd1cd159107',
'server': '811',
'title': 'cat',
'url_q': 'https://live.staticflickr.com/811/27083352608_d1cd159107_q.jpg',
'width_q': 150}],
Holen Sie sich die in 'url_q' registrierte URL und rufen Sie die Bilddaten mit urllib ab.
Fügen Sie dem vorherigen Programm ein Programm hinzu, um Bilddaten zu erfassen.
python
for i,photo in enumerate(photos['photo']):
url_q = photo['url_q']
filepath = savedir + '/' + photo['id'] + '.jpg'
#Wenn doppelte Dateien vorhanden sind, überspringen Sie diese.
if os.path.exists(filepath):continue
#Bilddaten herunterladen
urlretrieve(url_q, filepath)
#Warten Sie 1 Sekunde, um eine Überlastung des Servers zu vermeiden
time.sleep(wait_time)
Nach dem Ausführen des Programms mit "cat" als Argument konnte das Bild der Katze von Flickr erhalten werden.
Recommended Posts