Göra API-anrop i Python med requests
Vad är requests?
requests är ett populärt Python-bibliotek för att kommunicera med API:er och andra webbplatser. Det används för att skicka HTTP-förfrågningar, t.ex. GET, och ta emot svar.
Det är inte inbyggt i Python, så man behöver vanligtvis installera det en gång:
py -m pip install requestsEnkel GET-förfrågan
import requests
url = "https://api.chucknorris.io/jokes/random"
response = requests.get(url)
print(response.status_code) # 200 = OK
print(response.text) # JSON som textKonvertera JSON-svaret till Python-objekt
Eftersom API:er oftast svarar med JSON, kan vi använda .json() för att konvertera svaret direkt till en Python-dictionary:
data = response.json()
print(data["value"]) # Skriver ut skämtetHela programmet
import requests
url = "https://api.chucknorris.io/jokes/random"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
print("Random joke:")
print(data["value"])
else:
print("Something went wrong:", response.status_code)Kontrollera statuskoder
Varje svar från en server innehåller en statuskod:
| Kod | Betydelse |
|---|---|
| 200 | OK – allt gick bra |
| 404 | Sidan finns inte |
| 500 | Serverfel |
| 403 | Otillåtet (t.ex. saknar API-nyckel) |
Sammanfattning: steg för steg
- Importera
requests - Skapa en URL till API:et
- Anropa
requests.get(url) - Kontrollera
status_code - Använd
.json()för att hämta datan som dictionary - Plocka ut det du behöver med
data["nyckel"]