繁体   English   中英

如何将python代码作为脚本运行

[英]How can I run my python code as a script

我是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)

有人可以帮我解决这个问题,并向我解释如何在网站上使用它

我不明白我的python文件如何在实时网站上运行。

我想我可以帮助您理解。 您不要在实时网站上运行python脚本。 您想要的是在计算机上本地运行python脚本,但作为一个更大的程序的一部分,该程序充当旨在与您要破解其验证码的服务器进行交互的自动客户端。

比较这两个程序:

  • 谷歌浏览器人工指导的Web客户端 ,它可以与任何Web服务器进行交互
  • 您的脚本是一个自动客户端 ,它只能与您为其设计的Web服务器进行交互

这就是我的特定设计的意思:设计客户以从Web服务器的特定URL获取验证码图像,并以Web服务器特定的格式提交数据。 像这样:

  1. 使用类似httplibHTTP GET加载所需的网站。
  2. 提取验证码图像并求解
  3. 提交表单,其中包含解析的验证码字符串和所需的其余数据,再次使用http客户端(如httplib执行HTTP POST (在网站上填写表单时, POST与“提交”按钮相同。)

您当前的脚本执行的是#1的一部分-但它仅提取图像,而没有获取页面的其余部分。 而且,如果您的预处理和image_to_string函数正常工作,那么#2完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM