python爬验证码

Python011

python爬验证码,第1张

1.找地址

首先,我们要找到这个网站生成验证码的地址,这个地址我们可以通过查看他的源代码来实现。

1.找地址

首先,我们要找到这个网站生成验证码的地址,这个地址我们可以通过查看他的源代码来实现。

就以某大学教务网为例,这个教务网的模板很多学校都在采用:

我就截取表单的验证码部分即可。

<td align="center" rowspan="3" >

<img  id="imgCode" src="../sys/ValidateCode.aspx" 

onclick="changeValidateCode(this)" alt="单击可更换图片!" 

style="CURSOR: pointer">

<br>看不清,则单击图片!                                 

</td>123456123456

这里就可以知道,地址就是../sys/ValidateCode.aspx

组合一下地址就是http://jwmis.lmu.cn/sys/ValidateCode.aspx

也就是我们等一下要用到的地址了。

我们可以查看一下那个网页。

2.处理图片

去查看了一下那个地址

果不其然,都是乱码,因为验证码分为两种。

1)直接处理成JPG/GIF/PNG或者其他格式,然后直接读取到一个图片地址。

2)接收用户触发,然后生成,再直接处理成图像,不读取到一个图片地址。

我们这里是第二种,我们要自己来读取他,到本地,再手动输入验证码。

# -*- coding: utf-8 -*-

import urllib2

#验证码的处理#

#验证码生成页面的地址#

im_url = 'http://jwmis.lmu.cn/sys/ValidateCode.aspx'

#读取验证码图片#

im_data = urllib2.urlopen(im_url).read()

#打开一个Code.PNG文件在D盘,没有的话自动生成#

f=open('d:\\Code.png','wb')

#写入图片内容#

f.write(im_data)

#关闭文件#

f.close()1234567891011121312345678910111213

这里包括两个部分:

1)打开那个生成验证码图片的页面,读取

2)将读取到的内容,保存成图片,下载到本地

我们这里的地址是可以随便写的,保存在你想保存的地方。

到这里我们就完成了验证码的一小部分。

by–LoDog

希望能帮到你!

方法1:找个验证码识别程序,自动识别方法2:自己用PIL写一个方法3:让用户手工输入验证码。这个比较简单方法4:让后台程序开一个后门,让你绕过验证码方法5:直接使用cookie,这样就不用登陆了

一般这种验证码和cookie是同步的。其次想识别验证码肯定是吃力不讨好的事,因此我们的思路是首先访问验证码页面,保存验证码、获取cookie用于登录,然后再直接向登录地址post数据。