python爬虫解决手机短信验证码 python爬虫通过js解析验证码
热门文章
0
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
在我们写爬虫的过程中,目标网站常见的干扰手段就是设置验证码等,本就将基于Selenium实战讲解如何处理弹窗和验证码,爬取的目标网站为某仪器预约平台?可以看到登录所需的验证码构成比较简单,是彩色的标准数字配合简单的背景干扰?因此这里的验证码识别不需要借助人工智能的手段,可直接利用二值法对图片处理后交给谷歌的识别引擎tesseract-OCR即可获得图中的数字。注:selenium 和 tesseract 的配置读者可自行搜索,本文不做介绍)PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取?首先导入所需模块先尝试打开示例网站?有趣的地方出现了,网站显示了一个我们前面没有看到的弹窗,简单说一下弹窗的知识点,初学者可以将弹出框简单分为alert和非alert alert式弹出框alert(message)方法用于显示带有一条指定消息和一个 OK 按钮的警告框confirm(message)方法用于显示一个带有指定消息和 OK 及取消按钮的对话框prompt(text,defaultText)方法用于显示可提示用户进行输入的对话框 看一下这个弹出框的js是怎么写的:?看起来似乎是alert式弹出框,那么直接用driver.switch_to.alert吗?先不急 非传统alert式弹出框的处理弹出框位于div层,跟平常定位方法一样弹出框是嵌套的iframe层,需要切换iframe弹出框位于嵌套的handle,需要切换窗口 所以我们对这个弹出框进行元素审查?所以问题实际上很简单,直接定位按钮并点击即可二值法处理验证码的简单思路如下: 切割截取验证码所在的图片转为灰度后二值法将有效信息转为黑,背景和干扰转为白色处理后的图片交给文字识别引擎输入返回的结果并提交 切割截取验证码的图片进一步思考解决策略:首先获取网页上图片的css属性,根据size和location算出图片的坐标;然后截屏;最后用这个坐标进一步去处理截屏即可(由于验证码js的特殊性,不能简单获取img的href后下载图片后读取识别,会导致前后不匹配)正常情况下直接使用注释的四行代码即可,但不同的电脑不同的浏览器,缩放倍率存在差异,因此如果截取出的图存在偏差这需要考虑乘上倍率系数。最后可以再加减数值进行微调?可以看到图片这成功截取出来了!这个阈值需要具体用Photoshop或者其他工具尝试,即找到一个像素阈值能够将灰度图片中真实数据和背景干扰分开,本例经测试阈值为205根据像素二值结果重新生成图片图像处理前后对比如下?将处理后的图片就给谷歌的文字识别引擎就能完成识别识别结果如下?在处理完验证码之后,现在我们就可以向网站提交账号密码、验证码等登陆所需信息需要注意的是,二值法识别验证码成功率不是100%,因此需要考虑到验证码识别错误,需要单击图片更换验证码重新识别,可以将上述代码拆解成多个函数后,用如下循环框架试错为了方便理解,代码的书写没有以函数形式呈现,欢迎读者自行尝试修改! 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者:早起Python
SpringBoot学习小结之滑块验证码生成库tianai
滑块验证码实现,springboot滑动验证码,滑块验证码的作用,js滑块验证码前言一、后端springboot1.1 yml 配置1.2 跨域配置1.3 资源配置1.4 Controller二、前端jquery2.1 通用代码2.2 滑动验证码2.3 旋转验证码2.4 滑动还原验证码2.5 文字点选验证码三、源码探秘和总结3.1 前端代码3.2 后端代码3.3 总结参考 最近发现一个有趣的 Java 验证码库,能够生成各种行为验证码:滑块、旋转、点选验证码。 github: https://github.com/tianaiyouqing/tianai-captcha pom 依赖: 注:以下代码大部分来自官方demo: https://gitee.com/tianai/tianai-captcha-demo 跨域问题 通用js 代码 通用js这块代码滑动验证码通用,最主要的就是提供记录用户滑动轨迹的三个函数,分别为down,move和up 通用css 样式 common.css 通用样式 html slider.js 最终结果 html rotate.js 最终结果 html js 最终结果 html js 最终结果 前端代码部分主要是传递用户鼠标数据给后端,可以根据滑动和点选分为两种 滑动 滑动数据主要逻辑部分就在通用js代码中,主要就是三个函数,用户鼠标按下,移动,抬起三种操作的监听函数 点选 点选和滑动不一样,需要记录点击4个汉字的坐标,然后传递给后端 下面会对上述验证码后端生成,校验和存储进行源码探秘 滑块验证码 滑块验证码的图片生成部分可以见:StandardSliderImageCaptchaGenerator.doGenerateCaptchaImage方法,随机从模板获取背景图片,再用滑块的图片,选择随机x,y坐标覆盖掉 旋转验证码 生成部分可以见:StandardRotateImageCaptchaGenerator.doGenerateCaptchaImage 方法,选择居中部分抠出旋转随机角度 滑块还原验证码 生成部分可以见:StandardConcatImageCaptchaGenerator.doGenerateCaptchaImage 方法, 选择1/4-3/4高度随机值作为y坐标,这是切割部分,将图片切断成两部分,上面是可滑动的。1/8-4/5宽度随机值作为x坐标,这是x轴分隔点 文字点选验证码 通用生成部分可以见:AbstractClickImageCaptchaGenerator.doGenerateCaptchaImage 方法, 具体文字生成部分可以见StandardRandomWordClickImageCaptchaGenerator.genTipImage。 生成的文字个数由变量 checkClickCount=4控制,已在代码中写死,后面是否可以做成配置? 校验验证码 校验部分可以根据滑动还是点选分为两种 滑块 源码主要实现部分位于SimpleImageCaptchaValidator.doValidSliderCaptcha方法,目前只校验最后一个轨迹是否到达缺口处,没有对所有轨迹进行行为校验 点选 源码实现部分位于SimpleImageCaptchaValidator.doValidClickCaptcha方法,可以看到按照顺序对点选轨迹依次进行XY坐标进行百分比校验,默认有2%的容错 存储部分 验证码存储部分主要接口为 CacheStore,如果项目中引入了redis ,那么会使用redis来存储,否则会使用本地存储 目前这个库只提供4种行为验证码,不过在后端源码验证码类型CaptchaTypeConstant 中发现了图片点选的常量,后续版本应该会加上图片点选的验证码,这种很常见,使用梯子访问谷歌时经常会碰到这种,要用户选择红绿灯、摩托车等等。最后,感谢作者将如此棒的库开源,已 starred https://gitee.com/tianai/tianai-captcha-demo
whats this
WhatsApp是目前非常火的一款视频聊天交友软件随时随地进行移动信息传递,一款国内外小伙伴都在使用的聊天神器,在这里WhatsApp官方版是非常安全的哦,用户可以免费语音,喜欢的伙伴快下载WhatsApp官方版试试吧。WhatsApp内速度快WhatsApp支持多工,而且Resume速度快WhatsApp支持多语言输入WhatsApp支持图片、语音片段传送WhatsApp支持地点分享 (Location)WhatsApp支持Push Notification及Live TileWhatsApp支持组群对话无需付费:WhatsApp 使用您手机的网络连接(4G/3G/2G/EDGE 或 Wi-Fi,取决于哪种网络可供使用)让您与朋友或家人通话和收发消息,因此您无需为每一消息或通话另外付费*。使用 WhatsApp 也不必另付月费。媒体文件:收发照片、视频、文档、与语音消息。免费通话:以 WhatsApp Calling 免费与您的朋友及家人通话,就算他们身在其它国家*。 WhatsApp 通话使用您的网络连接进行通话,而不是占用您的蜂窝移动网络通话分钟数。(请注意:可能因使用 WhatsApp 产生移动数据费用。请与您的电信运营商联系了解更多信息。此外,您无法以 WhatsApp 拨打紧急电话号码,如中国的 120、美国的 911。)群组对话:与您的联系人享用群组对话,轻易地与朋友或家人保持联系。Whatsapp安卓版:您可从您电脑的浏览器收发 WhatsApp 消息。 1.延迟问题,大家可以多试几次,也可以切换语音验证 2.网络问题,网络环境不稳定也可能会收不到验证码的 3.短信拦截,手机开了防火墙,需要先把短信拦截关闭 4.或者也可以先把软件卸载,关机一分钟后重启,再次下载APP并尝试获取验证码 5.如果还是收不到验证码的话,建议用户在官网版联系下客服,看一下你的账号是否被封了,所以收不到验证码 1.免费的聊天软件,和自己的朋友随时随地都可以打电话,就像使用微信一样 2.支持语音、视频等多种聊天方式,可以和单人聊天,也可以建立一个群聊天 3.您还可以查看自己和对方的上线时间和在线状态,能够知道是谁现在还在线 1.可以免费语音视频电话哦,非常不错的,可以和自己的国际好友联系 2.打开APP都可以查看好友的在线状态,让你能够随时和TA保持联系 3.不仅可以发送图文,还能发送视频和动态表情包,让聊天更加有趣
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。