Impostazione dei proxy in Google Colab e Jupyter
Bene, andiamo dritti al punto: come gestire i proxy in Google Colab o Jupyter? Senza perdere tempo. Che si tratti di estrarre dati, aggirare le restrizioni geografiche o semplicemente desiderare un po' di privacy, i proxy sono i tuoi compagni di fiducia. Tuttavia, bisogna saperlo fare bene, soprattutto su piattaforme come Colab e Jupyter, che a volte hanno le loro peculiarità.
Perché utilizzare i proxy con Colab e Jupyter?
Scenario | Vantaggio del proxy |
---|---|
Web scraping | Evitare i divieti IP |
Accesso alle API bloccate geograficamente | Sblocco dei contenuti |
Ricerca con anonimato | Mascherare la tua impronta digitale |
Scegliere la fonte del proxy
Ora, prima di addentrarci nei meandri di Internet alla ricerca di proxy, rendiamo le cose più semplici. ProxyRoller è il tuo compagno qui: offre proxy nuovi e gratuiti, pronti all'uso. Maggiori informazioni tra poco.
Tipi di proxy
Tipo | Descrizione | Utilizzo tipico |
---|---|---|
HTTP/HTTPS | Proxy web standard | Web scraping, crawling |
SOCKS4/SOCKS5 | Di livello inferiore, supporta più protocolli | Streaming, P2P, ecc. |
Rotante | Cambia frequentemente IP | Evitare i limiti di velocità |
Residenziale | IP utente reali, più difficili da bloccare | Scraping, automazione |
Per la maggior parte del lavoro Colab/Jupyter, i proxy HTTP/HTTPS saranno sufficienti.
Ottenere proxy gratuiti da ProxyRoller
- Vai a ProxyRoller.
- Fare clic sul pulsante "Ottieni proxy gratuiti".
- Copia l'elenco dei proxy: assomiglia a qualcosa del genere
ip:port
.
Un consiglio australiano: prova i tuoi proxy, perché quelli gratuiti possono essere incostanti, come il meteo a Melbourne.
Configurazione dei proxy in Google Colab
Colab viene eseguito su una macchina virtuale, quindi è necessario istruire Python (e le librerie correlate) a utilizzare un proxy. Ecco come fare, in stile Arvid:
Impostazione del proxy HTTP/HTTPS per requests
import requests
proxies = {
'http': 'http://username:password@proxy_ip:proxy_port',
'https': 'http://username:password@proxy_ip:proxy_port'
}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())
- Se il tuo proxy non necessita di autenticazione, ometti
username:password@
.
Impostazione dei proxy a livello globale nel notebook
A volte si desidera che tutto passi attraverso il proxy. Impostare le variabili d'ambiente:
import os
os.environ['http_proxy'] = 'http://proxy_ip:proxy_port'
os.environ['https_proxy'] = 'http://proxy_ip:proxy_port'
Ora, qualsiasi libreria che rispetti queste variabili di ambiente (richieste, urllib, ecc.) utilizzerà il proxy.
Proxy rotanti
Se stai raschiando come un dingo in un allevamento di polli, ruota i tuoi proxy per evitare i ban:
import random
proxy_list = [
'http://ip1:port1',
'http://ip2:port2',
'http://ip3:port3'
]
def get_random_proxy():
return {'http': random.choice(proxy_list), 'https': random.choice(proxy_list)}
for i in range(10):
proxies = get_random_proxy()
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())
Configurazione dei proxy in Jupyter Notebook
Più o meno come Colab, amico. Ecco come funziona:
Per requests
E urllib
import requests
proxies = {
'http': 'http://proxy_ip:proxy_port',
'https': 'http://proxy_ip:proxy_port'
}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())
Per proxy a livello di sistema (kernel Jupyter)
import os
os.environ['HTTP_PROXY'] = 'http://proxy_ip:proxy_port'
os.environ['HTTPS_PROXY'] = 'http://proxy_ip:proxy_port'
Per Selenium (browser headless)
Se stai utilizzando Selenium in Jupyter (una mossa un po' potente):
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
proxy_ip_port = 'proxy_ip:proxy_port'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy_ip_port}')
driver = webdriver.Chrome(options=chrome_options)
driver.get('https://httpbin.org/ip')
Confronto dei metodi proxy
Metodo | Ambito | Strumenti/Librerie | Caso d'uso |
---|---|---|---|
requests proxy |
Su richiesta | richieste, urllib3 | Scraping, chiamate API |
Variabili di ambiente | Globale (sessione) | Tutte le biblioteche (la maggior parte) | Utilizzo coerente del proxy |
Proxy del selenio | Automazione del browser | selenio | Automazione/scraping web |
Test del tuo proxy
Verifica sempre che il tuo proxy funzioni, altrimenti potresti ritrovarti a girare in tondo senza meta.
import requests
proxies = {
'http': 'http://proxy_ip:proxy_port',
'https': 'http://proxy_ip:proxy_port'
}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print("Proxy IP:", response.json())
Se l'IP corrisponde al proxy, sei a posto.
Errori comuni (e soluzioni rapide)
Problema | Come appare | Come risolvere |
---|---|---|
Timeout della connessione | Le richieste si bloccano, nessuna risposta | Prova un proxy diverso |
403/407 Autenticazione proxy richiesta | Errore di autenticazione | Utilizzare nome utente/password se necessario |
Il proxy non funziona in Colab | Nessun cambiamento nell'IP, errori | Controllare le variabili di ambiente |
Problemi SSL | Handshake SSL non riuscito | Utilizzare HTTP o impostare verify=False |
Risorse utili
- ProxyRoller – Elenco proxy gratuito
- Documentazione delle richieste Python
- Documentazione di Jupyter Notebook
- Domande frequenti su Google Colab
- Documentazione del proxy Selenium
Ed ecco fatto: non c'è bisogno di lottare con un coccodrillo per impostare il tuo proxy in Colab o Jupyter. Se hai bisogno di proxy nuovi, ricorda che ProxyRoller è sempre aperto e non morde.
Commenti (0)
Non ci sono ancora commenti qui, potresti essere il primo!