Configuración de servidores proxy en Google Colab y Jupyter
Bien, vayamos directo al grano: cómo ejecutar proxies en Google Colab o Jupyter, sin rodeos. Ya sea que quieras extraer datos, eludir restricciones geográficas o simplemente buscar un poco de privacidad, los proxies son tus aliados predilectos. Sin embargo, hay un truco para hacerlo bien, especialmente en plataformas como Colab y Jupyter, que a veces tienen sus propias peculiaridades.
¿Por qué utilizar proxies con Colab y Jupyter?
Guión | Beneficio del Proxy |
---|---|
Raspado web | Cómo evitar prohibiciones de propiedad intelectual |
Acceso a API geobloqueadas | Desbloqueo de contenido |
Investigación con anonimato | Enmascarando su huella digital |
Cómo elegir su fuente de proxy
Ahora bien, antes de que empieces a buscar servidores proxy por todo Internet, vamos a simplificarlo. Rodillo proxy Aquí tienes a tu amigo: te ofrece proxies nuevos, gratuitos y listos para usar. Más información sobre ellos enseguida.
Tipos de Proxies
Tipo | Descripción | Uso típico |
---|---|---|
HTTP/HTTPS | Proxies web estándar | Web scraping, rastreo |
SOCKS4/SOCKS5 | De nivel inferior, admite más protocolos | Transmisión, P2P, etc. |
Giratorio | Cambia de IP con frecuencia | Cómo evitar los límites de velocidad |
Residencial | IP de usuarios reales, más difíciles de bloquear | Raspado, automatización |
Para la mayoría del trabajo de Colab/Jupyter, los proxies HTTP/HTTPS serán suficientes.
Obtener proxies gratuitos de ProxyRoller
- Dirígete a Rodillo proxy.
- Haga clic en el botón “Obtener Proxies Gratis”.
- Copiar la lista de proxy: se ve algo así como
ip:port
.
Un consejo australiano: prueba tus proxies, porque los proxies gratuitos pueden ser volubles, como el clima de Melbourne.
Configuración de servidores proxy en Google Colab
Colab se ejecuta en una máquina virtual, por lo que debes indicarle a Python (y a las bibliotecas relacionadas) que usen un proxy. Así es como se hace, al estilo Arvid:
Configuración del proxy HTTP/HTTPS para 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 su proxy no necesita autenticación, omítalo
username:password@
.
Configuración de servidores proxy globalmente en Notebook
A veces quieres que todo se ejecute a través del proxy. Configura las variables de entorno:
import os
os.environ['http_proxy'] = 'http://proxy_ip:proxy_port'
os.environ['https_proxy'] = 'http://proxy_ip:proxy_port'
Ahora, cualquier biblioteca que respete estas variables de entorno (solicitudes, urllib, etc.) utilizará el proxy.
Proxies rotativos
Si estás luchando como un dingo en una granja de pollos, rota tus servidores proxy para evitar prohibiciones:
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())
Configuración de servidores proxy en Jupyter Notebook
Muy parecido a Colab, amigo. Así es el procedimiento:
Para requests
y 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())
Para proxy de todo el sistema (núcleo Jupyter)
import os
os.environ['HTTP_PROXY'] = 'http://proxy_ip:proxy_port'
os.environ['HTTPS_PROXY'] = 'http://proxy_ip:proxy_port'
Para Selenium (navegadores sin interfaz gráfica)
Si estás ejecutando Selenium en Jupyter (un movimiento un poco 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')
Comparación de métodos proxy
Método | Alcance | Herramientas/Bibliotecas | Caso de uso |
---|---|---|---|
requests apoderados |
Por solicitud | solicitudes, urllib3 | Raspado, llamadas API |
Variables de entorno | Global (sesión) | Todas las bibliotecas (la mayoría) | Uso consistente del proxy |
Proxy de selenio | Automatización del navegador | selenio | Automatización/scraping web |
Probando su proxy
Pruebe siempre si su proxy funciona; de lo contrario, podría convertirse en el equivalente digital de andar en círculos por la selva.
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 la IP coincide con el proxy, estás listo.
Errores comunes (y soluciones rápidas)
Asunto | Cómo se ve | Cómo solucionarlo |
---|---|---|
Tiempo de espera de conexión | Las solicitudes se cuelgan, no hay respuesta | Pruebe con un proxy diferente |
Se requiere autenticación de proxy 403/407 | Error de autenticación | Utilice nombre de usuario/contraseña si es necesario |
El proxy no funciona en Colab | Sin cambios en IP, errores | Comprobar variables de entorno |
Problemas de SSL | Falló el protocolo de enlace SSL | Utilice HTTP o establezca verificar=False |
Recursos útiles
- ProxyRoller – Lista de servidores proxy gratuitos
- Python solicita documentación
- Documentación de Jupyter Notebook
- Preguntas frecuentes de Google Colab
- Documentación del proxy de Selenium
Y listo: no hace falta pelearse con un cocodrilo para que tu proxy funcione correctamente en Colab o Jupyter. Si necesitas proxies nuevos, recuerda que ProxyRoller siempre está abierto y no muerde.
Comentarios (0)
Aún no hay comentarios aquí, ¡puedes ser el primero!