当前位置: 首页 > news >正文

国内精品在线网站建设怎么做公司网站文案

国内精品在线网站建设,怎么做公司网站文案,注册一个小公司需要什么条件,百度指数关键词未收录怎么办前言 (结尾有彩蛋欧) 目前,许多网站采取各种各样的措施来反爬虫,其中一个措施便是使用验证码。随着技术的发展,验证码的花样越来越多。验证码最初是几个数字组合的简单的图形验证码,后来加入了英文字母和混…

前言

        (结尾有彩蛋欧)

        目前,许多网站采取各种各样的措施来反爬虫,其中一个措施便是使用验证码。随着技术的发展,验证码的花样越来越多。验证码最初是几个数字组合的简单的图形验证码,后来加入了英文字母和混淆曲线。有的网站还可能看到中文字符的验证码,这使得识别愈发困难。

        后来 12306 验证码的出现使得行为验证码开始发展起来,用过 12306 的用户肯定多少为它的验证码头疼过。我们需要识别文字,点击与文字描述相符的图片,验证码完全正确,验证才能通过。现在这种交互式验证码越来越多,如极验滑动验证码需要滑动拼合滑块才可以完成验证,点触验证码需要完全点击正确结果才可以完成验证,另外还有滑动宫格验证码、计算题验证码等。

        验证码变得越来越复杂,爬虫的工作也变得愈发艰难。有时候我们必须通过验证码的验证才可以访问页面。本章就专门针对验证码的识别做统一讲解。

接下来会涉及的验证码有普通图形验证码、极验滑动验证码、点触验证码、微博宫格验证码,这些验证码识别的方式和思路各有不同。了解这几个验证码的识别方式之后,我们可以举一反三,用类似的方法识别其他类型验证码。

环境使用

  • python 3.9
  • pycharm

图形验证码的识别

        我们首先识别最简单的一种验证码,即图形验证码。这种验证码最早出现,现在也很常见,一般由 4 位字母或者数字组成。例如,某某网站的注册页面有类似的验证码。

        一般来说,表单的最后一项就是图形验证码,我们必须完全正确输入图中的字符才可以完成注册和登录。

1. 本节目标

        以某网站的验证码为例,讲解利用 OCR 技术识别图形验证码的方法。

2. 准备工作

        识别图形验证码需要库 tesserocr。本文文末有安装教程。

3. 获取验证码

        为了便于我们的实验测试,我们先将验证码的图片保存到本地。

        打开开发者工具,找到验证码元素。验证码元素是一张图片,它的 src 属性是 CheckCode.aspx。可以看到一个验证码,右键保存即可,将其命名为 yzm.jpg。

        

        这样我们就可以得到一张验证码图片,以供测试识别使用。

4. 识别测试

        接下来新建一个项目,将验证码图片放到项目根目录下,用 tesserocr 库识别该验证码,代码如下所示:

import tesserocr
from PIL import Imageimage = Image.open('yzm.jpg')
result = tesserocr.image_to_text(image)
print(result)

        在这里我们新建了一个 Image 对象,调用了 tesserocr 的 image_to_text() 方法。传入该 Image 对象即可完成识别,实现过程非常简单,结果如下所示:JR42。是不是很神奇。

5.验证码处理

        接下来我们换一个验证码,将其命名为 code2.jpg

         

        重新运行上面的代码,输出FFKT

        这次识别和实际结果有偏差,这是因为验证码内的多余线条干扰了图片的识别。

        对于这种情况,我们还需要做一下额外的处理,如转灰度、二值化等操作。我们可以利用 Image 对象的 convert() 方法参数传入 L,即可将图片转化为灰度图像,代码如下所示:

image = image.convert('L')image = image.convert('1')image.show()

        我们还可以指定二值化的阈值。上面的方法采用的是默认阈值 127。不过我们不能直接转化原图,要将原图先转为灰度图像,然后再指定二值化阈值,代码如下所示:

image = image.convert('L')
threshold = 80
table = []
for i in range(256):if i < threshold:table.append(0)else:table.append(1)image = image.point(table, '1')
image.show()

        运行之后就会得到我们想要的处理结果。而且我们发现原来验证码中的线条已经去除,整个验证码变得黑白分明。这时重新识别验证码,再次运行上面的代码就可以得到我们要的验证码。

        那么,针对一些有干扰的图片,我们做一些灰度和二值化处理,这会提高图片识别的正确率。 

tesserocr库安装

        在这里我和大家简单介绍一下,这个库的安装教程。

1.tesseract软件的安装

        在win10下,安装tesseract可以进入该网址进行下载 https://digi.bib.uni-mannheim.de/tesseract/

        其中,文件名中带有dev的为开发版本,不带dev的为稳定版本,可以选择下载不带dev的版本。例如可以选择下载tesseract-ocr-win64-setup-v5.3.0.20221214.exe。
        下载完成后,打开下载文件,其中可以勾选Additional language data(download)选项来安装OCR识别支持的语言包,以便OCR识别多国语言。(也可以在选项中只勾选chinese)

2.环境配置

        在系统变量里,修改path,添加你安装tesserocr的路径。在系统变量里,创建一个新的变量名为:TESSDATA_PREFIX,值为:D:\Program Files(X86)\Tesseract-OCR\tessdata(根据自己安装的tesserocr安装路径为准)。

3、安装tesseracr包

- 尝试pip安装:

pip install tesserocr

- 如果不成功,则尝试通过.whl文件安装。

下载地址:https://github.com/simonflueckiger/tesserocr-windows_build/releases 这里就不介绍whl怎么安装的了,不会的私信评论。

TIP:

        tesserocr也只是识别手段的一种,如果需要高精度的识别,可以尝试TensorFlow实现深度学习模型,通过训练模型来识别图形验证码。

        哈喽大家好,为了回馈粉丝长久以来的支持,博主决定开始给大家送福利了。在爬虫时,网上的免费代理IP不好用,怎么办?不要慌[鬼脸]我给大家争取到了一个福利,点击下面链接即可免费领取七天测试
        http://suo.nz/2zmKBG
        白嫖不要不要的

6adf31c8c5dd4e6a83314f4805b30bc1.jpg

http://www.yayakq.cn/news/212462/

相关文章:

  • 网站建设编写代码问题网络推广产品要给多少钱
  • 敦煌做网站 条件网站开发实训报告参考文献
  • 陵县网站建设wordpress 插件 下载
  • 青岛网站建设公司好找吗鲅鱼圈网站开发
  • 网站建设大概需要多少钱WordPress接入Google
  • 怎样修改网站首页头部安陆网站的建设
  • 网站的建议极简wordpress模板
  • 北京商城网站开发公司wordpress shortinit
  • 张店网站建设价格网站开发与数据库有关系吗
  • 网站续费多少钱2345浏览器网址
  • 做淘宝门头的网站合肥大建设
  • 哪种网站开发简单spring可以做多大的网站
  • 同城招聘网站自助建站四川省城乡建设信息网站证件查询
  • 创意上海专业网站建设工程找队伍信息网
  • 高质量网站外链建设大揭秘公司名称域名网站
  • wordpress内容登陆后可见谷歌官方seo入门指南
  • 北京网站优化公司 卓立海创微信crm是什么
  • 网站开发读什么专业网络公司名
  • 杭州画廊网站建设hao123从上网官网
  • 营销专业网站中信建设有限责任公司电子商务平台
  • 免费企业网站程序上传asp网站建设实验设计
  • 自己电脑怎么做网站服务器pc网站同步手机网站
  • ueeshop外贸建站公司网站的查询系统怎么做
  • 不花钱做网站网站开发文档doc
  • 宁波网站建设网站开发电商软文范例300字
  • 网站建设价格女网站素材 下载
  • 保定网站建设制作苏州市住房和城乡建设局官网
  • 网站如何做提现功能可以自建网站吗
  • 做鱼网站的域名建设网站有哪些好处
  • 如何在自己电脑上建设网站做一个卖货的app要多少钱