免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6642 | 回复: 6
打印 上一主题 下一主题

python爬虫的验证码问题,两次访问造成验证码不相符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-30 15:58 |只看该作者 |倒序浏览
我在用爬虫访问一个页面的时候需要一个验证码输入。但问题是这个验证码图像是一个asp页面,而包括这个验证码的也是一个asp页面。也就是说出现了这样一个问题,我先访问页面的时候显示的时候是一个验证码,但是我获取验证码图像的时候,验证码的页面又被我访问了一次,同开始不一样了。现在请各位帮忙出个解决的思路,我实在是黔驴技穷了。
贴上部分程序,及验证码网址
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

求职 : 系统工程师等
论坛徽章:
5
技术图书徽章
日期:2014-04-19 22:01:05天蝎座
日期:2014-05-09 13:49:28双子座
日期:2014-06-16 15:08:042015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:28
2 [报告]
发表于 2014-06-30 17:39 |只看该作者
lz恶意刷票啊,佩服

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 10:01:44
3 [报告]
发表于 2014-06-30 18:48 |只看该作者
没关系。

客户端的验证码,在服务器端肯定也存了一个东西用来区分各个不同的用户。而这个区分不同浏览器的方法就是用cookie最简单,最正规,而你这个网页的网站,肯定也是采用的cookie,不管是什么session也好,直接写cookie也好,各种加密的cookie也好,总之都是cookie.

你访问网页的时候, 把这个网页设置的所有cookie都记录下来,再访问那个验证码asp页面的时候,把这些所有cookie都发送过去,这样去到的验证码,肯定能通过服务器验证。

论坛徽章:
0
4 [报告]
发表于 2014-06-30 21:44 |只看该作者
对,我今天仔细分析了一下。就是你说的道理。现在去分析cookie中

论坛徽章:
0
5 [报告]
发表于 2014-06-30 21:45 |只看该作者
不是恶意刷票啦,是给我女儿投票啦,实在懒得去找人投。还是研究研究爬虫有趣

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 10:01:44
6 [报告]
发表于 2014-07-01 07:26 |只看该作者
blackgun 发表于 2014-06-30 21:44
对,我今天仔细分析了一下。就是你说的道理。现在去分析cookie中


还用分析啊,直接把全部cookie都存下来,然后再都发回去就行,总共也不会超过10行代码。

论坛徽章:
0
7 [报告]
发表于 2014-07-02 13:47 |只看该作者
cookiejar = cookielib.CookieJar()
urlopener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
urllib2.install_opener(urlopener)
之后网页都用urlopener.open()打开就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP