![]() |
Selenium - Usando user agent fake para evitar detecção |
|
@CanalQb no YouTube |
Você já percebeu que alguns sites conseguem identificar quando o acesso está sendo feito via Selenium? Isso pode dificultar a automação de tarefas, pois muitos sites bloqueiam ou limitam acessos automatizados.
Mas não se preocupe! Neste artigo, vamos mostrar algumas técnicas eficazes para "burlar" essa detecção usando user agents falsos e outras estratégias.
Por que os sites detectam Selenium?
Sites usam diversos métodos para identificar se um acesso está sendo feito por automação, como a análise do user agent, comportamento do navegador, velocidade de interações e outras características que diferem de um usuário real.
Como usar um user agent fake no Selenium
O user agent é uma string enviada pelo navegador ao servidor para se identificar. Por padrão, o Selenium utiliza o user agent do Chrome, que pode ser facilmente detectado. Alterar o user agent para um valor aleatório ou mais comum ajuda a disfarçar o Selenium.
Veja um exemplo em Python usando a biblioteca fake_useragent
para gerar um user agent aleatório:
from fake_useragent import UserAgent
from selenium import webdriver
options = webdriver.ChromeOptions()
user_agent = UserAgent().random
options.add_argument(f'user-agent={user_agent}')
driver = webdriver.Chrome(options=options)
Uso de proxy para ocultar o IP
Outra estratégia é usar proxies para esconder seu endereço IP, dificultando o rastreamento do acesso automatizado. Serviços como ProxyMesh oferecem opções confiáveis.
Exemplo básico de configuração de proxy no Selenium:
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
PROXY_HOST = 'proxy.proxymesh.com'
PROXY_PORT = '31280'
PROXY_USER = 'usuario'
PROXY_PASS = 'senha'
proxy_url = f'http://{PROXY_USER}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy_url}')
chrome_options.add_argument('start-maximized')
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = proxy_url
proxy.ssl_proxy = proxy_url
capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)
driver = webdriver.Chrome(options=chrome_options, desired_capabilities=capabilities)
# Continue com seu código...
Técnicas para simular comportamento humano
Além das configurações técnicas, é importante simular o comportamento humano para evitar detecção, como:
- Usar esperas explícitas entre ações para simular o tempo que um usuário real leva para interagir;
- Ajustar o tempo de carregamento da página para refletir condições reais de conexão;
- Evitar cliques e movimentações de mouse muito rápidos ou repetitivos.
Considerações finais
Automatizar com Selenium pode ser uma poderosa ferramenta, mas é fundamental respeitar as políticas dos sites acessados e agir com responsabilidade.
Além disso, recomendamos sempre validar cada cenário individualmente, pois a detecção pode variar bastante entre diferentes sites e atualizações.
Para mais dicas e tutoriais sobre automação, visite o @CanalQb no YouTube.