Python爬虫:验证码识别(图片链接和图片base64字符串)

本文总结了Python爬虫中遇到的两种验证码识别方法:一是解析含有base64加密字符串的src,解密后保存为图片并识别;二是处理动态图片链接,使用selenium进行页面截图来获取验证码。
摘要由CSDN通过智能技术生成

0x00 写在前面

爬取数据,自动化的验证码验证是绕不开的,当然,验证码的自动识别其实都是调用其他api,在这里把这几天学习遇到过的验证码识别总结一下

0x01 验证码src里有图片的base64加密字符串

话不多说先上图

在这里插入图片描述
如图,这里的src获得的是经base64加密后的图片字符串,如下

src="https://img-blog.csdnimg.cn/2022010707433569853.png"

其中,在base64,后的是加密的字符串,我们把它解密就可以得到
在这里插入图片描述
会有很多乱码不过不影响,我们可以看出这其实就是png的文件格式的数据,也就代表我们刚才那张图片,我们可以用python自带的b64解密并将数据写入png格式的文件中,就能得到我们想要的验证码,接着再把验证码文件上传到识别验证码的api接口就行了,当然,也有的api可以直接接受base64加密后的图片字符串,比如超级鹰

在这里插入图片描述
只要提供了相关数据的接口,我们也就可以写出提交base64的方法函数

	def PostBase64(self, b64, codetype):
        """
                b64: 图片文件base64字符串
                codetype: 题目类型 参考 http://www.chaojiying.com/price.html
                """
        params = {
   
            'codetype': codetype,
            'file_base64': b64
        }
        params.update(self.base_params)
        r = requests.post('http://upload.chaojiying.net/Upload/Processing.php', data=params, headers
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值