Como Configurar o Selenium para Conexão com Proxy


Utilizar proxies em suas automações com Selenium pode trazer várias vantagens, especialmente quando se trata de navegar na web de maneira anônima e contornar restrições geográficas. Neste post, veja como configurar o Selenium para se conectar a um servidor proxy e entender quais são as vantagens.



Por que usar um Proxy?

Um proxy atua como intermediário entre seu navegador e a internet. Aqui estão algumas razões pelas quais você pode querer usar um proxy:

  1. Anonimato e Privacidade: Os proxies podem esconder seu endereço IP real, tornando sua navegação mais anônima.
  2. Acesso a Conteúdos Restritos: Alguns sites restringem o acesso com base na localização geográfica. Um proxy pode ajudar a contornar essas restrições.
  3. Gerenciamento de Tráfego: Podem ser usados para balancear a carga de tráfego, melhorando a eficiência e velocidade da navegação.
  4. Segurança Adicional: Fortalecem uma camada adicional de segurança, filtrando conteúdo malicioso.

Vantagens de Usar um Proxy com Selenium

  1. Evitar Bloqueios: Sites podem bloquear IPs após várias solicitações. Usar proxies rotativos pode ajudar a evitar esses bloqueios.
  2. Testes em Diferentes Regiões: Se você precisa testar como seu site funciona em diferentes locais, proxies regionais podem simular acessos de várias partes do mundo.
  3. Automação Robustas: Proxies ajudam a distribuir solicitações, evitando que todas as requisições sejam feitas de um único IP, o que pode levantar suspeitas.

Configurando Selenium para Conexão com Proxy

Abaixo está um exemplo de como configurar o Selenium para usar um proxy com autenticação. Este exemplo utiliza o seleniumwire para gerenciar as configurações de proxy.

import time
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from seleniumwire import webdriver as seleniumwire_webdriver

# Definindo variáveis de proxy
proxy_user = "seu_usuario"
proxy_pass = "sua_senha"
proxy_host = "host_do_proxy"
proxy_port = "porta_do_proxy"

# Configurando o serviço do ChromeDriver
servico = Service(ChromeDriverManager().install())
chrome_options = Options()

# Adicionando argumentos ao Chrome
chrome_options.add_argument("--disable-webrtc")
chrome_options.add_argument("--disable-features=WebRtcHideLocalIpsWithMdns")
chrome_options.add_argument("--host-resolver-rules='MAP * 0.0.0.0'")
chrome_options.add_argument("--disable-blink-features=AutomationControlled")

# Configurando as opções do Selenium Wire para o proxy
seleniumwire_options = {
    "proxy": {
        "http": f"http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}",
        "https": f"https://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}",
    }
}

# Definindo os argumentos do WebDriver
webdriver_args = {
    'service': servico,
    'options': chrome_options,
    'seleniumwire_options': seleniumwire_options
}

# Inicializando o navegador com Selenium Wire
navegador = seleniumwire_webdriver.Chrome(**webdriver_args)

# Exemplo de navegação
navegador.get("http://showip.com")

time.sleep(30)

# Fechando o navegador
navegador.quit()


Configurar o Selenium para usar proxies pode melhorar significativamente suas automações, proporcionando anonimato, acesso a conteúdos restritos e evitando bloqueios de IP. Com as configurações corretas, você pode aproveitar todas essas vantagens e tornar seus scripts de automação mais robustos e eficientes.

Se você tiver alguma dúvida ou sugestão, sinta-se à vontade para deixar um comentário!



Categorias: Geral, Python
Tags: , ,


Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *