首页 > Python > 文章正文

Python3网络爬虫开发实践读书笔记---第八章验证码的识别

更新时间:2020-03-16

这一系列文章是我在阅读“Python3网络爬虫开发实践”一书以及其他线上资料学习爬虫过程中的一些笔记和心得,希望能分享给大家。

章节概述:验证码识别。

章节结构

  • 图形验证码识别
  • 滑动验证码识别
  • 点触验证码识别
  • 微博宫格验证码识别

具体内容:

  • 图形验证码识别

1.依赖技术:OCR技术
2.验证方法:
tesserocr库的image_to_text()方法,在验证前还可以通过convert()来转换处理图片。

  • 滑动验证码识别

1.识别思路
模拟浏览器动作的方式来完成验证。使用Selenium库。步骤分为三步,模拟点击验证按钮,识别滑动缺口的位置,模拟拖动滑块。
2.具体实现
首先我们要初始化模拟器,然后获取验证按钮(element_to_be_clickable),然后对比获取的两张图片,识别缺口位子,得到缺口位置。然后获取滑动对象(get_slider),最后我们模拟拖动,使用click_and_hold方法,到了刚才找到的缺口位置调用release方法.这里要注意移动速度不可匀速,以防被识别为程序。

  • 点触验证码识别

1.点触验证原理
依然是图像转换为文字,然后模拟浏览器动作来点击识别验证。因为文字和图像通常经过多次扭曲变形,所以难以识别,可以借助外界库,像之前的ocr或者超级鹰网站提供的一些识别库。

  • 微博宫格验证码识别

1.识别思路
识别箭头方向,通过模板匹配来进行识别。算法确定以后,进行模拟浏览器动作进行宫格路径的滑动。

相关文章
相关标签