Neural Network Model for solving captchas in Python
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

46 Zeilen
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()