阅读 83

爬虫识别验证码操作

????拓展一:验证码的处理!

我们在登录注册时频繁发送请求,服务器弹出图片验证码进行验证!不过现在大多网站哪怕你第一次发送请求,它也蹦出图片验证码要求你验证!

????(1)处理方案:

  1. 手动输入,但仅限于登录一次,无法持续;

  2. 图片识别引擎,使用光学识别引擎处理图片中的数据,目前常用于图片数据提取,较少用于验证码处理;

  3. 打码平台,爬虫常用解决验证码的方案。

????(2)关于图片识别引擎(tesseract)这一处理方案的具体操作:

????第一步:下载安装

    项目地址:https://github.com/tesseract-ocr/tesseract     引擎安装:         (1)mac环境下直接执行命令:         brew install --with-training-tools tesseract                  (2)windows环境下的安装,可以通过exe安装包安装,下载地址:GitHub项目中的wiki找到,安装完成后将tesseract执行文件的目录加入到path环境变量中,方便调用!                  (3)linux环境下安装         sudo apt-get install tesseract-ocr 复制代码

????第二步:使用

图片识别引擎tesseract通过python使用。(以下代码没有对图片进行任何处理,效果不佳!)

战前准备: (1)PIL用于打开图片文件     pip install pillow (2)pytesseract模块用于从图片中解析数据     pip install pytesseract 复制代码

字符验证码图片

 from PIL import Image import pytesseract im = Image.open('download.png') result = pytesseract.image_to_string(im) print(result) 复制代码

????拓展:大厂的图片识别引擎(拿来直接调接口,何乐而不为~)

其他OCR平台     (1)微软Azure图像识别:         https://azure.microsoft.com/zh-cn/services/cognitive-services/computer-vi     (2)有道智云文字识别:         http://aidemo.youdao.com/ocrdemo     (3)阿里云图文识别:         https://www.aliyun.com/product/cdi/     (4)腾讯OCR文字识别:         https://cloud.tencent.com/product/ocr 复制代码

????(3)常见验证码的种类:

第一种:url地址不变,验证码不变; 第二种:url地址不变,验证码变化。

????关于验证码这一部分,同学们是不是一直有个疑问:对方服务器是如何判断当前我输入的验证码是显示在我屏幕上的验证码?????

????其实这就是通过cookie来实现的,对应的,在请求页面,请求验证码,需要保证cookie的一致性,使用requests.session来解决。????

????拓展二:关于爬虫过程中chrome浏览器骚操作

(使用隐身窗口,首次打开网站,不会带上cookie,能够观察页面的获取情况,包括对方服务器如何设置cookie在本地!)

  1. js的解析:

     1.确定js的位置          ①观察按钮的绑定js事件(此法不保证一定能找到)          ②通过initiator定位到js文件          ③通过serach 搜索关键字定位到js文件          ④通过元素绑定的事件监听函数找到js文件        2.在chrome浏览器,检查,通过consle执行部分js代码,解析部分js代码代表的含义    3.模拟重现  ①使用 js2py 翻译工具,python程序重现;  ②还有 pyv8,executejs,splash 原理与 js2py 相似;  ③纯python的实现 ; 复制代码

  2. 思路:

     在了解js内容和执行顺序之后,通过python来完成js执行过程,得到结果;  在了解js内容和执行顺序之后,使用类似 js2py 的模块来执行js代码,得到结果。 复制代码

????In The End!

请添加图片描述

从现在做起,坚持下去,一天进步一小点,不久的将来,你会感谢曾经努力的你!


作者:孤寒者
链接:https://juejin.cn/post/7023558976662929422


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐