第8章 验证码识别.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 验证码识别;学习目标/Target;章节概述/ Summary;目录/Contents;验证码识别;验证码是指能够区分用户是计算机或人类的公共全自动程序,它因为能够有效防止非人类的用户恶意注册网站,以及频繁采集网页数据等行为,所以成为了很多网站防爬虫的首选方式。起初,验证码只是一张带有随机字符的图片,用户只需要输入图片中的字符即可完成验证,但是这种验证码很容易被网络爬虫识别。为了提升验证码的识别难度,设计人员在原先验证码的基础上添加了一些干扰元素,比如斜线、杂点等。;;8.1.1 字符验证码的识别;相比用户行为的验证码,字符验证码的识别相对简单一些。我们只需要通过字符识别技术获取图片中的字符即可。常见的字符识别技术是OCR技术(Optical Character Recognition,光学字符识别),为了能够在Python程序中使用OCR技术识别字符验证码,我们可以通过两种方式进行实现:Tesseract-OCR(谷歌开发并开源的OCR引擎)和平台OCR(如百度OCR、腾讯OCR)。;Tesseract-OCR是一个光学字符识别引擎,支持多种操作系统,具有精准度高、灵活性高等特点。它通过训练不仅可以识别出任何字体(只要字体的风格保持不变即可),而且可以识别出任何Unicode字符。;;;;;;;;;;;为了能够调用Tesseract-OCR引擎识别字符验证码,Python中提供了两个库pytesseract和Pillow,其中pytesseract是对Tesseract-OCR的一层封装,它也可以单独作为Tesseract-OCR引擎的调用脚本;Pillow是基于PIL库的一个派生分支,如今已经发展成为比PIL本身更具活力的图像处理库。;pytesseract和Pillow都是第三方库,可以通过pip工具进行安装。;使用pytesseract和Pillow库识别字符验证码示例如下。;通常情况下,网页上的字符验证码中存在许多干扰线和噪点,因此在未训练的情况下使用Tesseract-OCR的识别效果并不理想。这时可以使用百度OCR识别带有一些干扰元素的字符验证码。在使用百度OCR之前,我们需要先在百度AI开放平台注册应用。下面分别为大家介绍注册应用和使用百度OCR。;首先,使用百度账号登录百度AI开放平台首页,在该页面顶部的菜单栏中选择“开放能力”→“文字识别” →“通用文字识别”。;然后进入通用文字识别页面,单击“通用文字识???”链接,进入通用文字识别页面,在该页面中 单击“立即使用”按钮进入“百度智能云-管理中心”页面。;最后,单击“创建应用”按钮跳转至创建新应用页面,在该页面中根据要求填写新应用的必选项,包括应用名称、接口选择、文字识别包名、应用归属、应用描述等。完成填写后,单击新应用页面底部的“立即创建”按钮可以看到创建完毕的提示信息。;在使用百度OCR开发程序之前,我们需要查看平台提供的API文档。,具体步骤为在百度智能云-管理中心”页面单击API文档→ 通用场景文字识别→ 通用文字识别(高精度版),跳转至通用文字识别(高精度版)的API文档页面。;以一个字符验证码图片为例,使用百度OCR识别字符验证码图片。字符验证码图片如下所示。;import base64,requests def graphic_verification_code(img_name): api_key = 申请的API Key secret_key = 申请的Secret Key host = f/oauth/2.0/token?grant_type=client_ \ fcredentialsclient_id={api_key}client_secret={secret_key} request_url = /rest/2.0/ocr/v1/accurate_basic f = open(img_name, rb) # 二进制方式打开图片文件 img = base64.b64encode(f.read());;8.1.2 滑动拼图验证码的识别;滑动拼图验证码主要由5部分组成,分别是抠图、滑动、缺口、背景图片、滑轨,其中抠图和缺口的的形状是随机的,缺口的位置是随机的,这意味着用户滑动滑动的距离也是随机的。;Python中识别滑动拼图验证码的实现思路一般分为5步。;;点选验证码是根据验证码弹窗中的文字描述,按顺序单击图片中与文字描述相符的文字完成验证。;需要注意的是,识别点选验证码的第三方平台有很多,在这里我们选择的超级鹰仅用于本案例的演示,请大家谨慎购买或使用。;以极验验证码官网的点选验证码为例,演示如何使用第三方平台超级鹰和Selenium识别点选验证码。;首先浏览器中访问超级鹰官

文档评论(0)

扬州牧 + 关注
实名认证
文档贡献者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档