MC, 2025
Ilustracja do artykułu: Requests.get w Python 3 – Jak Pobierać Dane z Internetu?

Requests.get w Python 3 – Jak Pobierać Dane z Internetu?

W dzisiejszym świecie aplikacji internetowych, umiejętność pobierania danych z różnych źródeł, takich jak API, jest nieoceniona. Jeśli chcesz zbudować aplikację, która komunikuje się z internetem, musisz znać odpowiednie narzędzia do tego celu. Jednym z najpopularniejszych sposobów w Pythonie na wysyłanie zapytań HTTP i pobieranie danych z internetu jest biblioteka requests. W tym artykule skupimy się na funkcji requests.get w Python 3, która jest fundamentem wielu operacji sieciowych. Przedstawimy, jak jej używać, jakie są jej możliwości oraz zaprezentujemy praktyczne przykłady.

1. Co to jest funkcja requests.get?

Biblioteka requests to jedno z najczęściej używanych narzędzi w Pythonie do pracy z HTTP. Dzięki niej można łatwo wysyłać zapytania do serwerów i odbierać odpowiedzi. Funkcja requests.get jest najczęściej używaną metodą w tej bibliotece, służącą do wysyłania zapytań typu GET do serwera. Zapytanie GET jest najprostszym rodzajem zapytania HTTP, który służy do pobierania zasobów, takich jak strony internetowe, pliki czy dane w formacie JSON.

Jest to najprostszy sposób, aby pobrać dane z zewnętrznego źródła, na przykład z publicznych API lub stron internetowych. Funkcja requests.get zwraca odpowiedź serwera, którą można następnie wykorzystać w dalszej części programu.

2. Jak zainstalować bibliotekę requests?

Przed rozpoczęciem pracy z funkcją requests.get, należy upewnić się, że masz zainstalowaną bibliotekę requests. Można to zrobić za pomocą narzędzia pip. Oto jak to zrobić:

pip install requests

Po wykonaniu powyższego polecenia, biblioteka będzie dostępna do użycia w Twoim projekcie. Jeśli masz zainstalowaną bibliotekę, możesz od razu przejść do korzystania z funkcji requests.get.

3. Jak używać requests.get w Pythonie?

Używanie funkcji requests.get jest niezwykle proste. Wystarczy przekazać do niej adres URL, a funkcja zwróci odpowiedź serwera. Oto podstawowy przykład użycia:

import requests

response = requests.get('https://api.github.com')
print(response.status_code)

W powyższym przykładzie wysyłamy zapytanie GET do API GitHub. Zmienna response przechowuje odpowiedź serwera, którą następnie wypisujemy na ekranie. Zmienna status_code zawiera kod odpowiedzi HTTP, który informuje nas, czy zapytanie zostało zakończone pomyślnie. Kod 200 oznacza, że wszystko poszło dobrze.

4. Praca z danymi w odpowiedzi

Odpowiedź, którą otrzymujemy za pomocą funkcji requests.get, jest obiektem, który zawiera wiele informacji. Możemy uzyskać dostęp do tych danych, aby przetwarzać je zgodnie z naszymi potrzebami. Oto przykłady, jak pracować z danymi z odpowiedzi:

4.1 Odczytywanie zawartości strony

Aby odczytać zawartość odpowiedzi, możemy użyć atrybutu text, który zwraca dane w postaci tekstowej. Na przykład, jeśli pobieramy stronę HTML, możemy wyświetlić jej zawartość:

response = requests.get('https://www.example.com')
print(response.text)

Funkcja text zwróci całą zawartość HTML strony. Możesz ją przetwarzać lub zapisać do pliku, zależnie od tego, co jest Ci potrzebne.

4.2 Odczytywanie danych w formacie JSON

Wiele nowoczesnych API zwraca dane w formacie JSON. Funkcja requests.get pozwala na łatwe przetwarzanie takich danych. Wystarczy użyć metody json(), aby automatycznie zdekodować odpowiedź do postaci słownika Pythona. Oto przykład:

response = requests.get('https://api.github.com/users/octocat')
data = response.json()
print(data)

W tym przypadku łączymy się z API GitHub, które zwraca dane użytkownika w formacie JSON. Po wywołaniu metody json() mamy dostęp do tych danych w postaci słownika, co pozwala na łatwe ich przetwarzanie.

5. Praca z parametrami w zapytaniach GET

Funkcja requests.get pozwala również na dodawanie parametrów do zapytań GET. Można to zrobić, przekazując słownik z parametrami do argumentu params. Na przykład, jeśli chcemy pobrać dane o użytkowniku GitHub, możemy dodać parametr z nazwą użytkownika:

params = {'username': 'octocat'}
response = requests.get('https://api.github.com/users', params=params)
print(response.json())

W tym przykładzie dodajemy parametr username do zapytania, co pozwala na elastyczne dostosowanie zapytania do naszych potrzeb.

6. Obsługa błędów i wyjątków

Podczas pracy z zapytaniami HTTP warto pamiętać o obsłudze potencjalnych błędów. Zapytanie może zakończyć się niepowodzeniem z różnych powodów, takich jak brak połączenia z internetem, błędny adres URL czy problemy z serwerem. Warto zatem dodać odpowiednią obsługę wyjątków:

try:
    response = requests.get('https://www.example.com')
    response.raise_for_status()  # Sprawdza, czy zapytanie zakończyło się sukcesem
except requests.exceptions.RequestException as e:
    print(f'Błąd: {e}')
else:
    print('Zapytanie zakończone sukcesem!')

W tym przykładzie używamy metody raise_for_status(), która sprawdza, czy zapytanie zakończyło się błędem. Jeśli tak, zostanie zgłoszony wyjątek, który można obsłużyć odpowiednim komunikatem.

7. Zastosowanie requests.get w różnych projektach

Funkcja requests.get jest niezwykle wszechstronna i może być używana w wielu różnych projektach. Oto kilka przykładów, w których może znaleźć zastosowanie:

  • Integracja z API: Pobieranie danych z zewnętrznych API, takich jak GitHub, OpenWeatherMap, Twitter itp.
  • Web scraping: Pobieranie stron internetowych i przetwarzanie ich zawartości (np. w celu wyciągania danych).
  • Testowanie: Wysyłanie zapytań HTTP do różnych serwisów w celu testowania ich dostępności i odpowiedzi.

8. Podsumowanie

Funkcja requests.get w Pythonie jest niezwykle potężnym narzędziem, które pozwala na łatwe pobieranie danych z internetu. Dzięki niej można szybko i wygodnie wysyłać zapytania HTTP do serwerów i odbierać odpowiedzi w postaci tekstowej lub JSON. Niezależnie od tego, czy tworzysz aplikację webową, analizujesz dane, czy integrujesz się z zewnętrznymi API, funkcja ta z pewnością okaże się nieoceniona. Pamiętaj tylko o odpowiedniej obsłudze błędów i parametrach zapytań, a będziesz gotowy na wszelkie wyzwania!

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

Imię:
Treść: