2016-10-21 5 views
0

Ich versuche, Daten von der Pokemon API zu erhalten und einige Informationen von dort zu bekommen. Zuerst müssen Sie eine Nummer eingeben (nur Option 1 funktioniert jetzt). Dann wird der Pokemon Name/Nummer und die URL gebildet. aber ich bekomme eine Menge Fehler, wennZugriff auf eine JSON-API mit Python

data = json.loads(THEURL) 
print(data['forms']['name']) 

Was mache ich falsch?

#importception 
import requests 
import json 

#import poke api 
api_url = 'http://pokeapi.co/api/v2/' 

#welke database 
def databaseaanvragen(): 
    print('Welke database wilt u aanvragen?') 
    print('Hallo), wat wilt u doen?') 
    print('1) Pokemons') 
    print('2) Locations') 
    print('3) Moves') 
    keuze = input('Voer hier het nummer in: ') 
    if(keuze.isdigit()): 
     keuze = int(keuze) 

    if keuze == 1: 
     poke_naam = input('Voer de naam of het nummer van de Pokemon in: ') 
     poke_value = 'pokemon/' + poke_naam 
     return poke_value 

#database url en data aanvragen 
aangevraagd = api_url + databaseaanvragen() 
data = json.loads(aangevraagd) 

print(data['forms']['name']) 
+2

'json.loads' erwartet eine Zeichenfolge, die den zu dekodierenden JSON enthält, keine URL. 'json.load' erwartet stattdessen einen offenen Dateizeiger. Kurz gesagt: Das 'json'-Modul wird keine tatsächliche HTTP-Anfrage machen, um das JSON-Dokument zu bekommen, das ist nicht seine Aufgabe; Sie müssen das selbst tun. – deceze

Antwort

1

Sieht eigentlich nicht so aus, als würden Sie die JSON API mit einer GET-Anfrage überhaupt abfragen. Sie benötigen folgenden Code: