MC, 2025
Ilustracja do artykułu: API Python Requests: Jak skutecznie łączyć się z API w Pythonie?

API Python Requests: Jak skutecznie łączyć się z API w Pythonie?

W świecie programowania, integracja z różnymi usługami i serwisami za pomocą API (Application Programming Interface) jest jedną z podstawowych umiejętności. Dzięki API możemy komunikować się z aplikacjami, wymieniać dane, a także automatyzować wiele procesów. W Pythonie istnieje biblioteka, która ułatwia ten proces i pozwala na szybkie i wygodne wysyłanie zapytań HTTP do serwisów zewnętrznych – to Python Requests. Jeśli jeszcze nie miałeś okazji z niej korzystać, nie martw się! W tym artykule pokażemy, jak używać API Python Requests, podamy praktyczne przykłady i pomożemy Ci w pełni wykorzystać jej potencjał.

Co to jest API i jak działa?

Zanim przejdziemy do samej biblioteki Python Requests, warto chwilę zastanowić się, czym właściwie jest API i jak działa. API, czyli Interfejs Programowania Aplikacji, to zestaw reguł i protokołów, które umożliwiają różnym aplikacjom komunikowanie się ze sobą. Dzięki API aplikacje mogą wymieniać dane, zlecać zadania, a także pobierać informacje o zasobach z innych systemów.

Przykładowo, kiedy korzystamy z aplikacji pogodowej na telefonie, aplikacja ta łączy się z serwisem pogodowym za pomocą API, aby pobrać najnowsze dane o pogodzie w danej lokalizacji. Podobnie, gdy korzystamy z serwisów takich jak Google Maps czy Facebook, aplikacje te również korzystają z API, aby udostępnić swoje dane.

W przypadku Pythona, biblioteka requests pozwala na łatwą komunikację z tymi interfejsami, wysyłając zapytania HTTP i odbierając odpowiedzi. To bardzo proste narzędzie, które pozwala w kilka linijek kodu zintegrować Twoje aplikacje z różnymi API.

Co to jest biblioteka Python Requests?

Python Requests to zewnętrzna biblioteka, która upraszcza pracę z zapytaniami HTTP. Została stworzona po to, aby uprościć i przyspieszyć proces wysyłania zapytań do API oraz obsługę odpowiedzi. Dzięki requests nie musisz samodzielnie tworzyć szczegółowych zapytań HTTP ani zajmować się ręcznym parsowaniem odpowiedzi – biblioteka robi to za Ciebie.

Jeśli jeszcze nie masz tej biblioteki w swoim projekcie, wystarczy, że zainstalujesz ją za pomocą PIP:

pip install requests

Jak korzystać z biblioteki Python Requests?

Przejdźmy teraz do podstawowych operacji, które wykonasz za pomocą tej biblioteki. Pokażemy Ci, jak wysłać zapytanie GET, jak wysłać dane metodą POST, oraz jak obsługiwać odpowiedzi.

1. Wysyłanie zapytania GET

Zapytanie GET jest jednym z najczęściej używanych zapytań HTTP. Używa się go do pobierania danych z serwera. W przypadku Python Requests, zapytanie GET jest bardzo proste do wykonania:

import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())

W powyższym przykładzie wysyłamy zapytanie GET do fikcyjnego API (jsonplaceholder), aby pobrać dane o poście o ID 1. Zmienna response zawiera odpowiedź z serwera. Możemy sprawdzić kod odpowiedzi (status code) i zwrócone dane w formacie JSON za pomocą metod status_code i json().

2. Wysyłanie zapytania POST

Zapytanie POST służy do wysyłania danych na serwer, zazwyczaj w celu ich zapisania lub zaktualizowania. Oto przykład, jak wysłać zapytanie POST za pomocą biblioteki Requests:

import requests

data = {
    'title': 'Nowy post',
    'body': 'To jest treść nowego posta',
    'userId': 1
}

response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())

W tym przypadku wysyłamy dane w formacie JSON do serwera, aby stworzyć nowy post. Po wysłaniu zapytania możemy sprawdzić, czy zostało ono przyjęte i jaką odpowiedź otrzymaliśmy.

3. Parametry i nagłówki w zapytaniach

Jeśli API wymaga dodatkowych parametrów lub specjalnych nagłówków, łatwo możesz je dodać do swojego zapytania. Można to zrobić za pomocą parametrów params i headers. Oto przykład:

import requests

headers = {
    'Authorization': 'Bearer twój_token_api'
}

params = {
    'userId': 1
}

response = requests.get('https://jsonplaceholder.typicode.com/posts', headers=headers, params=params)
print(response.status_code)
print(response.json())

W tym przykładzie dodajemy nagłówek Authorization oraz parametr zapytania userId, aby otrzymać tylko posty użytkownika o ID 1. Nagłówki są często używane do uwierzytelniania, a parametry do filtrowania danych w odpowiedzi.

4. Obsługa błędów

Podczas pracy z API warto pamiętać o odpowiedniej obsłudze błędów. Może się zdarzyć, że zapytanie nie powiedzie się z powodu problemów z siecią, błędnych danych lub problemów po stronie serwera. Dzięki bibliotece Python Requests możemy łatwo sprawdzić, czy zapytanie zakończyło się sukcesem:

import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts/99999')

if response.status_code == 200:
    print(response.json())
else:
    print(f'Błąd! Kod odpowiedzi: {response.status_code}')

W powyższym przykładzie sprawdzamy kod odpowiedzi. Jeśli wynosi on 200 (co oznacza sukces), wypisujemy dane. Jeśli kod jest inny, wypisujemy komunikat o błędzie.

5. Praca z plikami i formularzami

Python Requests umożliwia również wysyłanie plików i formularzy. Możemy np. wysłać plik na serwer za pomocą zapytania POST:

import requests

files = {'file': open('plik.txt', 'rb')}
response = requests.post('https://example.com/upload', files=files)
print(response.status_code)

W tym przypadku wysyłamy plik plik.txt na serwer. Zmienna files przechowuje plik, który jest otwierany w trybie binarnym (rb) i przesyłany w zapytaniu POST.

Podsumowanie

Biblioteka Python Requests to potężne narzędzie, które pozwala w prosty sposób komunikować się z API, wysyłać zapytania HTTP, a także odbierać dane z serwisów internetowych. W tym artykule pokazaliśmy podstawowe operacje, takie jak wysyłanie zapytań GET i POST, dodawanie parametrów i nagłówków, obsługę błędów oraz wysyłanie plików. Dzięki requests praca z API staje się znacznie łatwiejsza, a proces integracji z zewnętrznymi serwisami szybki i wygodny. Jeśli jeszcze nie korzystałeś z tej biblioteki, warto zacząć! Z pewnością zaoszczędzisz czas, a Twoje projekty staną się bardziej elastyczne i funkcjonalne.

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: