我是python的新手所以请耐心等待。 我想创建在线解决验证码的python代码。虽然我有很多问题,但我现在正在windows中开发而不是linux。
第一我无法理解我的python文件将如何在实时网站上运行。解决网站显示的验证码。
第二次我已经设法开发并获得了一些代码,但我认为它不能正常工作或至少我想要的方式。当我用cmd跑它时没有任何反应。
这是我的代码:
from PIL import Image
import ImageEnhance
from pytesser import *
from urllib import urlretrieve
def get(link):
urlretrieve(link,'temp.png')
get('http://www.example.com/');
im = Image.open("temp.png")
nx, ny = im.size
im2 = im.resize((int(nx*5), int(ny*5)), Image.BICUBIC)
im2.save("temp2.png")
enh = ImageEnhance.Contrast(im)
enh.enhance(1.3).show("30% more contrast")
imgx = Image.open('temp2.png')
imgx = imgx.convert("RGBA")
pix = imgx.load()
for y in xrange(imgx.size[1]):
for x in xrange(imgx.size[0]):
if pix[x, y] != (0, 0, 0, 255):
pix[x, y] = (255, 255, 255, 255)
imgx.save("bw.gif", "GIF")
original = Image.open('bw.gif')
bg = original.resize((116, 56), Image.NEAREST)
ext = ".tif"
bg.save("input-NEAREST" + ext)
image = Image.open('input-NEAREST.tif')
print image_to_string(image)
有人可以帮我试试修复此代码并向我解释如何在网站上使用它e.x
答案 0 :(得分:2)
我无法理解我的python文件将如何在实时网站上运行。
我想我可以帮助你理解。您没有在实时网站上运行您的python脚本“ ”。你想要的是在你的机器上本地运行你的python脚本,但作为一个更大的程序的一部分,其作为一个自动客户端,旨在与你的破解验证码的服务器进行交互。
比较这两个程序:
这就是具体设计的意思:您设计客户端以从Web服务器的特定URL获取验证码图像,并以特定于Web服务器的格式提交数据。像这样,例如:
httplib
执行HTTP GET
。httplib
等http客户端执行HTTP POST
。 (POST
与您在网站上填写表单时“提交”按钮的功能相同。)您当前的脚本属于#1的一部分 - 但它只提取图像,而不会获取页面的其余部分。如果您的预处理和image_to_string
功能正常工作,那么#2就完成了。