Mit Python über API bei Pixabay Bilddaten und Bilder abfragen
2021-12-03 09:04:57
Hier einmal aufgezeigt, was man benötigt um Daten und schlussendlich auch Bilddaten von Pixabay herunterzuladen.
Zunächst einmal das gesamte Skript:
import requests import glob from PIL import Image import sys download_path = "downloaded-images/" api_url = "https://pixabay.com/api/?key=[APIKEY]&q=" search_terms = ["Schule", "Baum", "Haus", "Neun", "Garten", "Verlag", "Software", "Fahrrad", "Menschen"] for search_term in search_terms: print("Downloading " + search_term) url = api_url + search_term data = requests.get(url).json() if 'total' in data and data['total'] > 0: for entry in data['hits']: response_image = requests.get(entry['largeImageURL']) file = open(download_path + search_term + "_" + str(entry['id']) + ".png", "wb") file.write(response_image.content) file.close() print("Downloading...END") print(" ") print(" ")
Um den oben angeführten Code ausführen zu können, benötigt man einen Account und einen Api Key. Die Registrierung ist kostenlos. Unter der folgenden Url kann man dann, sofern eingeloggt, seinen API Key sehen: https://pixabay.com/api/docs/
Nun noch das Verzeichnis „download-images“ anlegen und das holen der Daten kann los gehen.
So sieht einer der JSON Knoten aus:
{ id: 4373559, pageURL: "https://pixabay.com/photos/surface-abstract-background-4373559/", type: "photo", tags: "surface, abstract, background", previewURL: "https://cdn.pixabay.com/photo/2019/07/30/18/26/surface-4373559_150.jpg", previewWidth: 150, previewHeight: 99, webformatURL: "https://pixabay.com/get/g3d05d24079def70302b1a40806a1a4e1f89ceca49059073beb58ffb1d27f1900f07a251bfb6b341c1e01284b9e510d47845268fa04bf2461527594bb88a4adc3_640.jpg", webformatWidth: 640, webformatHeight: 426, largeImageURL: "https://pixabay.com/get/g272dffcf4828360d84a60bc79d3cd1e325caa4b56f07cbff95396a3d50a50ff13a712bc53e07053f90bb4696469311544c9efdb10f8fa3124591eb5f4da19a56_1280.jpg", imageWidth: 5568, imageHeight: 3712, imageSize: 4126811, views: 22887, downloads: 12769, collections: 1681, likes: 153, comments: 41, user_id: 8968314, user: "Sztrapacska74", userImageURL: "https://cdn.pixabay.com/user/2019/11/01/13-47-55-412_250x250.jpg" },