def getCaptchas(): letter = letters[random.randint(0, len(letters) - 1)] cap = captcha.Captcha(1, 1, letter, leng) while cap.failure == 1: cap = captcha.Captcha(1, 1, letter, leng) segments = letter print "1" return letter
from captcha import CapDisplay, captcha disp = CapDisplay.CapDisplay(1200, 800) for i in range(2): cap = captcha.Captcha(do_seg=1) while cap.failure == 1: cap = captcha.Captcha(do_seg=1) disp.update_segs(cap.get_segments()) disp.display_cap() disp.display_seg() #cap.show_captcha()
import captcha.captcha as capm import os, sys from selenium.webdriver.firefox.firefox_binary import FirefoxBinary from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from PIL import Image from fann2 import libfann import random, uuid cap = capm.Captcha(length=7) ann = libfann.neural_net() ann.create_from_file("ann_fin.net") letters = "abcdefghklmnprstuvwyzABDEFGHIJKLMNRTUXY23456789" usernameinp = sys.argv[1] print "Username: " + usernameinp def toInput(seg): input = [] for x in range(seg.size[0]): for y in range(seg.size[1]): p = (x, y) col = seg.getpixel(p) norm = (((col / 255.00) * 2.00) - 1.00) * -1.00 input.append(norm) return input
col = seg.getpixel(p) norm = (((col / 255.00) * 2.00) - 1.00) * -1.00 input.append(norm) return input right = 0.00 wrong = 0.00 totaal = 1 disp = CapDisplay.CapDisplay(1200, 800) letters = "abcdefghklmnprstuvwyzABDEFGHIJKLMNRTUXY23456789" for i in range(totaal): cap = captcha.Captcha(do_seg=1, f_server=1, letter=letters, length=6) while cap.failure == 1: cap = captcha.Captcha(do_seg=1, f_server=1, letter=letters, length=6) segs = cap.get_segments() answers = [] for seg in segs: inputann = toInput(seg) outputann = ann.run(inputann) max = [-1, 0] for x in range(len(outputann)): if outputann[x] > max[0]: max = [outputann[x], x] #print max[0], max[1], letters[max[1]] answers.append((letters[max[1]], max[0])) #print answers
for seg in segs: inputann = toInput(seg) outputann = ann.run(inputann) max = [-1, 0] for x in range(len(outputann)): if outputann[x] > max[0]: max = [outputann[x], x] #print max[0], max[1], letters[max[1]] #print letters[max[1]] answer += letters[max[1]] #print answer return answer caps = os.listdir('./captchacol/') capsolver = captcha.Captcha() for f in caps: tempim = Image.open('./captchacol/{}'.format(f)).convert('L') capsolver.update_cap(tempim) capsolver.segment() answ = use_ann(capsolver.get_segments()) correctAnswer = f[len(f) - 10:len(f) - 4].lower() if correctAnswer == answ.lower(): #print 'correct!' correct += 1 else: #print 'incorrect' wrong += 1 if correct != 0: curpercent = float(correct) / float(correct + wrong) * 100.00
from captcha import captcha, Dataset import random, time, sys uur = 3600 begintijd = time.time() aantaluur = float(sys.argv[2]) ds = Dataset.Dataset(sys.argv[1]) ds.get_header() totaal = 0 savetime = 50 leng = 1 letters = ds.get_letters() while True: for j in range(savetime): letter = letters[random.randint(0, len(letters) - 1)] cap = captcha.Captcha(sys.argv[3], 1, 1, letter, leng) while cap.failure == 1: cap = captcha.Captcha(sys.argv[3], 1, 1, letter, leng) ds.segs_to_data(cap.get_segments(), letter) ds.save() totaal += savetime tijdverstreken = time.time() - begintijd if tijdverstreken > aantaluur * uur: break tijdtegaan = aantaluur * uur - tijdverstreken print "Totaal: {}".format(totaal) + " Tijd te gaan(min): {}".format( tijdtegaan / 60) print "DONE! TotaalKlaar: {}".format(totaal)