# 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.

- Autor: [Brandon Perry](https://fineproxy.org/pt/brandon-perry/)
- Publicado: 2024-06-04T11:17:19.000Z
- Atualizado: 2024-05-27T11:43:12.000Z
- URL canônica: https://fineproxy.org/pt/selenium-python-4-how-to-use-selenium-with-python-and-proxies/

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.

```python
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`.

```python
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.

```python
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.

| Navegador | Método de Configuração | Autenticação | Trecho de Código Disponível |
| --- | --- | --- | --- |
| Chrome | ChromeOptions | Sim | Sim |
| Firefox | FirefoxProfile | Sim | Sim |

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!
