Ao trabalhar com o Selenium para a Web scraping ou automação, a integração do proxies é imprescindível. O Proxies permite que você contorne proibições, limites de taxa e restrições geográficas, tornando suas tarefas perfeitas e eficientes. Mas configurar o proxies no Selenium pode ser um desafio, especialmente se você estiver lidando com autenticação ou precisar monitorar solicitações HTTP. É aí que entra o Selenium Wire.
O Selenium Wire é uma versão estendida do Selenium que adiciona recursos avançados extras, permitindo que você autentique facilmente o site proxies, intercepte solicitações e respostas HTTP e depure o tráfego de rede.
Neste guia, mostraremos como configurar o site proxies no Selenium usando fio de selênio
e o gerenciador de drivers web
. Normalmente, é necessário fazer o download dos arquivos binários dos webdrivers dos navegadores e manter atualizações regulares. O gerenciador de drivers web simplifica esse processo, cuidando dessas tarefas para você.
Ao final deste blog, você terá uma configuração do Selenium totalmente definida e adaptada para ProxyScrape proxies , pronta para enfrentar todos os desafios que surgirem. Vamos mergulhar de cabeça!
Para acessar o script completo sem passar por todo o tutorial, clique neste link para copiar o código completo.
Antes de nos aprofundarmos na configuração do proxies no Selenium, verifique se você tem as seguintes ferramentas e bibliotecas instaladas e prontas:
Execute o seguinte comando para instalar todas as dependências:
pip install selenium-wire webdriver-manager
Observação: Você pode encontrar o erro "ModuleNotFoundError: Nenhum módulo chamado blinker._saferef". Isso pode ser resolvido fazendo o downgrade da biblioteca do blinker para a versão 1.7.0
pisca-pisca
pip uninstall blinker
pip install blinker==1.7.0
Com os pré-requisitos estabelecidos, vamos dividir a configuração do script em três etapas simples:
Agora que já abordamos os pré-requisitos, vamos passar para o script propriamente dito. Este guia passo a passo o ajudará a integrar ProxyScrape residencial proxies com o Selenium usando fio de selênio
e gerenciador de drivers web
.
Começamos importando as bibliotecas necessárias:
import re
from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
Defina seus detalhes em ProxyScrape proxy :
proxy_address = "rp.proxyscrape.com:6060"
proxy_username = "seu_nome_de_usuário_proxy"
proxy_password = "your_proxy_password" (sua senha_proxy)
(proxy_username, proxy_password)
com suas credenciais reais de ProxyScrape .Configure o site proxy no Selenium Wire:
sw_options = {
'proxy': {
'http': f'http://{proxy_username}:{proxy_password}@{proxy_address}',
'https': f'https://{proxy_username}:{proxy_password}@{proxy_address}',
}
}
Otimize as configurações do Chrome para obter um melhor desempenho:
chrome_options = Opções()
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
Configurar fio de selênio
com gerenciador de drivers web
:
serviço = Serviço(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, seleniumwire_options=sw_options, options=chrome_options)
Navegue até o endpoint ProxyScrape Judge para testar seu proxy:
driver.get('https://ssl-judge2.api.proxyscrape.com/')
Extraia e exiba seu endereço IP proxy usando regex:
# Exemplo: Extrair o IP da resposta
resposta = driver.page_source
# usando regex simples para analisar o IP de origem
print("Resposta:", resposta)
print("Seu IP é:", re.search("HTTP_X_FORWARDED_FOR = (\d+\.)+\d+", response).group().split("=")[-1])
# sair da instância do navegador
driver.quit()
HTTP_X_FORWARDED_FOR
e extrai o IP proxyConcluindo, o uso do ProxyScrape residencial proxies com o Selenium Wire é uma solução robusta para qualquer pessoa que precise de recursos avançados de automação e da Web scraping com privacidade e segurança aprimoradas.
Seguindo este guia, você pode configurar um ambiente contínuo que não apenas contorna as restrições, mas também exige esforços mínimos de configuração. Esse método aproveita ferramentas avançadas, como o Selenium Wire e o WebDriver Manager, para gerenciar e rotear com eficiência o tráfego por meio do site proxies, garantindo que suas tarefas scraping permaneçam eficientes e confiáveis.
Se precisar de ajuda com o site scraping ou tiver dúvidas sobre o nosso produto, não hesite em entrar em contato conosco pelo chat ao vivo. Você também pode participar de nossa comunidade Discord para obter suporte e atualizações.