码迷,mamicode.com
首页 > 编程语言 > 详细

python爬虫中图形验证码的处理

时间:2017-09-26 16:09:36      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:还原   pre   在线的   加密   返现   get请求   图片格式   比较   base64   

使用python爬虫自动登录时,遇到需要输入图形验证码的情况,一个比较简单的处理方法是使用打码平台识别验证码。

使用过两个打码平台,打码兔和若快,若快的价格更便宜,识别率相当。若快需要注册两个帐号:开发者帐号与用户帐号,用户帐号用于发送识别请求,开发者帐号可以注册软件id,并于识别请求进行绑定,可以参与识别收入的分成返现。

获取图形验证码目前发现的有两种方式:

0x01 

在抓包中可以直接获得图片:发送get请求可以直接获取图片(png或jpg格式),这种情况可以使用request.get()返回值的content方法,获取图片文件,直接使用打码平台识别。

0x02

图片使用base64加密返回:

技术分享

如上图,image中包含的就是经过base64加密后的图片文件。可以通过如下方式对图片进行还原:

        resp = self.s.get(url, headers=header, verify=False, timeout=10)
        resp_json=json.loads(resp.text)
        CaptchaId=resp_json.get(CaptchaId)
        ImageStr=resp_json.get(Image)
        imgdata=base64.b64decode(ImageStr)
        file=open(captcha.gif),wb)
        file.write(imgdata)
        file.close()

图片格式不一定是gif,可能是jpg或png,如果写错了,结果无法打开,可以通过网上在线的图片解码网站验证一下图片格式。

 

python爬虫中图形验证码的处理

标签:还原   pre   在线的   加密   返现   get请求   图片格式   比较   base64   

原文地址:http://www.cnblogs.com/taurusfy/p/7596773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!