SilasPDJ / autoesk

python+webdriver+smtp+pyautogui+oo+utils
MIT License
0 stars 0 forks source link

Simples Nacional #1

Open SilasPDJ opened 4 years ago

SilasPDJ commented 4 years ago

I want to get this text from "Digite os caracteres abaixo"

https://www8.receita.fazenda.gov.br/SimplesNacional/controleAcesso/Autentica.aspx?id=60 Gostaria de uma forma de ler os caracteres das imagens que são geradas por este site. Já googlei bastante sobre isso, não achei nada muito informativo.

O que eu consegui fazer foi somente para textos "lisos" digamos

class SbFConverter:
    """

    # retorna copiada a imagem através do nome dela
    """

    def __init__(self, img_name, path=''):
        from pyperclip import copy
        self.convert_gray_scale(img_name)

        read = self.read(img_name)
        copy(read)

    def read(self, img_name):
        self.convert_gray_scale(img_name)

        import pytesseract
        from PIL import Image
        pytesseract.pytesseract.tesseract_cmd = r"I:\NEVER\tesseract.exe"
        r = img_name
        text = pytesseract.image_to_string(r)
        print(text)
        return text

    def convert_gray_scale(self, img_name):
        img2 = img_name
        from PIL import Image
        img = Image.open(img2).convert('LA')
        img.save(img_name)
# TERESSACT\__init__.py

from pyperclip import copy, paste
from selenium import webdriver
from TERESSACT import  SbFConverter
def captcha_hacking():
    """
    :return:
    SbFConverter() -> class called
    Tremembé... rs
    """
    from pyautogui import hotkey
    from pyperclip import paste
    img = driver.find_element_by_id('div-img-captcha')
    img_name = 'hacking.png'
    img.screenshot(img_name)
    TESSERACT.SbFConverter(img_name)

    continua = paste()
    if not str(continua).isnumeric():
        driver.get(driver.current_url)
link = "ChromeDriver/chromedriver.exe"
driver = webdriver.Chrome(link)
driver.get('https://tremembe.sigiss.com.br/tremembe/contribuinte/login.php')
captcha_hacking()
a = paste()
print(f'captcha_hacking: {a}')
# main.py

Caracteres em verde (Consegui extrair somente desta imagem)

O que eu gostaria de fazer, é a mesma coisa que o código faz só que com os caracteres gerados na primeira imagem, são sempre caracteres aleatórios.

SilasPDJ commented 2 years ago

I want to get this text from "Digite os caracteres abaixo"

https://www8.receita.fazenda.gov.br/SimplesNacional/controleAcesso/Autentica.aspx?id=60 Gostaria de uma forma de ler os caracteres das imagens que são geradas por este site. Já googlei bastante sobre isso, não achei nada muito informativo.

O que eu consegui fazer foi somente para textos "lisos" digamos

  • segue o código utilizado
class SbFConverter:
    """

    # retorna copiada a imagem através do nome dela
    """

    def __init__(self, img_name, path=''):
        from pyperclip import copy
        self.convert_gray_scale(img_name)

        read = self.read(img_name)
        copy(read)

    def read(self, img_name):
        self.convert_gray_scale(img_name)

        import pytesseract
        from PIL import Image
        pytesseract.pytesseract.tesseract_cmd = r"I:\NEVER\tesseract.exe"
        r = img_name
        text = pytesseract.image_to_string(r)
        print(text)
        return text

    def convert_gray_scale(self, img_name):
        img2 = img_name
        from PIL import Image
        img = Image.open(img2).convert('LA')
        img.save(img_name)
# TERESSACT\__init__.py

from pyperclip import copy, paste
from selenium import webdriver
from TERESSACT import  SbFConverter
def captcha_hacking():
    """
    :return:
    SbFConverter() -> class called
    Tremembé... rs
    """
    from pyautogui import hotkey
    from pyperclip import paste
    img = driver.find_element_by_id('div-img-captcha')
    img_name = 'hacking.png'
    img.screenshot(img_name)
    TESSERACT.SbFConverter(img_name)

    continua = paste()
    if not str(continua).isnumeric():
        driver.get(driver.current_url)
link = "ChromeDriver/chromedriver.exe"
driver = webdriver.Chrome(link)
driver.get('https://tremembe.sigiss.com.br/tremembe/contribuinte/login.php')
captcha_hacking()
a = paste()
print(f'captcha_hacking: {a}')
# main.py

Caracteres em verde (Consegui extrair somente desta imagem)

O que eu gostaria de fazer, é a mesma coisa que o código faz só que com os caracteres gerados na primeira imagem, são sempre caracteres aleatórios.