예제 #1
0
def solve_captcha(captcha_client, image):
    logger.info("Submitted task to Anticaptcha")
    task = ImageToTextTask(BytesIO(image))
    job = captcha_client.createTask(task)
    job.join()
    captcha_text = job.get_captcha_text()
    return captcha_text
예제 #2
0
	def solveTextCaptcha(self, captcha, min_length=None, max_length=None, digits=True, letters=True, characters=True, lower=True, upper=True, language="en", retries=3):
		captchafile = generateData(16) + ".png"
		self.savePic(captcha, captchafile)
		captcha_fp = open(captchafile, 'rb')
		client = AnticaptchaClient(self.captchaAPI['text'])
		task = ImageToTextTask(captcha_fp, min_length=min_length, max_length=max_length)
		job = client.createTask(task)
		job.join()        
		captchatxt = job.get_captcha_text()
		t = 0
		#if length and length != len(captchatxt):
		 #   t = 1
		if t != 1:
			for everyChar in captchatxt:
				if digits == False and everyChar in string.digits:
					t = 1
					break
				if language == "en":
					if letters == False and everyChar in string.ascii_letters:
						t = 1
						break
					if lower == False and everyChar in string.ascii_lowercase:
						t = 1
						break
					if upper == False and everyChar in string.ascii_uppercase:
						t = 1
						break
				
		if t == 1:
			return self.solveTextCaptcha(captcha, min_length, max_length, digits, letters, characters, lower, upper, language, retries)
		return captchatxt
예제 #3
0
def process(path):
    captcha_fp = open(path, 'rb')
    client = AnticaptchaClient(api_key)
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    return job.get_captcha_text()
예제 #4
0
def process(url):
    session = requests.Session()
    client = AnticaptchaClient(api_key)
    task = ImageToTextTask(session.get(url, stream=True).raw)
    job = client.createTask(task)
    job.join()
    return job.get_captcha_text()
예제 #5
0
파일: lol.py 프로젝트: mal9/cheat_parser
def solveCaptcha():
    api_key = '0bb959acace0ae069bb6b33015b158df'
    captcha_fp = open('captcha.png', 'rb')
    client = AnticaptchaClient(api_key)
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    return (job.get_captcha_text())
예제 #6
0
def solve_captcha(img_file_path):
    captcha_fp = open(img_file_path, 'rb')
    client = AnticaptchaClient(api_key)
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    print("Captcha Results Arrvied!")

    Captcha_text = job.get_captcha_text()
    return Captcha_text
예제 #7
0
def solve_captcha(url):
    image = io.imread(url)
    image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    cv2.imwrite('captcha.jpg', image)

    captcha_fp = open('captcha.jpg', 'rb')
    client = AnticaptchaClient(anticaptcha_key)
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    return job.get_captcha_text(), job.task_id
예제 #8
0
파일: main.py 프로젝트: Foussy/Lords_labour
def solve_captcha(filepath):
    """ résolution du captcha """
    try:
        api_key = '7efb4f91db0301564967acb3ebde07f9'
        captcha_fp = open(filepath, 'rb')
        client = AnticaptchaClient(api_key)
        task = ImageToTextTask(captcha_fp)
        job = client.createTask(task)
        job.join()
        return job.get_captcha_text()
    except Exception as error:
        print(error)
예제 #9
0
 def solve_captcha_image(self):
     element = self.driver.find_element_by_id('captcha_img').screenshot_as_png
     im = Image.open(BytesIO(element))  # uses PIL library to open image in memory
     im.save('screenshot.png')  # saves new cropped image
     api_key = co.API_CAPTCHA_KEY
     captcha_fp = open('screenshot.png', 'rb')
     client = AnticaptchaClient(api_key)
     task = ImageToTextTask(captcha_fp)
     job = client.createTask(task)
     job.join()
     print(job.get_captcha_text())
     self.driver.find_element_by_xpath('//*[@id="imagestring"]').send_keys(job.get_captcha_text())
def imageCaptchaSolver(image_path):
    captcha_fp = open(image_path, 'rb')
    client = AnticaptchaClient(os.getenv("ANTI_CAPTCH_API_KEY"))
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    captcha_text = job.get_captcha_text()
    return captcha_text


# import requests
# import os
# import base64

# def get_base64_encoded_image(image_path):
#     with open(image_path, "rb") as img_file:
#         return base64.b64encode(img_file.read()).decode('utf-8')

# def imageCaptchaSolver(image_path):
#     image64 = get_base64_encoded_image(image_path)

#     r = requests.post(
#         'https://api.capmonster.cloud/createTask',
#         json = {
#             "clientKey":"4b09560fde218b7545a7a043089532df",
#             "task":
#             {
#                 "type":"ImageToTextTask",
#                 "body":image64
#             }
#         }
#     ).json()

#     print(r)

#     sol = {"status": "wait"}
#     while sol["status"]!= "ready":
#         sol = requests.post(
#             "https://api.capmonster.cloud/getTaskResult/",
#             json = {
#                 "clientKey":"4b09560fde218b7545a7a043089532df",
#                 "taskId": r["taskId"]
#             }
#         ).json()
#         print(sol)

#     captcha_text = sol["solution"]["text"]
#     print(captcha_text)
#     return captcha_text
예제 #11
0
파일: main.py 프로젝트: iDustbin/botd.io
    def solve_captcha(self, img_base64_str):
        img_base64_str = img_base64_str[img_base64_str.find(",") + 1:]
        imgdata = base64.b64decode(img_base64_str)
        filename = 'captcha_image.jpg'

        with open(filename, 'wb') as f:
            f.write(imgdata)
        captcha_fp = open(filename, 'rb')

        captcha_task = ImageToTextTask(captcha_fp)
        job = self.client.createTask(captcha_task)
        time.sleep(3)
        job.join()
        captcha_solve_str = job.get_captcha_text()
        return captcha_solve_str
 def solve_captcha(self, driver):
     driver.find_element_by_xpath(
         "//img[@title = 'Image CAPTCHA']").screenshot('captcha_0.png')
     try:
         driver.find_element_by_id('edit-accept-tos')
         driver.execute_script(
             "document.getElementById('edit-accept-tos').click()")
     finally:
         api_key = 'mykey'
         captcha_fp = open('captcha_0.png', 'rb')
         client = AnticaptchaClient(api_key)
         task = ImageToTextTask(captcha_fp)
         job = client.createTask(task)
         job.join()
         captcha = job.get_captcha_text()
         driver.find_element_by_id('edit-captcha-response').send_keys(
             captcha)
         driver.find_element_by_id('edit-op').click()
         return driver
예제 #13
0
    def GetCaptchaTextFromImage(self, image_url):
        from python_anticaptcha import AnticaptchaClient, ImageToTextTask

        import requests
        from io import BytesIO
        try:
            import Image
        except ImportError:
            from PIL import Image

        api_key = 'API KEY'

        response = requests.get(image_url)
        captcha_fp = BytesIO(response.content)

        client = AnticaptchaClient(api_key)
        task = ImageToTextTask(captcha_fp)
        job = client.createTask(task)
        job.join()
        return job.get_captcha_text()
예제 #14
0
    def test_untitled_test_case(self):
        driver = self.driver
        driver.get("https://nfse.salvador.ba.gov.br/")
         
        testsite_array = []
        with open('dados.txt') as my_file:
            testsite_array = my_file.readlines()
        login = testsite_array[0]
        senha = testsite_array[1]

        txtLogin = driver.find_element_by_id("txtLogin")
        txtSenha = driver.find_element_by_id("txtSenha")
        txtLogin.send_keys(login)
        txtSenha.send_keys(senha)

        # teste captcha começa aqui
        found = False
        while not found:
            try:
                element = driver.find_element_by_id("cvCodigo")
                found = True

                image = driver.find_element_by_xpath(
                    u'//*[@id="img1"]') .screenshot_as_png
                imageStream = io.BytesIO(image)
                im = Image.open(imageStream)
                im.save('screen.png')

                api_key = 'b9195adfcf2ebee8a84904766fcba4dc'
                captcha_fp = open('screen.png', 'rb')
                client = AnticaptchaClient(api_key)
                task = ImageToTextTask(captcha_fp)
                job = client.createTask(task)
                job.join()
                print(job.get_captcha_text())
                captcha_text = job.get_captcha_text()
                captcha = driver.find_element_by_id("tbCaptcha")
                captcha.send_keys(captcha_text)
                driver.find_element_by_id("cmdLogin").click()
            except NoSuchElementException:
                break

        # teste captcha termina aqui

        # print(pyautogui.position())
        pyautogui.moveTo(1054, 328)
        time.sleep(2)
        pyautogui.click()
        time.sleep(5)
        driver.find_element_by_xpath(
            u"(.//*[normalize-space(text()) and normalize-space(.)='Emissão Guias'])[1]/following::span[1]").click()
        driver.find_element_by_id("ddlMes").click()
        Select(driver.find_element_by_id("ddlMes")).select_by_visible_text("2")
        driver.find_element_by_xpath(
            u"(.//*[normalize-space(text()) and normalize-space(.)='Mês'])[1]/following::option[2]").click()
        driver.find_element_by_id("btEmitidas").click()
        time.sleep(4)

        driver.switch_to.window(driver.window_handles[1])
        driver.find_element_by_id("ddlTipoArquivo").click()
        Select(driver.find_element_by_id("ddlTipoArquivo")
               ).select_by_visible_text("PDF")
        driver.find_element_by_xpath(
            "(.//*[normalize-space(text()) and normalize-space(.)='Para exportar as Notas, selecione o formato do arquivo:'])[1]/following::option[4]").click()
        driver.find_element_by_id("btGerar").click()
        time.sleep(5)
        autoit.send("^p")
        time.sleep(5)
        autoit.send("{ENTER}")
        time.sleep(10)

        autoit.send("{N}")
        time.sleep(5)
        autoit.send("{F}")
        time.sleep(5)
        autoit.send("{S}")
        time.sleep(5)
        autoit.send("{e}")
        time.sleep(5)
        autoit.send("{ENTER}")
        autoit.send("{ENTER}")
        time.sleep(10)  # Pause to allow you to inspect the browser.
        # Move a file from the directory d1 to d2
        shutil.move('C:\\Users\\luame\\OneDrive\\Documentos\\NFSe.pdf', 'C:\\'+ razao_social +'\\Fevereiro - 2\\01-NF-e Recebidas')
        time.sleep(5)
        driver.refresh()

        driver.find_element_by_id("ddlTipoArquivo").click()
        Select(driver.find_element_by_id("ddlTipoArquivo")
               ).select_by_visible_text("Planilha (CSV)")
        driver.find_element_by_id("ddlTipoArquivo").click()
        driver.find_element_by_id("btGerar").click()
        time.sleep(1)  # Pause to allow you to inspect the browser.
        driver.refresh()
        driver.find_element_by_id("ddlTipoArquivo").click()
        Select(driver.find_element_by_id("ddlTipoArquivo")
               ).select_by_visible_text("XML")
        driver.find_element_by_id("ddlTipoArquivo").click()
        driver.find_element_by_id("btGerar").click()
        time.sleep(5)
        pyautogui.moveTo(499, 463)
        pyautogui.click()
        time.sleep(1)
        pyautogui.moveTo(498, 488)
        pyautogui.click()
        time.sleep(1)
        pyautogui.moveTo(770, 568)
        pyautogui.click()
        time.sleep(5)
        driver.refresh()
        time.sleep(3)
        driver.find_element_by_id("ddlTipoArquivo").click()
        Select(driver.find_element_by_id("ddlTipoArquivo")
               ).select_by_visible_text("TXT (Tabulado)")
        driver.find_element_by_id("ddlTipoArquivo").click()
        driver.find_element_by_id("btGerar").click()

        driver.switch_to.window(driver.window_handles[0])
        driver.find_element_by_id("hypSair").click()

        time.sleep(10)

        driver.quit()
예제 #15
0
 
 parser = argparse.ArgumentParser(description="Bangladesh MRP Status Checker", add_help=False)
 parser.add_argument('-e', dest='enrolmentid', action="store", required=True, type=str)
 parser.add_argument('-d', dest='dob', action="store", required=True, type=str)
 parser.add_argument('-k', dest='key', action="store", required=False, type=str)
 args = parser.parse_args()
 
 try:
     mrp = MRP()
     url = mrp.getCaptchaImageURL()
     
     if args.key:
         from python_anticaptcha import AnticaptchaClient, ImageToTextTask
         response = requests.get(url, stream=True)
         client = AnticaptchaClient(args.key)
         task = ImageToTextTask(response.raw)
         job = client.createTask(task)
         job.join()
         captcha = job.get_captcha_text()
     else:
         print("Open the following URL in browser and enter the captcha text:")
         print()
         print(url)
         print()
         captcha = input("Captcha: ")
     
     status = mrp.getStatus(args.enrolmentid, args.dob, captcha)
     print(json.dumps(status, indent=2))
 except subprocess.CalledProcessError as cp:
     print("Captcha Text not provided")
 except Exception as r:
예제 #16
0
gray.save('/Users/srinivas/captcha_gray.png')
bw = gray.point(lambda x:0 if x<1 else 255,'1')
bw.save('/Users/srinivas/captcha_thresholded.png')
#im = Image.open("/Users/srinivas/captcha_original.jpg")
#im = im.filter(ImageFilter.CONTOUR)
#im = im.filter(ImageFilter.DETAIL)
#enhancer = ImageEnhance.Contrast(im)
#im = enhancer.enhance(4)
#im = im.convert('L')
#im.save('/Users/srinivas/temp10.png')
#text = pytesseract.image_to_string(Image.open('/Users/srinivas/temp10.png'),lang='eng', config='--psm 2  -c tessedit_char_whitelist=0123456789')
#print(text)
api_key = '2185e868621ade12dbec20ecb4ce282f'
captcha_fp = open('/Users/srinivas/captcha_gray.png', 'rb')
client = AnticaptchaClient(api_key)
task = ImageToTextTask(captcha_fp)
job = client.createTask(task)
job.join()
print(job.get_captcha_text())

ssl._create_default_https_context = ssl._create_unverified_context
br = Browser()
#cj = cookielib.LWPCookieJar()
#br.set_cookiejar(cj)

br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_debug_http(True)
br.set_debug_responses(True)
예제 #17
0
    def getlandrecordinfo(self, landrecord, district, taluka, village,
                          surveyno):
        custom_options = webdriver.ChromeOptions()
        prefs = {
            "translate_whitelists": {
                "gu": "en"
            },
            "translate": {
                "enabled": "true"
            }
        }
        custom_options.add_experimental_option("prefs", prefs)
        driver = webdriver.Chrome('/Users/srinivas/Downloads/chromedriver',
                                  chrome_options=custom_options)
        #driver = webdriver.Chrome('/Users/srinivas/Downloads/chromedriver')
        driver.get('https://anyror.gujarat.gov.in/LandRecordRural.aspx')

        select1 = Select(
            driver.find_element_by_name(
                "ctl00$ContentPlaceHolder1$drpLandRecord"))
        select1.select_by_value(landrecord)

        select2 = Select(
            driver.find_element_by_name(
                "ctl00$ContentPlaceHolder1$ddlDistrict"))
        select2.select_by_value(district)
        time.sleep(2)

        select3 = Select(
            driver.find_element_by_name("ctl00$ContentPlaceHolder1$ddlTaluka"))
        select3.select_by_value(taluka)
        time.sleep(2)

        select4 = Select(
            driver.find_element_by_name(
                "ctl00$ContentPlaceHolder1$ddlVillage"))
        select4.select_by_value(village)
        time.sleep(2)

        select5 = Select(
            driver.find_element_by_name(
                "ctl00$ContentPlaceHolder1$ddlSurveyNo"))
        select5.select_by_value(surveyno)

        image_element = driver.find_element_by_xpath(
            "//img[@id='ContentPlaceHolder1_i_captcha_1']")
        img_data_all = image_element.get_attribute("src")
        img_data = img_data_all.partition(',')[-1]
        base64_img_bytes = img_data.encode('utf-8')
        file_like = BytesIO(base64.decodebytes(base64_img_bytes))
        img = Image.open(file_like)

        img.save('/Users/srinivas/captcha_original.jpg')
        gray = img.convert('L')
        gray.save('/Users/srinivas/captcha_gray.png')
        image = Image.open('/Users/srinivas/captcha_original.jpg')

        api_key = '2185e868621ade12dbec20ecb4ce282f'
        captcha_fp = open('/Users/srinivas/captcha_gray.png', 'rb')
        client = AnticaptchaClient(api_key)
        task = ImageToTextTask(captcha_fp)
        job = client.createTask(task)
        job.join()

        txtbox1 = driver.find_element_by_id(
            'ContentPlaceHolder1_txt_captcha_1')
        txtbox1.send_keys(job.get_captcha_text())
        time.sleep(3)

        driver.find_element_by_name('ctl00$ContentPlaceHolder1$btnGo').click()
        time.sleep(3)
        content = driver.page_source.encode('utf-8')
        path = r"/Users/srinivas"
        filename = "%s_page_grab.htm" % uuid.uuid4()
        #translator = Translator(from_lang="gujarati", to_lang="english")
        with open(os.path.join(path, filename), 'wb') as f:
            #translation = translator.translate(content.decode('utf-8'))
            f.write(content)
        driver.quit()
        custom_options = webdriver.ChromeOptions()
        prefs = {
            "translate_whitelists": {
                "gu": "en"
            },
            "translate": {
                "enabled": "true"
            }
        }
        custom_options.add_experimental_option("prefs", prefs)
        driver = webdriver.Chrome('/Users/srinivas/Downloads/chromedriver',
                                  chrome_options=custom_options)
        time.sleep(3)
        # driver = webdriver.Chrome('/Users/srinivas/Downloads/chromedriver')
        #driver.get('https://anyror.gujarat.gov.in/LandRecordRural.aspx')
        driver.get("file://" + os.path.join(path, filename))
        #time.sleep(3)

        #lbl = driver.find_element_by_xpath("//span[@id='ContentPlaceHolder1_lblDistrict']")
        #translator = Translator(from_lang="gujarati", to_lang="english")
        #translation = translator.translate(content)
        #time.sleep(2)
        #print(translation)
        #print(repr(content))
        return "Done"
예제 #18
0
 def make_outlook(self):
     try:
         print("Outlook-Bot in AutoBot series, Coded by JBusiness")
         print("Generating new account...")
         self.driver = webdriver.Chrome(chrome_options=self.chrome_options, executable_path=self.exe_path)
         proxy = self.get_proxy()
         self.chrome_options.add_argument('--proxy-server=socks://{}'.format(proxy))
         self.driver.get(self.outlook_url)
         if self.page_has_loaded() is True:
             if self.is_visible("CredentialsPageTitle") is True:
                 pass
                 print('Page Loaded')
         first, last = self.fake.first_name().rstrip(), self.fake.last_name().rstrip()
         username = first + last + str(self.gen.nonce(5))
         password_input = self.user_password
         self.driver.find_element_by_id("MemberName").send_keys(username)
         if self.is_visible("iSignupAction") is True:
             pass
         wait(0.5)
         self.driver.find_element_by_id("iSignupAction").click()
         wait(2)
         if self.is_visible("PasswordInput") is True:
                 pass
         self.driver.find_element_by_id("PasswordInput").send_keys(password_input)
         if self.is_visible("iSignupAction") is True:
                 pass
         wait(0.5)
         self.driver.find_element_by_id("iSignupAction").click()
         wait(1)
         if self.is_visible("FirstName") is True:
                 pass
         self.driver.find_element_by_id("FirstName").send_keys(first)
         self.driver.find_element_by_id("LastName").send_keys(last)
         if self.is_visible("iSignupAction") is True:
                 pass
         wait(0.5)
         self.driver.find_element_by_id("iSignupAction").click()
         wait(1)
         if self.is_visible("Country") is True:
                 pass
         country = requests.get('https://ipapi.co/country_name/', proxies={"http": "socks://" + proxy}).text
         countrygeo = Select(self.driver.find_element_by_id("Country"))
         countrygeo.select_by_visible_text(str(country))
         indexm = ['January', 'February', 'March', 'April', 'May', 'June', 'July',
           'August', 'September', 'October', 'November', 'December']
         indexd = random.randint(1, 28)
         indexy = random.randint(1980, 2000)
         birthM = Select(self.driver.find_element_by_id("BirthMonth"))
         birthM.select_by_visible_text(random.choice(indexm))
         birthD = Select(self.driver.find_element_by_id("BirthDay"))
         birthD.select_by_visible_text(str(indexd))
         birthY = Select(self.driver.find_element_by_id("BirthYear"))
         birthY.select_by_visible_text(str(indexy))
         self.driver.find_element_by_id("iSignupAction").click()
         wait(5)
         img = self.driver.find_elements_by_tag_name("img")[4]
         src = img.get_attribute('src')
         filename = str(int(time.time())) + ".png"
         urlretrieve(src, filename)
         file = open(filename, 'rb')
         wait(0.5)
         client = AnticaptchaClient(self.ac_token)
         task = ImageToTextTask(file)
         job = client.createTask(task)
         print("Submitting Captcha")
         job.join()
         cap = job.get_captcha_text()
         file.close()
         os.remove(filename)
         wait(0.5)
         self.driver.find_element_by_tag_name("input").send_keys(cap)
         wait(3)
         self.driver.find_element_by_id("iSignupAction").click()
         print("{}@outlook.com:{}:{}".format(username, self.user_password, country))
         account = {"username": username + "@outlook.com", "password": self.user_password, "country": country}
         with open("output/outlook_accounts.csv", 'a', newline='') as file:
             writer = csv.writer(file, delimiter=',')
             writer.writerow(account[i] for i in account)
     except Exception as e:
         print('Error on line {}'.format(sys.exc_info()[-1].tb_lineno), type(e).__name__, e)
예제 #19
0
def captcha_to_text(client, image_name):
    with open(image_name, 'rb') as fp:
        task = ImageToTextTask(fp)
        job = client.createTask(task)
        job.join()
        return job.get_captcha_text()