Python网络爬虫基础教程 第8章 验证码识别.pptxVIP

Python网络爬虫基础教程 第8章 验证码识别.pptx

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

文档评论(0)

小小文档 + 关注
实名认证
文档贡献者

小小文档小小文档小小文档小小文档

1亿VIP精品文档

相关文档