Python demandes d'extraction de données à partir de la réponse.texte
J'ai été en regardant autour depuis quelques jours maintenant et ne peut pas comprendre cela. En gros je suis le téléchargement d'une image sur un serveur et obtenir un ID en retour, le problème est que je ne peut pas comprendre comment extraire ce code et de le modifier dans une Chaîne de prêt à être enregistré dans une base de données.
Code De Programme
url = <Server address>
with open("image.jpg", "rb") as image_file:
files = {'file': image_file}
auth = ('<Key>', '<Pass>')
r = requests.post(url, files=files, auth=auth)
data = r.json()
uploaded = data.get('uploaded')
content_id = uploaded[0]
print r
print r.text
print '--------------'
print str(content_id)
Et c'est ici la sortie-je obtenir
<Response [200]>
{
"status": "success",
"uploaded": [
{
"filename": "image.jpg",
"id": "6476edfa1d262ad81181d992da78149d"
}
]
}
--------------
{u'id': u'6476edfa1d262ad81181d992da78149d', u'filename': u'image.jpg'}
content_id['id']
?
Vous devez vous connecter pour publier un commentaire.
Vous recevez JSON; vous utilisez déjà la
response.json()
méthode pour décoder un Python structure:Vous pouvez traiter
data['uploaded']
comme toute autre liste Python; le contenu est juste l'un dictionnaire, donc, une autre clé de dictionnaire pour obtenir leid
valeur:Il est sécuritaire de le coder en dur l'indice de
[0]
ici, comme vous le savez, combien d'images que vous avez téléchargé.Vous pouvez utiliser la gestion des exceptions pour détecter si quelque chose d'inattendu retour:
ou vous pourriez gérer
data['status']
; tout dépend de la sémantique exacte de l'API que vous utilisez ici.