3.1 Moduł requests
Do podstawowej pracy z internetem w Pythonie jest biblioteka requests
. Ona oferuje wygodny interfejs do pracy z siecią, umożliwiając wysyłanie HTTP-zapytań i odbieranie odpowiedzi z minimalnym wysiłkiem.
Ta biblioteka nie jest dostarczana razem z Pythonem, więc przed jej użyciem musisz ją zainstalować za pomocą menedżera pakietów.
Otwórz swój terminal i wpisz:
pip install requests
Po zainstalowaniu biblioteki możesz używać modułu requests
w swoich projektach. Na przykład, w ten sposób możesz określić swój zewnętrzny adres IP:
import requests
response = requests.get("http://ip.jsontest.com/")
print(response.status_code) # Wyświetla status kod odpowiedzi
print(response.json()) # Wyświetla JSON-odpowiedź
Tu wysłaliśmy zapytanie do serwisu (strony) ip.jsontest.com
, który zwraca JSON-obiekt z adresem IP, z którego zapytanie do niego przyszło. Samo zapytanie i odbiór odpowiedzi wykonuje się w jednej linii — to bardzo wygodne. W pozostałych liniach po prostu wydrukowaliśmy odpowiedź serwera.
W przykładzie powyżej wywołaliśmy metodę get()
, poniżej opowiem o tej metodzie i innych metodach obiektu requests
.
3.2 Lista metod
Obiekt requests
ma metody na wszystkie przypadki, a właściwie po jednej metodzie na każdy typ HTTP-zapytania.
Metoda | Opis |
---|---|
requests.get() |
Wysyła GET-zapytanie do pobrania danych z serwera. |
requests.post() |
Wysyła POST-zapytanie do wysłania danych na serwer. |
requests.put() |
Wysyła PUT-zapytanie do aktualizacji danych na serwerze. |
requests.delete() |
Wysyła DELETE-zapytanie do usunięcia danych z serwera. |
requests.head() |
Wysyła HEAD-zapytanie do pobrania nagłówków bez ciała odpowiedzi. |
requests.options() |
Wysyła OPTIONS-zapytanie do pobrania obsługiwanych metod i parametrów serwera. |
requests.patch() |
Wysyła PATCH-zapytanie do częściowej aktualizacji danych na serwerze. |
requests.request() |
Podstawowa metoda do wysyłania wszystkich typów HTTP-zapytań . |
Poniżej omówimy najważniejsze z nich.
3.3 Wysyłanie GET-zapytania
i POST-zapytania
GET-zapytanie
zazwyczaj składa się tylko z URL, lub może zawierać dodatkowy ciąg parametrów.
1. Wysyłanie czystego GET-zapytania
GET-zapytanie
jest używane do pobierania danych z serwera. Obowiązkowym parametrem jest URL, na który zapytanie jest wysyłane.
Przykład:
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code) # Wyświetla status kod odpowiedzi
print(response.json()) # Wyświetla JSON-odpowiedź
2. Wysyłanie GET-zapytania
z parametrami
URL może również zawierać dodatkowe parametry w formie ciągu key=value&key2=value2&…
W naszym przypadku parametry są przekazywane w formie słownika i zmiennej params
:
import requests
params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())
3. Wysyłanie POST-zapytania
POST-zapytanie
może zawierać ciało zapytania: tekst, JSON czy nawet obrazek.
Przykład:
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())
3.4 Wysyłanie PUT-zapytania
i DELETE-zapytania
1. Wysyłanie PUT-zapytania
PUT-zapytanie
jest używane do aktualizacji danych na serwerze.
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())
2. Wysyłanie DELETE-zapytania
DELETE-zapytanie
jest używane do usunięcia danych z serwera.
import requests
response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())
Aby lepiej zrozumieć istotę GET
, POST
, PUT
i DELETE
zapytań, musisz przeczytać wykłady na temat budowy sieci, internetu, webu i HTTP
. Wszystko to czeka na Ciebie w niedalekiej przyszłości.
GO TO FULL VERSION