图文混淆,验证码反爬(Steamboat练习)

本练习涉及:css语法、
IO、pytesseract、pillow和parsel库
目录
第一步
第二步
第一部分的源代码
第二部分 图片验证码
第二部分源代码
第一部分
练习网址:http://www.porters.vip/confusion/recruit.html
如图:

第一步
使用
的css选择器,获取图片的网址parsel是一个强大的数据解析库
里面有css,xpath以及re

第二步
请求、处理图片,识别成文字
需要用到pillow(原PIL库)和pytesseract库
: pip install pytesseract,pillow
注意!!!
安装是pillow,调用是import PIL
找不到tesseract语言包的下面拿:
链接: https://pan.baidu.com/s/1B00tHLndwil7-gGWonKXhQ?pwd=ydii 提取码: ydii

用
配合PIL.Image方法打开图片
这样操作可以不用将图片保存本地,直接在内存中处理
最后使用pytesseract.image_to_string方法进行文字识别


输出结果

第一部分的源代码
第二部分 图片验证码
中国知网:

如图,先提取验证码的网址,请求网址,
刷新几次发现,每次请求的验证码都不同

通过PIL处理图片,先把图片黑白色处理(消除彩色),再进行二值化处理(消除干扰线)
效果


补充一个计算型验证码:

多一步,正则re提取

效果

太长了,本文章进阶的
tesseract是开源免费的库,识别率有限,
不过支持图片训练
百度和腾讯的OCR识别接口效果很好

点个赞呗<( ̄︶ ̄)>
