Python Requests Module Guide: come utilizzare la libreria delle richieste in Python?

Pubblicato: 2020-03-26

Quando lavori sul web, per affari o per scopi personali, è probabile che cerchi alcune informazioni. Oppure potresti voler utilizzare un sito Web per visualizzare video, caricare dati o controllare i social media. Per ottenere l'accesso a tutte queste risorse su Internet, devi inviare una richiesta tramite il tuo browser al server Internet.

HTTP (Hypertext Transfer Protocol) è l'insieme di regole che consentono la comunicazione tra un client e un server su Internet. Durante la programmazione in Python, puoi effettuare queste richieste usando un modulo chiamato request . Per acquisire esperienza in Python, dai un'occhiata ai nostri corsi di scienza dei dati.

In questo articolo impareremo le basi del modulo delle richieste Python .

Sommario

Modulo Richieste Python

Il modulo delle richieste in Python consente di scambiare richieste sul web. È una libreria molto utile che ha molti metodi e funzionalità essenziali per inviare richieste HTTP. Come accennato in precedenza, HTTP funziona come un sistema di richiesta-risposta tra un server e un client. Il tuo browser web potrebbe essere il client e il sistema che ospita il sito a cui desideri accedere è il server. Dai un'occhiata a tutte le importanti librerie Python.

Quando stai cercando di inviare una richiesta a un server, ci sono due metodi che incontrerai:

  • GET – Questo metodo viene utilizzato per richiedere dati da un server.
  • POST – Questo metodo viene utilizzato per inviare alcuni dati al server per l'elaborazione.

Il modulo delle richieste Python ha una semplice API che puoi usare per gestire tutte queste richieste. Ti offre molte funzionalità interessanti, come il passaggio di parametri all'interno degli URL, l'aggiunta di intestazioni, l'invio di intestazioni personalizzate e molto altro.

Ulteriori informazioni: moduli Python che dovresti conoscere

Per iniziare a lavorare con il modulo delle richieste, il primo passo è installare il modulo in Python. Per farlo, digita il seguente codice in Python:

Richieste di installazione $ pip

Nel caso in cui desideri utilizzare Pipenv, uno strumento di packaging Python per l'installazione del modulo delle richieste, digita il seguente codice:

$ richieste di installazione pipenv

Dopo aver installato il modulo, puoi usarlo all'interno dei tuoi programmi importandolo. Usa il seguente codice:

richieste di importazione

Ora, cerchiamo di capire i metodi più importanti del modulo delle richieste di Python : GET e POST.

OTTIENI richiesta

Questo metodo viene utilizzato per inviare una richiesta GET a un URL. Ciò indica che stai cercando di ottenere dati da una risorsa sul Web. La sintassi di base è:

request.get(url, parametri={chiave: valore}, argomenti)

Qui, url è l'URL del sito Web a cui desideri inviare la richiesta. Il parametro è un dizionario o un elenco di tuple utilizzate per inviare una stringa di query. Gli arg possono essere uno o più dei vari argomenti denominati (opzionale) offerti dal metodo GET. E questi sono:

  • allow_redirects – Questo è un valore booleano utilizzato per abilitare o disabilitare il reindirizzamento. Valore predefinito: Vero
  • auth – Questa è una tupla per abilitare un'autenticazione HTTP. Valore predefinito: Nessuno
  • cert : può essere una tupla o una stringa per menzionare un file o una chiave cert. Valore predefinito: Nessuno
  • timeout – Può essere una tupla o un numero che indica il numero di secondi di attesa prima che il client stabilisca una connessione o prima di inviare una risposta. Valore predefinito: Nessuno
  • verificare – Questa è una stringa o un valore booleano che indica la verifica del certificato TLS del server. Il valore predefinito è Vero.
  • cookie – Questo è un dizionario di cookie che si desidera inviare all'URL specificato. Valore predefinito: Nessuno
  • headers – Questo è un dizionario contenente le intestazioni HTTP che desideri inviare a un URL. Valore predefinito: Nessuno
  • stream – È un valore booleano True o False che indica se la risposta deve essere trasmessa in streaming ( True ) o scaricata immediatamente ( False ). Valore predefinito: Falso
  • proxy – Questo è un dizionario del protocollo per l'URL del proxy. Valore predefinito: Nessuno

Ulteriori informazioni: librerie Python per l'apprendimento automatico

Dopo aver inviato correttamente la richiesta GET, il metodo restituirà un request.Response object . Questo oggetto memorizza la risposta ottenuta dal server. È possibile memorizzare il risultato del metodo get() in una variabile. Quindi, puoi esaminare i dettagli di questa risposta. Le proprietà importanti che ti aiutano in questo senso sono le seguenti:

  • response.content : fornisce il contenuto dei dati della risposta.
  • response.status_code – Questo ti dà lo stato della tua richiesta. Ad esempio, 200 OK significa che la tua richiesta è andata a buon fine, ma 404 NON TROVATO significa che la tua richiesta non è riuscita a individuare la risorsa per te.
  • response.cookies – Viene utilizzato per ottenere un oggetto CookieJar contenente tutti i cookie ricevuti dal server.

Richiesta POST

Puoi inviare alcune informazioni a un server usando il metodo post() . La sintassi di base della richiesta è:

request.post(url, data={chiave: valore}, json={chiave: valore}, args)

Alcuni dei parametri importanti sono:

  • url – Questo è l'URL a cui vuoi inviare alcuni dati. Questo parametro è obbligatorio.
  • data – Questo è un parametro facoltativo che specifica un dizionario, un oggetto file o una tupla che si desidera inviare all'URL.
  • json – Questo è l'oggetto JSON da inviare all'URL.

args può essere uno qualsiasi dei diversi argomenti denominati, come ad esempio:

  • files – Questo è un dizionario di file da inviare all'URL.
  • headers – Un dizionario di intestazioni HTTP da inviare all'URL specificato.
  • cookie – Indica il dizionario dei cookie che potresti voler inviare.

Proprio come get(), anche il metodo post() restituisce un oggetto request.Response.

Avvolgendo

Il tutorial del modulo delle richieste python sopra ti aiuterà a fare richieste di base al server. Una cosa da tenere a mente è che il metodo get() è meno sicuro di post(). Questo perché in get(), i parametri vengono passati attraverso l'URL. Pertanto, le informazioni sensibili, come le password possono essere esposte. Pertanto, utilizzare post() in situazioni in cui è necessario scambiare password o informazioni importanti.

Se sei curioso di conoscere Python, la scienza dei dati, dai un'occhiata all'Executive PG Program in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore , 1 contro 1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.

Qual è l'uso del modulo Request in Python?

Per effettuare richieste HTTP a qualsiasi URL specificato, la libreria Richieste viene utilizzata in Python. Ci sono diverse funzionalità integrate in Python per gestire sia la richiesta che la risposta.

Per effettuare una richiesta HTTP all'URL specificato, il modulo Richieste Python viene utilizzato con l'aiuto di diverse richieste come HEAD, GET, PATCH, POST e PUT. Il motivo principale alla base dell'invio di una richiesta HTTP è recuperare i dati dal server o inviare determinati dati al server. Possiamo dire che una richiesta fungerà da ponte tra il client e il server per l'invio e la ricezione delle richieste. Tutti e 5 i tipi di richiesta vengono utilizzati per scopi diversi secondo i requisiti.

Quali sono le 3 parti di qualsiasi messaggio di risposta?

Tutti i messaggi HTTP sono blocchi di dati semplici e formattati. Ogni messaggio sarà costituito dal messaggio di richiesta dal lato client o dal messaggio di risposta dal lato server. Ogni messaggio HTTP è diviso in 3 parti:

1. Una linea di partenza per descrivere il messaggio.
2.Un blocco di intestazioni costituito da tutti gli attributi.
3. Una porzione facoltativa del corpo contenente i dati necessari per essere trasmessi.

L'URL in qualsiasi messaggio HTTP si riferisce all'indirizzo in cui si trovano le risorse. D'altra parte, il protocollo farà riferimento al protocollo HTTP che deve essere utilizzato per recuperare le informazioni.

Cosa fa il metodo POST in Python?

Solitamente, il metodo POST viene utilizzato nei moduli quando i dati devono essere inviati dai moduli al server per aggiornare i dati esistenti nei server. Il modulo delle richieste fornisce il metodo POST che può inviare direttamente i dati al server con l'ausilio dell'URL e dei valori dei parametri. È un metodo di richiesta più probabile utilizzato per inviare qualsiasi modulo Web o caricare qualsiasi file.