Come usare un proxy con il modulo Requests in Python

Guide, Come fare, Proxy, Mar-06-20245 minuti di lettura

Ogni computer riceve un indirizzo IP (Internet Protocol) unico che identifica il computer e la sua posizione geografica quando è connesso a Internet. Il computer invia una richiesta ogni volta che ha bisogno di informazioni da Internet. La richiesta viene inviata a un computer di destinazione che controlla il tipo di informazioni richieste. Il computer di destinazione

Ogni computer riceve un indirizzo IP (Internet Protocol) unico che identifica il computer e la sua posizione geografica quando è connesso a Internet. Il computer invia una richiesta ogni volta che ha bisogno di informazioni da Internet. La richiesta viene inviata a un computer di destinazione che verifica il tipo di informazione richiesta. Il computer di destinazione invia le informazioni se è autorizzato a fornirle al nostro indirizzo IP. A volte, il computer vuole ottenere le informazioni da Internet senza essere identificato. Di solito queste informazioni sono bloccate, ma possiamo ottenerle utilizzando un proxy che funge da intermediario tra il client e il computer server.

Ogni server proxy ha il suo indirizzo IP, quindi quando un utente richiede tramite un proxy di accedere a un sito web, il sito web invia i dati all'IP del server proxy che li inoltra all'utente.

  • I proxy nascondono l'identità dei web scrapers e fanno apparire il loro traffico come quello di un utente normale.
  • I proxy offrono una maggiore sicurezza ai siti web e bilanciano il traffico internet.
  • I proxy proteggono i dati degli utenti del web o aiutano ad accedere ai siti web bloccati dal meccanismo di censura di un paese.

Utilizzo di un proxy con il modulo Requests in Python

Per utilizzare i proxy con le richieste Python, è necessario seguire i passaggi seguenti.

Richieste di importazione

Importare il pacchetto requests, che è una semplice libreria HTTP. È possibile inviare facilmente le richieste attraverso questo pacchetto, senza aggiungere manualmente le stringhe di query agli URL. È possibile importare requests utilizzando il comando seguente.

richieste di importazione

Creare un dizionario

È necessario creare un dizionario dei proxy che definisca le connessioni HTTP e HTTPS. Si può dare alla variabile del dizionario un nome qualsiasi, come "proxies", che mappi un protocollo all'URL del proxy. Inoltre, la variabile URL deve essere impostata sul sito web da cui si deve effettuare lo scraping.

proxies = {
  "http":'http://203.190.46.62:8080',
  "https":'https://111.68.26.237:8080'
}
url = 'https://httpbin.org/ip'

Qui il dizionario definisce l'URL del proxy per due protocolli distinti, ossia HTTP e HTTPS.

Creare una variabile di risposta

È necessario creare una variabile di risposta che utilizzi uno qualsiasi dei metodi di richiesta. Questo metodo accetta due argomenti:

  • L'URL creato
  • Il dizionario ha definito
response = requests.get(url,proxies = proxies)
print(response.json())

L'output è il seguente:

È anche possibile utilizzare il modulo requests di Python per ruotare gli indirizzi IP, come mostrato di seguito.

È necessario importare il modulo requests utilizzando il comando seguente.

richieste di importazione

Creare la funzione sending_request

È necessario creare una funzione sending_request e preferire l'utilizzo di un proxy http, poiché la maggior parte dei proxy gratuiti non utilizza il protocollo https. Abbiamo usato il blocco try-except perché la maggior parte dei proxy gratuiti non funziona.

def sending_request(session, proxy):
    try:
        response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
        print(response.json())
    except:
        pass

Leggere proxy_txt

Dovete leggere il file list_proxies.txt contenente l'elenco dei proxy gratuiti e salvarlo nella variabile denominata proxies.

if __name__ == "__main__":
   con open('list_proxies.txt', 'r') come file:
        proxies = file.readlines()

Crea sessione

È necessario creare una sessione dal modulo Richieste e seguire i passaggi seguenti.

  • Eseguire un loop attraverso il proxy
  • Passare il proxy e la sessione alla funzione sending_request
con requests.Session() come sessione:
   per proxy in proxy:
        invia_richiesta(sessione, proxy)

Si otterrà l'elenco dei proxy come mostrato di seguito.

Questi sono alcuni proxy e l'elenco continua con altri proxy, ma tutti non funzionano.

Necessità di deleghe

Ogni azienda deve conoscere le cinque ragioni aziendali fondamentali per l'utilizzo dei proxy, indicate di seguito.

Svolgimento anonimo di compiti sensibili

I proxy sono noti per la loro capacità di rendere anonimo il traffico web. Ma la maggior parte delle persone non comprende la loro importanza nel settore commerciale. I server proxy consentono ai responsabili della sicurezza e ai giornalisti di proteggere se stessi, le aziende, le fonti, i clienti e i partner.

È possibile utilizzare i proxy anche per proteggere lo sviluppo e la ricerca in corso e altre attività aziendali. Supponiamo che la vostra azienda utilizzi un proxy e una potenziale spia per tracciare il traffico web e determinare gli sviluppi della vostra attività. In questo caso, non sarà in grado di rintracciare facilmente i vostri dipendenti.

Migliorare la sicurezza aziendale e istituzionale

Si sa che le violazioni dei dati sono costose sia in termini di immagine pubblica che di perdite monetarie. Le aziende sono quindi preoccupate dagli hacker. Ma i proxy possono aiutarvi perché riducono le possibilità di violazione dei dati. Aggiungono un ulteriore livello di sicurezza tra i vostri server e il traffico esterno. I server proxy fungono anche da cuscinetto, in quanto si affacciano su Internet e inoltrano le richieste dai computer esterni alla rete.

Se gli hacker hanno accesso ai vostri server proxy, avranno comunque problemi a raggiungere il server che esegue il software web in cui sono memorizzati i dati.

Controllo dell'uso di Internet da parte dei dipendenti

Si sa che le violazioni dei dati sono costose sia in termini di immagine pubblica che di perdite monetarie. Le aziende sono quindi preoccupate dagli hacker. Ma i proxy possono aiutarvi perché riducono le possibilità di violazione dei dati. Aggiungono un ulteriore livello di sicurezza tra i vostri server e il traffico esterno. I server proxy fungono anche da cuscinetto, in quanto si affacciano su Internet e inoltrano le richieste dai computer esterni alla rete.

Se gli hacker hanno accesso ai vostri server proxy, avranno comunque problemi a raggiungere il server che esegue il software web in cui sono memorizzati i dati.

Risparmiare larghezza di banda e ottenere velocità più elevate

Alcuni pensano che i server proxy rallentino la velocità di Internet a causa della grande quantità di lavoro che svolgono in background. Ma non è sempre vero. I server proxy possono essere utilizzati per risparmiare larghezza di banda e aumentare la velocità:

  • Caching delle pagine web e dei file a cui accedono più utenti
  • Comprimere il traffico
  • Eliminare gli annunci dai siti web

Quali proxy utilizzare?

Si potrebbe pensare che esista un unico tipo di proxy che offra tutti i vantaggi alle aziende, come ad esempio:

  • Prevenzione delle violazioni dei dati
  • Definizione di prezzi competitivi
  • Raccolta di dati preziosi sui social media
  • Costruire una strategia SEO efficace

In realtà, esistono molti tipi di proxy e quello da utilizzare dipende dai requisiti o dal caso d'uso.

Di seguito sono riportati i tipi più comuni di proxy.

Proxy per centri dati

I proxy dei centri dati sono i proxy più comuni utilizzati dalle aziende di tutto il mondo. I centri dati producono e gestiscono questi proxy. È possibile utilizzare questi proxy per migliorare la sicurezza del proprio sistema, poiché sono economici e facili da acquistare. Tuttavia, alcuni siti web ne vietano l'uso perché li associano ad attività di tipo bot.

Deleghe residenziali

I proxy residenziali sono associati a residenze fisiche e utilizzano gli indirizzi IP di persone reali forniti dai provider di servizi Internet (ISP). Quando li utilizzate per collegarvi a un sito web, sembrate un utente comune. In questo modo, è meno probabile che veniate individuati e bannati. Utilizzando i proxy residenziali, è possibile effettuare lo scraping di una grande quantità di dati web e ottenere un maggiore anonimato e sicurezza.

Conclusione

Finora abbiamo detto che un proxy agisce come un relè tra il computer client e il server. Ogni volta che si richiedono informazioni, il computer invia la richiesta al proxy, che poi invia le informazioni al computer di destinazione utilizzando un indirizzo IP diverso. In questo modo il vostro indirizzo IP rimane riservato. Inoltre, è possibile utilizzare i proxy con il modulo requests di Python ed eseguire varie azioni a seconda delle esigenze. Se avete bisogno di un IP statico con la velocità dei proxy dei centri dati e l'elevato anonimato dei proxy residenziali, allora i proxy statici sono la strada da percorrere, poiché l'indirizzo IP rimane invariato a ogni nuova richiesta. Al contrario, i proxy rotanti offrono vantaggi nei test e nello scraping.