爬虫识别验证码操作🍖拓展一:验证码的处理!🔞拓展二:关于

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

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

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

🍮(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!

请添加图片描述

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

本博主会持续更新爬虫基础分栏及爬虫实战分栏,认真仔细看完本文的小伙伴们,可以点赞收藏并评论出你们的读后感。并可关注本博主,在今后的日子里阅读更多爬虫文!

如有错误或者言语不恰当的地方可在评论区指出,谢谢!
如转载此文请联系我征得本人同意,并标注出处及本博主名,谢谢 !