Neural Network Model for solving captchas in Python
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

46 linhas
1.7KB

  1. import os
  2. import base64
  3. from selenium import webdriver
  4. from selenium.webdriver.common.by import By
  5. from selenium.webdriver.support.ui import WebDriverWait
  6. from selenium.webdriver.support import expected_conditions as EC
  7. from selenium.common.exceptions import NoSuchElementException, TimeoutException
  8. # Definindo o diretório onde as imagens serão salvas
  9. output_dir = 'captcha_images'
  10. os.makedirs(output_dir, exist_ok=True)
  11. driver = webdriver.Chrome()
  12. try:
  13. # URL da página
  14. url = "https://pje.trt2.jus.br/consultaprocessual/captcha/detalhe-processo/0000005-09.2014.5.02.0080/1"
  15. for i in range(2000):
  16. driver.get(url)
  17. try:
  18. # Esperar até que o captcha esteja presente e visível
  19. captcha_element = WebDriverWait(driver, 10).until(
  20. EC.visibility_of_element_located((By.XPATH, '//*[@id="imagemCaptcha"]'))
  21. )
  22. # Pegar a URL da imagem do captcha (Base64)
  23. captcha_base64 = captcha_element.get_attribute('src').split(',')[1] # Remover o prefixo 'data:image/png;base64,'
  24. # Decodificar o Base64 e salvar como um arquivo de imagem
  25. file_path = os.path.join(output_dir, f"captcha_{i+1}.png")
  26. with open(file_path, "wb") as file:
  27. file.write(base64.b64decode(captcha_base64))
  28. print(f"Imagem captcha {i+1} baixada com sucesso.")
  29. except TimeoutException:
  30. print("O elemento captcha não foi encontrado no tempo limite especificado.")
  31. except NoSuchElementException:
  32. print("O elemento captcha não foi encontrado na página.")
  33. finally:
  34. print("Fechando o navegador.")
  35. driver.quit()