Configurando proxies no Google Colab e Jupyter
Certo, vamos direto ao ponto de executar proxies no Google Colab ou Jupyter — sem enrolação. Seja para coletar dados, contornar restrições geográficas ou apenas para ter um pouco de privacidade, os proxies são seus aliados. Mas há um jeito especial de fazer isso direito, especialmente em plataformas como Colab e Jupyter, que às vezes têm suas peculiaridades.
Por que usar proxies com Colab e Jupyter?
Cenário | Benefício do Proxy |
---|---|
Raspagem da web | Evitando proibições de IP |
Acessando APIs bloqueadas geograficamente | Desbloqueando conteúdo |
Pesquisa com anonimato | Mascarando sua pegada digital |
Escolhendo sua fonte de proxy
Agora, antes de você sair por aí vasculhando a internet em busca de proxies, vamos facilitar. Rolo de Proxy é o seu parceiro aqui — oferece proxies novos e gratuitos prontos para uso. Mais sobre eles em breve.
Tipos de Proxies
Tipo | Descrição | Uso típico |
---|---|---|
HTTP/HTTPS | Proxies da web padrão | Raspagem da web, rastreamento |
SOCKS4/SOCKS5 | Nível inferior, suporta mais protocolos | Streaming, P2P, etc. |
Girando | Muda de IP com frequência | Evitando limites de taxa |
residencial | IPs de usuários reais, mais difíceis de bloquear | Raspagem, automação |
Para a maioria dos trabalhos com Colab/Jupyter, proxies HTTP/HTTPS resolverão o problema.
Obtendo proxies gratuitos do ProxyRoller
- Vá para Rolo de Proxy.
- Clique no botão “Obter proxies gratuitos”.
- Copie a lista de proxy - parece algo como
ip:port
.
Um conselho australiano: teste seus proxies, porque proxies gratuitos podem ser inconstantes, como o clima de Melbourne.
Configurando Proxies no Google Colab
O Colab é executado em uma máquina virtual, então você precisa instruir o Python (e bibliotecas relacionadas) a usar um proxy. Veja como fazer isso, no estilo Arvid:
Configurando 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())
- Se o seu proxy não precisar de autenticação, deixe de fora
username:password@
.
Configurando proxies globalmente no notebook
Às vezes, você quer que tudo passe pelo proxy. Defina variáveis de ambiente:
import os
os.environ['http_proxy'] = 'http://proxy_ip:proxy_port'
os.environ['https_proxy'] = 'http://proxy_ip:proxy_port'
Agora, qualquer biblioteca que respeite essas variáveis de ambiente (requests, urllib, etc.) usará o proxy.
Proxies rotativos
Se você estiver lutando como um dingo em uma granja de galinhas, gire seus proxies para evitar proibições:
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())
Configurando Proxies no Jupyter Notebook
Mais ou menos igual ao Colab, cara. O processo é o seguinte:
Para 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())
Para proxy de todo o sistema (Jupyter Kernel)
import os
os.environ['HTTP_PROXY'] = 'http://proxy_ip:proxy_port'
os.environ['HTTPS_PROXY'] = 'http://proxy_ip:proxy_port'
Para Selenium (navegadores sem cabeça)
Se você estiver executando o Selenium no Jupyter (uma jogada um tanto poderosa):
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')
Comparando métodos de proxy
Método | Escopo | Ferramentas/Bibliotecas | Caso de uso |
---|---|---|---|
requests procurações |
Por solicitação | solicitações, urllib3 | Raspagem, chamadas de API |
Variáveis de ambiente | Global (sessão) | Todas as bibliotecas (a maioria) | Uso consistente de proxy |
Proxy de selênio | Automação do navegador | selênio | Automação/raspagem da web |
Testando seu proxy
Sempre teste se seu proxy está funcionando. Caso contrário, você pode estar no equivalente digital de andar em círculos.
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 o IP corresponder ao proxy, está tudo certo.
Armadilhas comuns (e soluções rápidas)
Emitir | O que parece | Como consertar |
---|---|---|
Tempo limite de conexão | As solicitações travam, sem resposta | Experimente um proxy diferente |
403/407 Autenticação de proxy necessária | Erro de autenticação | Use nome de usuário/senha se necessário |
Proxy não funciona no Colab | Nenhuma alteração no IP, erros | Verifique as variáveis de ambiente |
Problemas de SSL | Falha no handshake SSL | Use HTTP ou defina verify=False |
Recursos úteis
- ProxyRoller – Lista de Proxy Gratuita
- Documentação de solicitações do Python
- Documentação do Jupyter Notebook
- Perguntas frequentes do Google Colab
- Documentação do Proxy Selenium
E pronto — não precisa lutar com um crocodilo para deixar seu proxy no ponto no Colab ou no Jupyter. Se precisar de proxies novos, lembre-se de que o ProxyRoller está sempre aberto e não morde.
Comentários (0)
Ainda não há comentários aqui, você pode ser o primeiro!