Cómo usar servidores proxy con Google Colab y Jupyter

Cómo usar servidores proxy con Google Colab y Jupyter

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

  1. Dirígete a Rodillo proxy.
  2. Haga clic en el botón “Obtener Proxies Gratis”.
  3. 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


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.

Arvid Warral

Arvid Warral

Arquitecto de red principal

Arvid Warral, oriundo de esta región soleada, es el cerebro detrás de la sólida y ágil arquitectura de red de ProxyRoller. Con más de dos décadas de experiencia en seguridad digital y gestión de servidores proxy, ha sido fundamental en el desarrollo de sistemas que satisfacen las necesidades dinámicas de privacidad y seguridad de datos. El recorrido de Arvid con ProxyRoller comenzó como un apasionado tecnólogo, y desde entonces sus soluciones innovadoras han impulsado a la empresa a la vanguardia de la industria. En su función, se compromete a garantizar que las ofertas de ProxyRoller sigan siendo de vanguardia y confiables para los usuarios de todo el mundo.

Comentarios (0)

Aún no hay comentarios aquí, ¡puedes ser el primero!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *