zoukankan      html  css  js  c++  java
  • python爬虫中图形验证码的处理

    使用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,如果写错了,结果无法打开,可以通过网上在线的图片解码网站验证一下图片格式。

  • 相关阅读:
    SimpleCursorAdapter的使用
    sizeof和strlen的区别和联系总结
    设计模式-工厂方法模式
    Python第四章-字典
    Python第四章-字典
    Python第三章-字符串
    Python第三章-字符串
    Python 第二章-列表和元组
    Python 第二章-列表和元组
    设计模式-简单工厂模式
  • 原文地址:https://www.cnblogs.com/taurusfy/p/7596773.html
Copyright © 2011-2022 走看看