requests.post richtig übergeben
Verfasst: Mittwoch 7. Dezember 2016, 19:47
Hallo zusammen!
Ich bin neu hier in diesem Forum und falls ich jetzt schon in irgendein Fettnäpfchen getreten - 'tschuldigung! Ich suche jetzt schon seit mehreren Tagen nach einer Lösung und werd einfach nicht schlauer und zwar geht es um folgendes: Ich soll für ein Projekt in meinem Studiengang ein Python-Skript schreiben, dass Bilder von meiner Festplatte an die API eines "Emotionserkennungsdienstes" schickt, um die Emotionen eines Gesichts (oh wunder) zu analysieren. Ich versuch mich zur Zeit an dem Anbieter skybiometry.com und bekomm es nicht hin die request.post() richtig aufzustellen. Es gibt ein Beispiel von der Seite, wie man Bilder aus dem Netz analysieren kann (http://api.skybiometry.com/fc/faces/det ... ibutes=all) und ungefähr das möchte ich ja auch über mein Skript mit Bildern von meiner Festplatte. Für einen anderen Anbieter habe ich das, mittlerweile glaube ich durch Zufall, hinbekommen und versucht das auf diesen anzupassen:
Es wird auf der Seite auch direkt darauf verwiesen (https://skybiometry.com/documentation/ Punkt 4.13), dass wenn man Bilder hochladen möchte, dass man diesen Request als MIME "formen" soll, womit ich aber leider nichts anfangen kann.
Ich hoffe hier kann mir irgendwie geholfen werden.
Besten Dank schon mal!
Ich bin neu hier in diesem Forum und falls ich jetzt schon in irgendein Fettnäpfchen getreten - 'tschuldigung! Ich suche jetzt schon seit mehreren Tagen nach einer Lösung und werd einfach nicht schlauer und zwar geht es um folgendes: Ich soll für ein Projekt in meinem Studiengang ein Python-Skript schreiben, dass Bilder von meiner Festplatte an die API eines "Emotionserkennungsdienstes" schickt, um die Emotionen eines Gesichts (oh wunder) zu analysieren. Ich versuch mich zur Zeit an dem Anbieter skybiometry.com und bekomm es nicht hin die request.post() richtig aufzustellen. Es gibt ein Beispiel von der Seite, wie man Bilder aus dem Netz analysieren kann (http://api.skybiometry.com/fc/faces/det ... ibutes=all) und ungefähr das möchte ich ja auch über mein Skript mit Bildern von meiner Festplatte. Für einen anderen Anbieter habe ich das, mittlerweile glaube ich durch Zufall, hinbekommen und versucht das auf diesen anzupassen:
Code: Alles auswählen
import requests
auth_headers = {
'api_key': api_key,
'api_secret': api_secret,
'Content-Type': 'image/jpeg'
}
url = 'http://api.skybiometry.com/fc/faces/detect'
files = { 'source': open(path + ".jpg", 'rb')
}
data = { 'attributes': 'mood'
}
response = requests.post(url, files=files, data=data, headers=auth_headers)
print (response.json())
Ich hoffe hier kann mir irgendwie geholfen werden.
Besten Dank schon mal!