python爬虫中如何突破验证码阻拦

895次阅读
没有评论

python爬虫中如何突破验证码阻拦

在验证码被吐槽最严重的时候,大概就是马上要过节买车票的时候了。虽然我们之前讲过购票软件加验证码是为了防止过多爬虫的获取。那么在一些简单的软件中,有没有什么可以“偷懒”的小技巧在登陆的时候可以用爬虫绕过呢?今天我们就以不同的验证码形式为例,讲讲不同种类的验证码之间,我们可以用来突破阻拦的方法吧。

1. 图片验证码

复杂型

python爬虫中如何突破验证码阻拦

 

打码平台雇佣了人力,专门帮人识别验证码。识别完把结果传回去。总共的过程用不了几秒时间。这样的打码平台还有记忆功能。图片被识别为“锅铲”之后,那么下次这张图片再出现的时候,系统就直接判断它是“锅铲”。时间一长,图片验证码服务器里的图片就被标记完了,机器就能自动识别了。

简单型

python爬虫中如何突破验证码阻拦

 

上面两个不用处理直接可以用OCR识别技术(利用python第三方库–tesserocr)来识别。

2. 短信验证码

用Webbrowser技术,模拟用户打开短信的行为,最终获取短信验证码。

3.计算题图片验证码

把所有可能出现的汉字都人工取出来,保存为黑白图片,把验证码按照字体颜色二值化,去除噪点,然后将所有图片依次与之进行像素对比,计算出相似值,找到最像的那张图片

4.滑动验证码

我们可以利用图片的像素作为线索,确定好基本属性值,查看位置的差值,对于差值超过基本属性值,我们就可以确定图片的大概位置。

5. 图案验证码

对于这种每次拖动的顺序不一样,结果就不一样,我们怎么做来识别呢?

利用机器学习所有的拖动顺序,利用1万张图片进行训练,完成类似人的操作,最终将其识别

利用selenium技术来模拟人的拖动顺序,穷尽所有拖动方式,这样达到是别的效果

6. 标记倒立文字验证码

我们不妨分析下:对于汉字而言,有中华五千年庞大的文字库,加上文字的不同字体、文字的扭曲和噪点,难度更大了。

方法:首先点击前两个倒立的文字,可确定7个文字的坐标, 验证码中7个汉字的位置是确定的,只需要提前确认每个字所在的坐标并将其放入列表中,然后人工确定倒立文字的文字序号,将列表中序号对应的坐标即可实现成功登录。

这里小编只简单列出几种验证码的形式和对应的爬虫突破阻拦方法,有感兴趣的小伙伴可以自行深入的了解更多的相关内容,相信大家都能获得更多的收获。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-23发表,共计899字。
新手QQ群:570568346,欢迎进群讨论 Python51学习