电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

70页
  • 卖家[上传人]:知**
  • 文档编号:322902064
  • 上传时间:2022-07-07
  • 文档格式:PPT
  • 文档大小:4.16MB
  • / 70 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第8章 验证码识别Python网络爬虫基础教程学习目标/Target了解验证的分类,能够说出常见验证码的特点掌握字符验证码的识别方法,能够使用ocr实现识别字符验证码的功能熟悉滑动拼图验证码的识别方法,能够使用Selenium实现识别滑动拼图验证码的功能熟悉点选验证码的识别方法,能够使用Selenium结合超级鹰平台实现识别点选验证码的功能章节概述/Summary随着大数据、机器学习、深度学习的兴起,越来越多的企业通过分析数据探索新的发展道路,例如,内容推荐、商品推荐、智慧城市等。虽然通过对大量数据进行分析可以带来一定的商业价值,但越来越多的网站为了保护网站中的数据不被网络爬虫采集,会在网站内容中加入一些防爬虫措施干扰网络爬虫,例如,加入验证码,此时网络爬虫如果想采集数据,则需要对验证码进行处理处理。目录/Contents8.18.2验证码识别实践项目:登录黑马头条后台管理系统验证码识别8.1验证码是指能够区分用户是计算机或人类的公共全自动程序,它因为能够有效防止非人类的用户恶意注册网站,以及频繁采集网页数据等行为,所以成为了很多网站防爬虫的首选方式。起初,验证码只是一张带有随机字符的

      2、图片,用户只需要输入图片中的字符即可完成验证,但是这种验证码很容易被网络爬虫识别。为了提升验证码的识别难度,设计人员在原先验证码的基础上添加了一些干扰元素,比如斜线、杂点等。8.1 验证码识别l掌握字符验证码的识别方法,能够使用pytesseract实现识别字符验证码的功能学学习目目标8.1.1 字符字符验证码的的识别8.1.1 字符字符验证码的的识别字符验证码是指将一串随机产生的数字或字母生成一张图片,图片中包含一些干扰元素(如数条直线、数个圆点、扭曲文字、杂点背景),由用户肉眼识别图片中的数字或字母后输入表单提交网站进行验证,一旦验证成功后就可以使用某项功能。相比用户行为的验证码,字符验证码的识别相对简单一些。我们只需要通过字符识别技术获取图片中的字符即可。常见的字符识别技术是OCR技术(Optical Character Recognition,光学字符识别),为了能够在Python程序中使用OCR技术识别字符验证码,我们可以通过两种方式进行实现:Tesseract-OCR(谷歌开发并开源的OCR引擎)和平台OCR(如百度OCR、腾讯OCR)。8.1.1 字符字符验证码的的识别T

      3、esseract-OCR是一个光学字符识别引擎,支持多种操作系统,具有精准度高、灵活性高等特点。它通过训练不仅可以识别出任何字体(只要字体的风格保持不变即可),而且可以识别出任何Unicode字符。8.1.1 字符字符验证码的的识别步骤1步骤2步骤3步骤4访问Tesseract-OCR下载页面访问Tesseract-OCR下载页面,根据自己的计算机配置参数选择相应的安装包下载,这里选择下载Tesseract-OCR v5.0.0。8.1.1 字符字符验证码的的识别步骤2步骤1步骤3步骤4进入License Agreement界面在Welcome to Tesseract-OCR Setup界面中单击Next按钮进入License Agreement界面。8.1.1 字符字符验证码的的识别步骤3步骤1步骤2步骤4进入Choose Users界面在License Agreement界面单击I Agree按钮,进入Choose Users界面。8.1.1 字符字符验证码的的识别步骤4步骤1步骤2步骤3进入Choose Components界面在Choose User界面保持默认配置,单击Ne

      4、xt按钮,进入Choose Components界面。8.1.1 字符字符验证码的的识别步骤5步骤6步骤7步骤8进入Choose Install Location界面在Choose Users界面保持默认配置,单击Next按钮,进入Choose Install Location界面。8.1.1 字符字符验证码的的识别步骤6步骤5步骤7步骤8进入Choose Start Menu Folder界面单击Choose Install Location界面的Next按钮,进入Choose Start Menu Folder界面。8.1.1 字符字符验证码的的识别步骤7步骤5步骤6步骤8进入Installation Complete界面单击Choose Start Menu Folder界面Next按钮,进入Installation Complete界面。8.1.1 字符字符验证码的的识别步骤8步骤5步骤6步骤7进入Completing Tesseract-OCR Setup界面单击Installation Complete界面Next按钮,进入Completing Tesseract-OCR

      5、Setup界面。8.1.1 字符字符验证码的的识别步骤9步骤10添加到环境变量Tesseract-OCR安装完成之后,还需要将Tesseract-OCR的安装目录和语言包配置到环境变量中。8.1.1 字符字符验证码的的识别步骤9步骤10查看当前Tesseract-OCR的版本号通过在命令行窗口中输入tesseract-v命令,查看当前Tesseract-OCR的版本号,以验证环境变量是否配置成功。8.1.1 字符字符验证码的的识别为了能够调用Tesseract-OCR引擎识别字符验证码,Python中提供了两个库pytesseract和Pillow,其中pytesseract是对Tesseract-OCR的一层封装,它也可以单独作为Tesseract-OCR引擎的调用脚本;Pillow是基于PIL库的一个派生分支,如今已经发展成为比PIL本身更具活力的图像处理库。8.1.1 字符字符验证码的的识别pytesseract和Pillow都是第三方库,可以通过pip工具进行安装。pip install pytesseractpip install Pillow若要使用Tesseract-OC

      6、R识别字符验证码,一般分为以下几个步骤。l使用Pillow.Image模块调用open()函数加载图像文件,生成图像对象。l使用pytesseract库调用image_to_string()函数对图像对象进行Tesseract-OCR识别,并将识别后的结果以字符串形式进行返回。8.1.1 字符字符验证码的的识别使用pytesseract和Pillow库识别字符验证码示例如下。from PIL import Image#导入Pillow库中的Image类from pytesseract import pytesseractimage=Image.open(W549.png)text=pytesseract.image_to_string(image)print(text)8.1.1 字符字符验证码的的识别通常情况下,网页上的字符验证码中存在许多干扰线和噪点,因此在未训练的情况下使用Tesseract-OCR的识别效果并不理想。这时可以使用百度OCR识别带有一些干扰元素的字符验证码。在使用百度OCR之前,我们需要先在百度AI开放平台注册应用。下面分别为大家介绍注册应用和使用百度OCR。8.

      7、1.1 字符字符验证码的的识别首先,使用百度账号登录百度AI开放平台首页,在该页面顶部的菜单栏中选择“开放能力”“文字识别”“通用文字识别”。8.1.1 字符字符验证码的的识别然后进入通用文字识别页面,单击“通用文字识别”链接,进入通用文字识别页面,在该页面中单击“立即使用”按钮进入“百度智能云-管理中心”页面。8.1.1 字符字符验证码的的识别最后,单击“创建应用”按钮跳转至创建新应用页面,在该页面中根据要求填写新应用的必选项,包括应用名称、接口选择、文字识别包名、应用归属、应用描述等。完成填写后,单击新应用页面底部的“立即创建”按钮可以看到创建完毕的提示信息。8.1.1 字符字符验证码的的识别在使用百度OCR开发程序之前,我们需要查看平台提供的API文档。,具体步骤为在百度智能云-管理中心”页面单击API文档 通用场景文字识别 通用文字识别(高精度版),跳转至通用文字识别(高精度版)的API文档页面。8.1.1 字符字符验证码的的识别以一个字符验证码图片为例,使用百度OCR识别字符验证码图片。字符验证码图片如下所示。8.1.1 字符字符验证码的的识别import base64,re

      8、questsdef graphic_verification_code(img_name):api_key=申请的API Key secret_key=申请的Secret Key host=fhttps:/ fcredentials&client_id=api_key&client_secret=secret_key request_url=https:/ f=open(img_name,rb)#二进制方式打开图片文件 img=base64.b64encode(f.read()使用Python和百度OCR识别指定的验证码图片,具体代码如下所示。params=image:img access_token=requests.get(host).json()access_token request_url=request_url+?access_token=+access_token headers=content-type:application/x-www-form-urlencoded response=requests.post(request_url,data=params,hea

      9、ders=headers)if response:print(response.json()if _name_=_main_:graphic_verification_code(dfn5.jpg)8.1.1 字符字符验证码的的识别l熟悉滑动拼图验证码的识别方法,能够使用Selenium实现识别滑动拼图验证码的功能学学习目目标8.1.2 滑滑动拼拼图验证码的的识别8.1.2 滑滑动拼拼图验证码的的识别滑动拼图验证码是一种很常见的行为验证码,用户只需要滑动滑块至正确距离后完成拼图,松开滑块后会自动进入结果验证流程,若验证失败,则滑块回到起始位置;若验证通过,则当前页面会出现相关的提示信息。滑动拼图验证码主要由5部分组成,分别是抠图、滑动、缺口、背景图片、滑轨,其中抠图和缺口的的形状是随机的,缺口的位置是随机的,这意味着用户滑动滑动的距离也是随机的。8.1.2 滑滑动拼拼图验证码的的识别Python中识别滑动拼图验证码的实现思路一般分为5步。获取包含缺口取包含缺口和不包含缺口和不包含缺口的背景的背景图片片计算滑算滑块的偏移的偏移量量生生成滑成滑动轨迹迹使使用用Selenium模模拟滑滑动轨迹

      10、迹验证抠图与与缺口位置缺口位置是否重是否重合合123458.1.2 滑滑动拼拼图验证码的的识别l熟悉点选验证码的识别方法,能够使用Selenium结合超级鹰平台实现识别点选验证码的功能学学习目目标8.1.3 点点选验证码的的识别点选验证码是根据验证码弹窗中的文字描述,按顺序单击图片中与文字描述相符的文字完成验证。8.1.3 点点选验证码的的识别需要注意的是,识别点选验证码的第三方平台有很多,在这里我们选择的超级鹰仅用于本案例的演示,请大家谨慎购买或使用。注注册册账号号截截取取验证码使使用超用超级鹰识别单击验证码文文字字注册超级鹰账号使用超级鹰识别点选验证码的文字截取点选验证码图片使用Selenium单击验证码中的文字8.1.3 点点选验证码的的识别以极验验证码官网的点选验证码为例,演示如何使用第三方平台超级鹰和Selenium识别点选验证码。8.1.3 点点选验证码的的识别首先浏览器中访问超级鹰官网。8.1.3 点点选验证码的的识别单击“用户注册”按钮进行注册,账号注册完成之后,可在用户中心查看账号信息,根据提示绑定相关信息便可领取1000题分。8.1.3 点点选验证码的的识别在用户中

      《Python网络爬虫基础教程 第8章 验证码识别》由会员知**分享,可在线阅读,更多相关《Python网络爬虫基础教程 第8章 验证码识别》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.