Ao trabalhar com o Selenium para raspagem ou automação da Web, a integração de proxies é uma obrigação. Os proxies permitem-lhe contornar proibições, limites de taxa e restrições geográficas, tornando as suas tarefas simples e eficientes. Mas configurar proxies no Selenium pode ser um desafio, especialmente se estiver a lidar com autenticação ou precisar de monitorizar pedidos HTTP. É aí que entra o Selenium Wire.
O Selenium Wire é uma versão alargada do Selenium que adiciona funcionalidades avançadas extra, permitindo-lhe autenticar facilmente proxies, intercetar pedidos e respostas HTTP e depurar o tráfego de rede.
Neste guia, mostraremos como configurar proxies no Selenium usando fio de selénio
e o gerenciador de webdriver
. Normalmente, é necessário descarregar os ficheiros binários para os webdrivers dos navegadores e manter actualizações regulares. O gerenciador de webdriver simplifica este processo, tratando destas tarefas por si.
No final deste blogue, terá uma configuração do Selenium totalmente configurada e adaptada a ProxyScrape proxies, pronta para enfrentar quaisquer desafios que surjam no seu caminho. Vamos mergulhar de cabeça!
Para aceder ao script completo sem passar por todo o tutorial, clique nesta ligação para copiar o código completo.
Antes de nos debruçarmos sobre a configuração de proxies no Selenium, certifique-se de que 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
Nota: Poderá deparar-se com o erro "ModuleNotFoundError: Nenhum módulo chamado blinker._saferef". Isso pode ser resolvido fazendo o downgrade da biblioteca 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 decompor a configuração do script em três passos simples:
Agora que já abordámos os pré-requisitos, vamos passar ao guião propriamente dito. Este guia passo a passo ajudá-lo-á a integrar ProxyScrape procurações residenciais com o Selenium utilizando fio de selénio
e gerenciador de webdriver
.
Começamos por importar as bibliotecas necessárias:
importar 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 os detalhes do seu proxy ProxyScrape :
proxy_address = "rp.proxyscrape.com:6060"
nome_de_utilizador_do_proxy= "o seu nome_de_utilizador_do_proxy"
palavra-passe_proxy = "a sua palavra-passe_proxy"
(nome_de_utilizador do proxy, palavra-passe do proxy)
com as suas credenciais reais ProxyScrape .Configurar o 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}',
}
}
Otimizar as definições do Chrome para 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 webdriver
:
serviço = Serviço(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, seleniumwire_options=sw_options, options=chrome_options)
Navegue até o ponto de extremidade ProxyScrape Judge para testar seu proxy:
driver.get('https://ssl-judge2.api.proxyscrape.com/')
Extraia e apresente o seu endereço IP proxied utilizando regex:
# Exemplo: Extrair o IP da resposta
resposta = driver.page_source
# usando regex simples para analisar o IP de origem
print("Resposta:", resposta)
print("O seu IP é:", re.search("HTTP_X_FORWARDED_FOR = (\d+\.)+\d+", response).group().split("=")[-1])
# sair da instância do browser
driver.quit()
HTTP_X_FORWARDED_FOR
e extrai o IP proxiedEm conclusão, a utilização de proxies residenciaisProxyScrape com o Selenium Wire é uma solução robusta para qualquer pessoa que necessite de capacidades avançadas de automatização e recolha de dados da Web com maior privacidade e segurança.
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. Este método aproveita ferramentas poderosas como o Selenium Wire e o WebDriver Managerpara gerir e encaminhar eficazmente o tráfego através de proxies, assegurando que as suas tarefas de recolha de dados permanecem eficientes e fiáveis.
Se precisar de ajuda com a raspagem da Web ou tiver dúvidas sobre o nosso produto, não hesite em contactar-nos através do chat em direto. Também pode juntar-se à nossa comunidade Discord para obter apoio e actualizações.