NOVO! |Uma chamada de API, dados limpos de volta. Sem precisar de scrapers.Ganhe 10.000 tokens grátis →

Selenium Python (4). Como Usar Selenium com Python e Proxies

Descubra o poder do Selenium com Python e utilize proxies para raspagem e automação web eficientes. Aprimore sua coleta de dados com os servidores proxy acessíveis da FineProxy.

Publicado4 de junho de 2024
Tempo de leitura2 min

Ao trabalhar com web scraping ou automação usando Selenium e Python, o uso de proxies pode ser essencial para evitar proibições de IP e melhorar a eficiência da coleta de dados. Este artigo irá guiá-lo na configuração e uso de proxies no Selenium com Python.

O que é Selenium e Por que Usar Proxies?#

Selenium é uma ferramenta poderosa para automatizar navegadores da web, frequentemente usada para web scraping e teste de aplicativos da web. Proxies são servidores intermediários que separam usuários finais dos sites que navegam, ajudando a mascarar endereços IP e gerenciar cargas de solicitações.

Configurando Selenium com Proxies#

Antes de mergulhar no código, certifique-se de ter as ferramentas necessárias instaladas:

  • Python
  • Selenium (pip install selenium)
  • Um driver de navegador da web (por exemplo, ChromeDriver para Chrome ou GeckoDriver para Firefox)

Guia Passo a Passo para Usar Proxies no Selenium#

1. Configurando o Chrome com um proxy#

Para configurar o Chrome para usar um servidor proxy, você precisa configurar os recursos desejados no Selenium.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Specify proxy details
proxy = "your_proxy_ip:port"

# Set up Chrome options
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy}')

# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()

Proxy com Autenticação#

Se seu proxy requer autenticação, você pode usar o Proxy class de selenium.webdriver.common.proxy.

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Proxy settings
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = "your_proxy_ip:port"
proxy.ssl_proxy = "your_proxy_ip:port"
proxy.add_argument('--proxy-auth=user:password')

capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)

# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), desired_capabilities=capabilities)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()

Usando o Firefox com um proxy#

Para configurar o Firefox para usar um proxy, modifique as configurações do perfil do Firefox.

from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from webdriver_manager.firefox import GeckoDriverManager

# Proxy details
proxy_ip = "your_proxy_ip"
proxy_port = "port"

# Set up Firefox profile
profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", proxy_ip)
profile.set_preference("network.proxy.http_port", int(proxy_port))
profile.set_preference("network.proxy.ssl", proxy_ip)
profile.set_preference("network.proxy.ssl_port", int(proxy_port))

# Initialize WebDriver
driver = webdriver.Firefox(service=Service(GeckoDriverManager().install()), firefox_profile=profile)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()

Resolvendo Problemas Comuns#

Autenticação de Proxy: Se seu proxy requer login, certifique-se de que as credenciais estão corretamente configuradas.

Bloqueio de IP: Alguns sites ainda podem bloquear proxies. Use proxies residenciais ou rotativos para mitigar esse problema.

Resumo#

Usar proxies com Selenium e Python pode ajudar você a contornar restrições de IP e aprimorar seus projetos de web scraping. Seja usando Chrome ou Firefox, configurar proxies envolve ajustar as opções do navegador e capacidades para rotear o tráfego através do servidor proxy.

NavegadorMétodo de ConfiguraçãoAutenticaçãoTrecho de Código Disponível
ChromeChromeOptionsSimSim
FirefoxFirefoxProfileSimSim

Seguindo essas etapas, você pode garantir que suas atividades de scraping permaneçam ininterruptas e eficientes. Se tiver dúvidas ou ideias para tutoriais futuros, fique à vontade para deixar um comentário!