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
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
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()
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()
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())
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
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
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)
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
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
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()
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()
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:
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)
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"
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)
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()