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

网站前台修改洛阳头条最新消息

网站前台修改,洛阳头条最新消息,招聘信息网58同城,logo设计的六大要素验证码处理 学习目标 了解 验证码的相关知识掌握 图片识别引擎的使用了解 常见的打码平台掌握 通过打码平台处理验证码的方法 1.图片验证码 1.1 什么是图片验证码 验证码#xff08;CAPTCHA#xff09;是“Completely Automated Public Turing test to tell Computers an…验证码处理 学习目标 了解 验证码的相关知识掌握 图片识别引擎的使用了解 常见的打码平台掌握 通过打码平台处理验证码的方法 1.图片验证码 1.1 什么是图片验证码 验证码CAPTCHA是“Completely Automated Public Turing test to tell Computers and Humans Apart”全自动区分计算机和人类的图灵测试的缩写是一种区分用户是计算机还是人的公共全自动程序。 1.2 验证码的作用 防止恶意破解密码、刷票、论坛灌水、刷页。有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试实际上使用验证码是现在很多网站通行的方式比如招商银行的网上个人银行百度社区我们利用比较简易的方式实现了这个功能。虽然登录麻烦一点但是对网友的密码安全来说这个功能还是很有必要也很重要。 1.3 图片验证码在爬虫中的使用场景 注册登录频繁发送请求时服务器弹出验证码进行验证 1.4 图片验证码的处理方案 手动输入(input) 这种方法仅限于登录一次就可持续使用的情况图像识别引擎解析 使用光学识别引擎处理图片中的数据目前常用于图片数据提取较少用于验证码处理打码平台 爬虫常用的验证码解决方案 2.图片识别引擎 OCROptical Character Recognition是指使用扫描仪或数码相机对文本资料进行扫描成图像文件然后对图像文件进行分析处理自动识别获取文字信息及版面信息的软件。 2.1 什么是tesseract Tesseract一款由HP实验室开发由Google维护的开源OCR引擎特点是开源免费支持多语言多平台。项目地址https://github.com/tesseract-ocr/tesseract下载地址https://digi.bib.uni-mannheim.de/tesseract/参考博文https://blog.csdn.net/jacke121/article/details/76038663 2.2 图片识别引擎环境的安装 1 引擎的安装 mac环境下直接执行命令 brew install --with-training-tools tesseractwindows环境下的安装 可以通过exe安装包安装下载地址可以从GitHub项目中的wiki找到。安装完成后记得将Tesseract 执行文件的目录加入到PATH中方便后续调用。 linux环境下的安装 sudo apt-get install tesseract-ocr2 Python库的安装 # PIL用于打开图片文件 pip/pip3 install pillow# pytesseract模块用于从图片中解析数据 pip/pip3 install pytesseract2.3 图片识别引擎的使用 通过pytesseract模块的 image_to_string 方法就能将打开的图片文件中的数据提取成字符串数据具体方法如下 from PIL import Image import pytesseract# 打开一个图片文件 im Image.open(test2.png)result2 pytesseract.image_to_string(im)print(result2)2.4 图片识别引擎的使用扩展 tesseract简单使用与训练其他ocr平台 微软Azure 图像识别[https://azure.microsoft.com/zh-cn/services/cognitive-services/computer-vision/](https://azure.microsoft.com/zh-cn/services/cognitive-services/computer-vision/)有道智云文字识别[http://aidemo.youdao.com/ocrdemo](http://aidemo.youdao.com/ocrdemo)阿里云图文识别[https://www.aliyun.com/product/cdi/](https://www.aliyun.com/product/cdi/)腾讯OCR文字识别[https://cloud.tencent.com/product/ocr](https://cloud.tencent.com/product/ocr)3 打码平台 1.为什么需要了解打码平台的使用 现在很多网站都会使用验证码来进行反爬所以为了能够更好的获取数据需要了解如何使用打码平台爬虫中的验证码 2 常见的打码平台 云打码http://www.yundama.com/ 能够解决通用的验证码识别 极验验证码智能识别辅助http://jiyandoc.c2567.com/ 能够解决复杂验证码的识别 3 云打码的使用 下面以云打码为例了解打码平台如何使用 3.1 云打码官方接口 下面代码是云打码平台提供做了个简单修改实现了两个方法 indetify:传入图片的响应二进制数即可indetify_by_filepath:传入图片的路径即可识别 其中需要自己配置的地方是 username whoarewe # 用户名password *** # 密码appid 4283 # appidappkey 02074c64f0d0bb9efb2df455537b01c3 # appkeycodetype 1004 # 验证码类型云打码官方提供的api如下 #yundama.py import requests import json import timeclass YDMHttp:apiurl http://api.yundama.com/api.phpusername password appid appkey def __init__(self, username, password, appid, appkey):self.username usernameself.password passwordself.appid str(appid)self.appkey appkeydef request(self, fields, files[]):response self.post_url(self.apiurl, fields, files)response json.loads(response)return responsedef balance(self):data {method: balance, username: self.username, password: self.password, appid: self.appid,appkey: self.appkey}response self.request(data)if (response):if (response[ret] and response[ret] 0):return response[ret]else:return response[balance]else:return -9001def login(self):data {method: login, username: self.username, password: self.password, appid: self.appid,appkey: self.appkey}response self.request(data)if (response):if (response[ret] and response[ret] 0):return response[ret]else:return response[uid]else:return -9001def upload(self, filename, codetype, timeout):data {method: upload, username: self.username, password: self.password, appid: self.appid,appkey: self.appkey, codetype: str(codetype), timeout: str(timeout)}file {file: filename}response self.request(data, file)if (response):if (response[ret] and response[ret] 0):return response[ret]else:return response[cid]else:return -9001def result(self, cid):data {method: result, username: self.username, password: self.password, appid: self.appid,appkey: self.appkey, cid: str(cid)}response self.request(data)return response and response[text] or def decode(self, filename, codetype, timeout):cid self.upload(filename, codetype, timeout)if (cid 0):for i in range(0, timeout):result self.result(cid)if (result ! ):return cid, resultelse:time.sleep(1)return -3003, else:return cid, def post_url(self, url, fields, files[]):# for key in files:# files[key] open(files[key], rb);res requests.post(url, filesfiles, datafields)return res.text username whoarewe # 用户名password *** # 密码appid 4283 # appidappkey 02074c64f0d0bb9efb2df455537b01c3 # appkeyfilename getimage.jpg # 文件位置codetype 1004 # 验证码类型# 超时 timeout 60def indetify(response_content):if (username username):print(请设置好相关参数再测试)else:# 初始化yundama YDMHttp(username, password, appid, appkey)# 登陆云打码uid yundama.login();print(uid: %s % uid)# 查询余额balance yundama.balance();print(balance: %s % balance)# 开始识别图片路径验证码类型ID超时时间秒识别结果cid, result yundama.decode(response_content, codetype, timeout)print(cid: %s, result: %s % (cid, result))return resultdef indetify_by_filepath(file_path):if (username username):print(请设置好相关参数再测试)else:# 初始化yundama YDMHttp(username, password, appid, appkey)# 登陆云打码uid yundama.login();print(uid: %s % uid)# 查询余额balance yundama.balance();print(balance: %s % balance)# 开始识别图片路径验证码类型ID超时时间秒识别结果cid, result yundama.decode(file_path, codetype, timeout)print(cid: %s, result: %s % (cid, result))return resultif __name__ __main__:pass4 常见的验证码的种类 4.1 url地址不变验证码不变 这是验证码里面非常简单的一种类型对应的只需要获取验证码的地址然后请求通过打码平台识别即可 4.2 url地址不变验证码变化 这种验证码的类型是更加常见的一种类型对于这种验证码大家需要思考 在登录的过程中假设我输入的验证码是对的对方服务器是如何判断当前我输入的验证码是显示在我屏幕上的验证码而不是其他的验证码呢 在获取网页的时候请求验证码以及提交验证码的时候对方服务器肯定通过了某种手段验证我之前获取的验证码和最后提交的验证码是同一个验证码那这个手段是什么手段呢 很明显就是通过cookie来实现的所以对应的在请求页面请求验证码提交验证码的到时候需要保证cookie的一致性对此可以使用requests.session来解决 小结 了解 验证码的相关知识掌握 图片识别引擎的使用了解 常见的打码平台掌握 通过打码平台处理验证码的方法
http://www.yutouwan.com/news/102436/

相关文章:

  • 上海的广告公司网站建设wordpress评论qq
  • 北京怎么建立网站建设部网站被黑
  • 企业产品推广网站网络营销推广公司名字
  • 云南住房与建设厅网站长春自助建站模板
  • 推广自身网站seo推广收费
  • 用iis做网站公司装修放假期间有没有工资
  • 国外平面设计教程网站微网站免费注册
  • 包头市网站建设网站基础代码html
  • 国外网站 设计北京理工大学网站开发与应用
  • 西安网站建设报价宁夏石嘴山市城乡建设局提意见网站
  • 连云港网站建设报价坯子库登录成wordpress
  • python flask做网站我的世界做壁纸网站打不开
  • 网站广告动图怎么做网站建设需要注意哪些内容
  • 菜鸟网站做图移动端快速建站的方法
  • 网站上线流程 配合人员青岛网信信息科技有限公司
  • 海外网站代理无锡seo网站推广费用
  • 门户网站建设 管理 自查报告哪里有服务好的深圳网站建设
  • 自己做网站需要收费吗上海企业黄页
  • 网站 谁建设谁负责心理教育网站建设目的
  • 重庆网站设计制作网站wordpress电脑主题
  • 上海专业网站制作设计公司哪家好受欢迎的扬中网站建设
  • 网站建设招标书技术介绍网站建设规划过程和
  • 网站图片上传不了是什么原因wordpress 管理员
  • 兰州网站哪里做衡水网站网站建设
  • 南京网站快速排名提升顺企网吉安网站建设
  • 哈尔滨巨耀网站建设.net网站开发工程师
  • 西安高校定制网站建设公司推荐网易企业邮箱是什么
  • 义乌企业网站建设为网站开发
  • 什么是网站的栏目和板块哪个网站做美食自媒体更好
  • 怎么利用QQ空间给网站做排名怎么开无货源网店赚钱