Configuration de proxys dans Google Colab et Jupyter
Bon, passons directement à l'utilisation de proxys dans Google Colab ou Jupyter ; pas de chichis. Que vous souhaitiez récupérer des données, contourner les restrictions géographiques ou simplement préserver votre confidentialité, les proxys sont vos alliés de prédilection. Il faut toutefois un certain savoir-faire pour bien faire les choses, surtout sur des plateformes comme Colab et Jupyter, qui présentent parfois leurs propres spécificités.
Pourquoi utiliser des proxys avec Colab et Jupyter ?
Scénario | Avantages du proxy |
---|---|
Web scraping | Éviter les interdictions de propriété intellectuelle |
Accéder aux API géo-bloquées | Débloquer du contenu |
Recherche avec anonymat | Masquer votre empreinte numérique |
Choisir votre source proxy
Maintenant, avant de vous lancer à la recherche de proxys sur Internet, simplifions les choses. ProxyRoller est votre partenaire ! Il propose des proxys gratuits et prêts à l'emploi. Plus d'informations à ce sujet dans un instant.
Types de proxys
Taper | Description | Utilisation typique |
---|---|---|
HTTP/HTTPS | Proxies Web standard | Web scraping, crawling |
SOCKS4/SOCKS5 | Niveau inférieur, prend en charge davantage de protocoles | Streaming, P2P, etc. |
Tournant | Change fréquemment d'IP | Éviter les limites de taux |
Résidentiel | Les adresses IP des utilisateurs réels sont plus difficiles à bloquer | Scraping, automatisation |
Pour la plupart des travaux Colab/Jupyter, les proxys HTTP/HTTPS feront l'affaire.
Obtenir des proxys gratuits auprès de ProxyRoller
- Rendez-vous sur ProxyRoller.
- Cliquez sur le bouton « Obtenir des proxys gratuits ».
- Copiez la liste de proxy : cela ressemble à ceci
ip:port
.
Un petit conseil australien : testez vos proxys, car les proxys gratuits peuvent être capricieux, comme la météo de Melbourne.
Configuration des proxys dans Google Colab
Colab s'exécute sur une machine virtuelle ; vous devez donc demander à Python (et aux bibliothèques associées) d'utiliser un proxy. Voici comment procéder, à la manière d'Arvid :
Configuration du proxy HTTP/HTTPS pour 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())
- Si votre proxy n'a pas besoin d'authentification, laissez de côté
username:password@
.
Configuration globale des proxys dans Notebook
Parfois, vous souhaitez que tout passe par le proxy. Définissez les variables d'environnement :
import os
os.environ['http_proxy'] = 'http://proxy_ip:proxy_port'
os.environ['https_proxy'] = 'http://proxy_ip:proxy_port'
Désormais, toute bibliothèque qui respecte ces variables d'environnement (requests, urllib, etc.) utilisera le proxy.
Procurations rotatives
Si vous vous débrouillez comme un dingo dans un élevage de poulets, faites tourner vos proxys pour éviter les interdictions :
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())
Configuration des proxys dans Jupyter Notebook
C'est un peu comme Colab, mec. Voici le principe :
Pour requests
et 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())
Pour le proxy à l'échelle du système (noyau Jupyter)
import os
os.environ['HTTP_PROXY'] = 'http://proxy_ip:proxy_port'
os.environ['HTTPS_PROXY'] = 'http://proxy_ip:proxy_port'
Pour Selenium (navigateurs sans tête)
Si vous exécutez Selenium dans Jupyter (un peu de puissance) :
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')
Comparaison des méthodes proxy
Méthode | Portée | Outils/Bibliothèques | Cas d'utilisation |
---|---|---|---|
requests mandataires |
Par demande | requêtes, urllib3 | Scraping, appels d'API |
Variables d'environnement | Mondial (session) | Toutes les bibliothèques (la plupart) | Utilisation cohérente du proxy |
Proxy Selenium | Automatisation du navigateur | sélénium | Automatisation/scraping Web |
Tester votre proxy
Testez toujours si votre proxy fonctionne, sinon vous risquez de vous retrouver dans une situation où vous tournez en rond.
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())
Si l'IP correspond au proxy, vous êtes en or.
Pièges courants (et solutions rapides)
Problème | À quoi ça ressemble | Comment réparer |
---|---|---|
Délai de connexion expiré | Les requêtes sont bloquées, aucune réponse | Essayez un autre proxy |
Authentification proxy 403/407 requise | Erreur d'authentification | Utilisez le nom d'utilisateur/mot de passe si nécessaire |
Le proxy ne fonctionne pas dans Colab | Aucun changement d'IP, erreurs | Vérifier les variables d'environnement |
Problèmes SSL | Échec de la négociation SSL | Utilisez HTTP ou définissez verify=False |
Ressources utiles
- ProxyRoller – Liste de proxys gratuits
- Documentation des requêtes Python
- Documentation de Jupyter Notebook
- FAQ sur Google Colab
- Documentation du proxy Selenium
Et voilà ! Plus besoin de vous battre pour obtenir un proxy performant dans Colab ou Jupyter. Si vous avez besoin de nouveaux proxys, n'oubliez pas que ProxyRoller est toujours ouvert et ne mord pas.
Commentaires (0)
Il n'y a pas encore de commentaires ici, vous pouvez être le premier !