python爬虫的验证码问题,两次访问造成验证码不相符
我在用爬虫访问一个页面的时候需要一个验证码输入。但问题是这个验证码图像是一个asp页面,而包括这个验证码的也是一个asp页面。也就是说出现了这样一个问题,我先访问页面的时候显示的时候是一个验证码,但是我获取验证码图像的时候,验证码的页面又被我访问了一次,同开始不一样了:-L。现在请各位帮忙出个解决的思路,我实在是黔驴技穷了。贴上部分程序,及验证码网址
http://www.ningbocatc.com/nymszx/ckvode.asp?id=43
部分程序如下
purl='http://www.ningbocatc.com/nymszx/ckvode.asp?id=43'
content=urllib2.urlopen(purl).read() #一定要访问一次这个界面
codedir="./pic/"
turl = 'http://www.ningbocatc.com/nymszx/checkcode.asp'
file("./pic/temp.gif","wb").write(urllib.urlopen(turl).read())
img=binary(codedir+"temp.gif")
num=recognize(img) #这是ocr识别的函数
print num
lz恶意刷票啊,佩服 没关系。
客户端的验证码,在服务器端肯定也存了一个东西用来区分各个不同的用户。而这个区分不同浏览器的方法就是用cookie最简单,最正规,而你这个网页的网站,肯定也是采用的cookie,不管是什么session也好,直接写cookie也好,各种加密的cookie也好,总之都是cookie.
你访问网页的时候, 把这个网页设置的所有cookie都记录下来,再访问那个验证码asp页面的时候,把这些所有cookie都发送过去,这样去到的验证码,肯定能通过服务器验证。 对,我今天仔细分析了一下。就是你说的道理。现在去分析cookie中
不是恶意刷票啦,是给我女儿投票啦,实在懒得去找人投。还是研究研究爬虫有趣
blackgun 发表于 2014-06-30 21:44 static/image/common/back.gif
对,我今天仔细分析了一下。就是你说的道理。现在去分析cookie中
还用分析啊,直接把全部cookie都存下来,然后再都发回去就行,总共也不会超过10行代码。 cookiejar = cookielib.CookieJar()
urlopener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
urllib2.install_opener(urlopener)
之后网页都用urlopener.open()打开就好了。
页:
[1]