Scharf Beobachtet

Tech Know How

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.

API von Pixabay
API von Pixabay

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"
},
Zurück