Przewodnik po module żądań Pythona: Jak korzystać z biblioteki żądań w Pythonie?

Opublikowany: 2020-03-26

Kiedy pracujesz w Internecie, w celach biznesowych lub osobistych, prawdopodobnie będziesz szukać pewnych informacji. Możesz też skorzystać z witryny internetowej do oglądania filmów, przesyłania danych lub sprawdzania mediów społecznościowych. Aby uzyskać dostęp do wszystkich tych zasobów w Internecie, musisz wysłać żądanie przez przeglądarkę do serwera internetowego.

HTTP (Hypertext Transfer Protocol) to zestaw reguł umożliwiających komunikację między klientem a serwerem przez Internet. Podczas programowania w Pythonie możesz wykonać te żądania za pomocą modułu o nazwie request . Aby zdobyć wiedzę na temat Pythona, zapoznaj się z naszymi kursami z analizy danych.

W tym artykule poznamy podstawy modułu zapytań Pythona .

Spis treści

Moduł żądań Pythona

Moduł request w Pythonie umożliwia wymianę żądań w sieci. Jest to bardzo przydatna biblioteka, która posiada wiele podstawowych metod i funkcji do wysyłania żądań HTTP. Jak wspomniano wcześniej, HTTP działa jako system żądanie-odpowiedź między serwerem a klientem. Twoja przeglądarka internetowa może być klientem, a system hostujący witrynę, do której chcesz uzyskać dostęp, jest serwerem. Sprawdź wszystkie ważne biblioteki Pythona.

Gdy chcesz wysłać żądanie do serwera, możesz napotkać dwie metody:

  • GET – Ta metoda służy do żądania danych z serwera.
  • POST – Ta metoda służy do przesyłania niektórych danych na serwer w celu ich przetworzenia.

Moduł żądań Pythona ma prosty interfejs API, którego możesz użyć do obsługi wszystkich tych żądań. Oferuje wiele interesujących funkcji, takich jak przekazywanie parametrów w adresach URL, dodawanie nagłówków, wysyłanie niestandardowych nagłówków i wiele innych.

Dowiedz się więcej: moduły Pythona, o których powinieneś wiedzieć

Aby rozpocząć pracę z modułem request, pierwszym krokiem jest zainstalowanie modułu w Pythonie. Aby to zrobić, wpisz następujący kod w Pythonie:

$ prośby o instalację pip

Jeśli chcesz użyć Pipenv, narzędzia do pakowania Pythona do instalacji modułu request, wpisz następujący kod:

$ prośby o instalację pipenv

Po zainstalowaniu modułu możesz go używać w swoich programach, importując go. Użyj następującego kodu:

żądania importu

Teraz poznajmy najważniejsze metody modułu żądań Pythona – GET i POST.

POBIERZ żądanie

Ta metoda służy do wysyłania żądania GET na adres URL. Oznacza to, że chcesz uzyskać dane z zasobu w Internecie. Podstawowa składnia to:

request.get(url, params={klucz: wartość}, args)

Tutaj url to adres URL witryny, do której chcesz wysłać żądanie. Params to słownik lub lista krotek używanych do wysłania ciągu zapytania. Argumenty mogą być dowolnymi lub kilkoma różnymi nazwanymi argumentami (opcjonalnie) oferowanymi przez metodę GET. A są to:

  • allow_redirects — jest to wartość logiczna używana do włączania lub wyłączania przekierowania. Wartość domyślna: Prawda
  • auth — jest to krotka umożliwiająca uwierzytelnianie HTTP. Wartość domyślna: Brak
  • cert — może to być krotka lub ciąg znaków wskazujący na plik lub klucz certyfikatu. Wartość domyślna: Brak
  • timeout – może to być krotka lub liczba wskazująca liczbę sekund oczekiwania na nawiązanie połączenia przez klienta lub przed wysłaniem odpowiedzi. Wartość domyślna: Brak
  • Zweryfikuj — jest to ciąg znaków lub wartość logiczna, która wskazuje weryfikację certyfikatu TLS serwera. Wartość domyślna to prawda.
  • cookies – Jest to słownik plików cookie, które chcesz wysłać pod określony adres URL. Wartość domyślna: Brak
  • nagłówki – jest to słownik zawierający nagłówki HTTP, które chcesz wysłać na adres URL. Wartość domyślna: Brak
  • stream — jest to wartość logiczna True lub False, która wskazuje, czy odpowiedź powinna być przesyłana strumieniowo ( True ), czy natychmiast pobierana ( False ). Wartość domyślna: Fałsz
  • proxy — jest to słownik protokołu adresu URL proxy. Wartość domyślna: Brak

Dowiedz się więcej: Biblioteki Pythona do uczenia maszynowego

Po pomyślnym wysłaniu żądania GET metoda zwróci obiekt request.Response . Ten obiekt przechowuje odpowiedź uzyskaną z serwera. Możesz przechowywać wynik metody get() w zmiennej. Następnie możesz sprawdzić szczegóły tej odpowiedzi. Ważnymi właściwościami, które pomagają Ci w tym zakresie, są:

  • response.content – ​​podaje zawartość danych odpowiedzi.
  • response.status_code — podaje stan żądania. Na przykład 200 OK oznacza, że ​​Twoje żądanie się powiodło, ale 404 NOT FOUND oznacza, że ​​Twoje żądanie nie mogło zlokalizować zasobu dla Ciebie.
  • response.cookies — służy do uzyskania obiektu CookieJar zawierającego wszystkie pliki cookie, które uzyskałeś z serwera.

Żądanie POST

Niektóre informacje można wysłać do serwera za pomocą metody post() . Podstawowa składnia żądania to:

request.post(url, data={klucz: wartość}, json={klucz: wartość}, args)

Niektóre z ważnych parametrów to:

  • url – To jest adres URL, pod który chcesz przesłać dane. To jest obowiązkowy parametr.
  • data — jest to parametr opcjonalny, który określa słownik, obiekt pliku lub krotkę, którą chcesz wysłać na adres URL.
  • json – jest to obiekt JSON do wysłania na adres URL.

argumenty mogą być dowolnymi nazwanymi argumentami, takimi jak:

  • pliki – jest to słownik plików do wysłania na adres URL.
  • headers — słownik nagłówków HTTP do wysłania pod określony adres URL.
  • pliki cookie — wskazuje słownik plików cookie, które możesz chcieć wysłać.

Podobnie jak get(), metoda post() również zwraca obiekt request.Response .

Zawijanie

Powyższy samouczek dotyczący modułu żądań Pythona pomoże Ci w tworzeniu podstawowych żądań serwera. Należy pamiętać, że metoda get() jest mniej bezpieczna niż post(). Dzieje się tak, ponieważ w get() parametry są przekazywane przez adres URL. Tak więc poufne informacje, takie jak hasła, mogą zostać ujawnione. Dlatego używaj post() w sytuacjach, w których konieczna jest wymiana haseł lub ważnych informacji.

Jeśli chcesz dowiedzieć się czegoś o Pythonie, nauce o danych, sprawdź program Executive PG w dziedzinie Data Science IIIT-B i upGrad, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży , 1 na 1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.

Jakie jest zastosowanie modułu Request w Pythonie?

Do wysyłania żądań HTTP do dowolnego określonego adresu URL w Pythonie wykorzystywana jest biblioteka Requests. W Pythonie jest kilka wbudowanych funkcji do obsługi zarówno żądań, jak i odpowiedzi.

Aby wykonać żądanie HTTP do określonego adresu URL, moduł Python Requests jest używany z pomocą różnych żądań, takich jak HEAD, GET, PATCH, POST i PUT. Głównym powodem wysłania żądania HTTP jest pobranie danych z serwera lub przesłanie określonych danych na serwer. Można powiedzieć, że żądanie będzie działać jako pomost między klientem a serwerem do wysyłania i odbierania żądań. Wszystkie 5 typów żądań jest używanych do różnych celów zgodnie z wymaganiami.

Jakie są 3 części każdej wiadomości z odpowiedzią?

Wszystkie wiadomości HTTP to proste i sformatowane bloki danych. Każda wiadomość będzie składać się z wiadomości żądania po stronie klienta lub wiadomości odpowiedzi po stronie serwera. Każda wiadomość HTTP podzielona jest na 3 części:

1. Linia startowa do opisania wiadomości.
2.Blok nagłówków składający się ze wszystkich atrybutów.
3. Opcjonalna część treści zawierająca niezbędne dane do przesłania.

Adres URL w dowolnej wiadomości HTTP odnosi się do adresu, pod którym znajdują się zasoby. Z drugiej strony protokół będzie odnosić się do protokołu HTTP, który ma być używany do pobierania informacji.

Co robi metoda POST w Pythonie?

Zazwyczaj metoda POST jest wykorzystywana w formularzach, gdy dane muszą zostać przesłane z formularzy na serwer w celu aktualizacji istniejących danych na serwerach. Moduł request udostępnia metodę POST, która może bezpośrednio wysyłać dane do serwera za pomocą adresu URL i wartości parametrów. Jest to bardziej prawdopodobna metoda żądania używana do przesyłania dowolnego formularza internetowego lub przesyłania dowolnego pliku.