Tout d'abord, accédez à la page Flickr et cliquez sur ** Demander une clé API **. Si vous n'avez pas créé de compte Flickr ici, créez-en un et connectez-vous.
Puisque le côté gauche est gratuit (méthode non commerciale) et le côté droit est pour le payant (méthode commerciale), sélectionnez ** DEMANDER UNE CLÉ NON COMMERCIALE ** entouré d'une ligne rouge.
Ensuite, l'écran d'enregistrement de l'application s'affiche. Entrez le nom et l'utilisation prévue de l'application, puis cliquez sur ** SOUMETTRE **.
Après l'enregistrement, vous pouvez obtenir la clé et le secret, alors notez-les dans un bloc-notes.
Installez le module Flickr à partir de la commande suivante.
pip install flickrapi
Avant d'exécuter le programme, créez un dossier pour enregistrer les images acquises.
download.py
from flickrapi import FlickrAPI
from urllib.request import urlretrieve
from pprint import pprint
import os,time,sys
key = "Clé obtenue"
secret = "Secret acquis"
wait_time = 1
#Obtenez la première valeur d'un argument de ligne de commande. Dans les cas suivants[cat]Avoir
# python download.py cat
animalname = sys.argv[1]
savedir = "./"+animalname
# format:Données à recevoir(Recevoir avec json)
flickr = FlickrAPI(key, secret, format='parsed-json')
"""
text :Mot-clé de recherche
per_page :Nombre de données que vous souhaitez acquérir
media :Types de données à rechercher
sort :Organisation des données
safe_seach :Afficher ou non le contenu de l'interface utilisateur
extras :La valeur de l'option que vous souhaitez obtenir(url_q Informations d'adresse d'image)
"""
result = flickr.photos.search(
text = animalname,
per_page = 400,
media = 'photos',
sort = 'relevance',
safe_seach = 1,
extras = 'url_q, licence'
)
#résultat
photos = result['photos']
pprint(photos)
Si le programme ci-dessus est exécuté et qu'il réussit, l'affichage suivant sera affiché.
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}],
Obtenez l'URL enregistrée dans "url_q" et obtenez les données d'image en utilisant urllib.
Ajoutez un programme pour acquérir des données d'image au programme précédent.
python
for i,photo in enumerate(photos['photo']):
url_q = photo['url_q']
filepath = savedir + '/' + photo['id'] + '.jpg'
#S'il y a des fichiers en double, ignorez-les.
if os.path.exists(filepath):continue
#Télécharger les données d'image
urlretrieve(url_q, filepath)
#Attendez 1 seconde pour éviter de surcharger le serveur
time.sleep(wait_time)
Après avoir exécuté le programme avec "chat" comme argument, l'image du chat peut être obtenue à partir de Flickr.
Recommended Posts