1. Não Abuse no Volume de Requisições
Muitas vezes na ânsia de coletar os dados exageramos na quantidade de requisições, o que gera riscos de bloqueios mesmo em sites famosos. Por exemplo se acessar o arquivo robots.txt da wikipedia verá a seguinte mensagem: "algumas aranhas mal-comportadas por aí que são muito rápidas. Se você for irresponsável, seu acesso ao site poderá ser bloqueado".
- Respeite
robots.txt
e limites de requisições para evitar bloqueios. - Use delays entre ações para não sobrecarregar o servidor.
2. Crie um Perfil específico para isso no Chrome
Evite login repetido, configure um perfil de usuário para manter cookies, cache e sessões salvas. Como usar:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--user-data-dir=C:/caminho/do/perfil")
options.add_argument("profile-directory=Perfil")
driver = webdriver.Chrome(options=options)
Vantagem: Mantém configurações pessoais (extensões, preferências) entre execuções.
3. Defina uma Pasta Padrão para Downloads
Evite bagunça e arquivos temporários, configure um diretório fixo para baixar arquivos, e evite deixar os seus arquivos pessoais misturados com os arquivos baixados pela automação.
prefs = {
"download.default_directory": "C:/caminho/para/downloads",
"download.prompt_for_download": False
}
options.add_experimental_option("prefs", prefs)
Vantagem: Organiza os downloads e facilita a automação de arquivos.
4. Use Esperas (Waits) Adequadas
- Evite
time.sleep()
fixos, pois tornam o script lento e pouco confiável. - Prefira WebDriverWait + expected_conditions para esperar por elementos de forma dinâmica:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "meu-elemento"))
)
5. Selecione Elementos de Forma Robusta
- Priorize seletores como ID, CSS Selectors ou XPath estáveis.
- Evite XPath muito complexos ou dependentes de textos variáveis.
6. Gerencie Sessões e Drivers Corretamente
- Sempre feche o navegador com
driver.quit()
(não apenasdriver.close()
).
Acha que algo importante ficou de fora? Adicione nos comentários.