【爬虫-反爬虫】系列一:反爬虫之验证码(5)

来源:互联网 发布:五道口 知乎 编辑:程序博客网 时间:2024/05/20 06:29

反爬虫之验证码(5)

验证码可以说是最让人伤脑筋的事了,最常见的便是图片验证码,花样百出,再加上有意模糊数字,就连人都不一定能识别出来,所以本专题也不会专门讲识别算法等等,而是介绍一种人工打码的方式。


人工打码


可能很多人对人工打码不太了解,毕竟这本身并不是一件值得宣扬的事。


简单来说,人工打码就是把你的验证码传送给第三方平台,该平台会将验证码分配给一个“临时工”进行识别,最后将识别的结果返回给你。


本质上,验证码并不是靠计算出来的,所以返回结果偶尔也会不稳定,比如超时(可能打码工走神了,或者上个厕所啥的都有可能),也可能返回错误的验证码(把9识别为8)。


类似的“灰色平台”有很多,尤其是在广告营销方面,就连app store都不能幸免,把下载任务分配给“临时工”,平台和临时工平分下载费。不得不感叹一句,现在刷流量的都开始做平台了。


人工打码属于收费服务,毕竟平台和临时工就靠这个吃饭。


对于图片验证码来说,图片越复杂,价格就越贵,比如6个数字的验证码就比4个数字的贵,需要计算的验证码也比不需要计算的贵。


通常来说,一个四位数字+字母混合的验证码,行业价格在0.01元。


下面是我测试的人工打码,账号和平台信息都屏蔽掉了。


识别图片验证码


先在打码平台注册一个账号,设置信息以及阅读接口文档。


因为平台未提供python本地打码库,所以我就自己写了一个,使用平台提供的http接口进行请求。


核心请求代码如下:



将验证码图片保存到本地1.jpg:



1.jpg


再将验证码图片放在http请求中发送给平台,返回结果是json格式:



返回的ret为0表示请求成功,result为验证码结果:H5Y6,与图片验证码吻合,打码成功。


短信验证码


现在注册账号大都要求手机短信验证,这也不是没办法,方法类似图片验证码:通过第三方平台提供的接口进行号码获取,短信获取等。只是这些号码都是“僵尸号码”,只能程序化的接受短信而已。有兴趣的可以自行了解~


0 0
原创粉丝点击