反爬机制:验证码,

 第三方自动识别(推荐)

注意:使用该平台识别验证码,必须将验证码事先下载到本地,然后再将本地存储的验证码提交给平台的示例程序进行识别操作。

使用打码平台识别验证码的编码流程:
     - 将验证码图片进行本地下载
     - 调用平台提供的示例代码进行图片数据识别

---实战代码---

需求:识别古诗文网登录页面中的验证码。

import requests
from lxml import etree
from CodeClass import YDMHttp#step2封装识别验证码图片的函数
def getCodeText(imgPath,codeType): #识别图片的文字内容 codeType动态加载# 普通用户用户名username = 'bobo328410948'# 普通用户密码password = 'bobo328410948'# 软件ID,开发者分成必要参数。登录开发者后台【我的软件】获得!appid = 6003# 软件密钥,开发者分成必要参数。登录开发者后台【我的软件】获得!appkey = '1f4b564483ae5c907a1d34f8e2f2776c'# 图片文件:即将被识别的验证码图片的路径filename = imgPath# 验证码类型,# 例:1004表示4位字母数字,不同类型收费不同。请准确填写,否则影响识别率。在此查询所有类型 http://www.yundama.com/price.htmlcodetype = codeType# 超时时间,秒timeout = 20result = None# 检查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(filename, codetype, timeout);print('cid: %s, result: %s' % (cid, result))return result#step1将验证码图片下载到本地
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}url = 'https://so.gushiwen.org/user/login.aspx?
from=http://so.gushiwen.org/user/collect.aspx'page_text = requests.get(url=url,headers=headers).text #登陆的页面数据#解析验证码图片img中src属性值
tree = etree.HTML(page_text) #实例化etree对象
#验证码所对应的标签(验证码图片地址)
code_img_src = 'https://so.gushiwen.org'+tree.xpath('//*[@id="imgCode"]/@src')[0]
#拿到二进制的图片数据
img_data = requests.get(url=code_img_src,headers=headers).content
#将验证码图片保存到了本地
with open('./code.jpg','wb') as fp:fp.write(img_data)#step3调用打码平台的示例程序进行验证码图片数据识别
code_text = getCodeText('code.jpg',1004) #1004 四位英文字母print('识别结果为:',code_text)

#正则

#bs4和xpath只能取对应标签

#re能取对应的代码

Python爬虫验证码识别四相关推荐

  1. python爬虫验证码识别 (手把手教会你验证码识别)opencv图像处理 图片处理 验证码处理 降噪 简单易懂验证码处理

    前言:验证码是个烦人的小家伙!当然有很多打码平台,可以轻松解决!但可以自己来,干嘛靠别人!有技术不学是傻儿童!今天主要讲opencv来解决验证码!抱着怀里教你!让你向前迈一大步!详细讲,慢慢看!简单易 ...

  2. 毕业设计 - 题目:基于python的验证码识别 - 机器视觉 验证码识别

    文章目录 0 前言 1 项目简介 2 验证码识别步骤 2.1 灰度处理&二值化 2.2 去除边框 2.3 图像降噪 2.4 字符切割 2.5 识别 3 基于tensorflow的验证码识别 3 ...

  3. python 实现验证码识别

    python 实现验证码识别 环境安装 1.1 python安装(此处不详细介绍,自行百度) 1.2 安装Tesseract-OCR 第一步:依赖安装 第二步:下载安装Leptonica 第三步: 下 ...

  4. 基于Python的验证码识别技术

    基于Python的验证码识别技术 作者:强哥 概述 前言 准备工作 识别原理 图像处理 切割图像 人工标注 训练数据 检测结果 搞笑一刻 福利一刻 推荐阅读 前言 很多网站登录都需要输入验证码,如果要 ...

  5. 关于利用python进行验证码识别的一些想法

    关于利用python进行验证码识别的一些想法 - 小五义 - 博客园 关于利用python进行验证码识别的一些想法 转载请注明:@小五义http://www.cnblogs.com/xiaowuyi ...

  6. 基于python的验证码识别

    基于python的验证码识别 在利用python对一些网站进行批量操作的时候,验证码是个绕不过去的东西,虽然现在网上有很多图像识别的api,但是可能不适用于你的项目,我为了批量爬取班上同学的学分绩点写 ...

  7. python爬虫验证码的识别_Python爬虫识别验证码

    Python爬虫识别验证码 安装tesserocr pip3 install tesserocr pillow 识别测试 将验证码图片放到项目根目录下,用tesserocr库识别该验证码,代码如下所示 ...

  8. python爬虫验证码的处理(云打码)_用Python识别验证码

    由于本文实现的功能是在内网环境完成,因此,没有代码介绍,也没有识别效果展示. 爬虫过程中难免会碰到验证码,各种各样的验证码似乎阻挡了爬虫的脚步. 为了识别机器和真实用户而诞生的爬虫 碰到验证码有两个方 ...

  9. python语音验证码识别_Python验证码识别

    大致介绍 在python爬虫爬取某些网站的验证码的时候可能会遇到验证码识别的问题,现在的验证码大多分为四类: 1.计算验证码 2.滑块验证码 3.识图验证码 4.语音验证码 这篇博客主要写的就是识图验 ...

最新文章

  1. 多图片每隔2S循环播放
  2. python教程实例-python 类和实例 - 刘江的python教程
  3. 超强包管理器:Anaconda 安装
  4. IP地址概念及其划分
  5. 遍历XML引擎版本以适应代码
  6. java保留有效数字
  7. 【ASP.NET Core 沉思录】CreateWebHostBuilder 是一个 Convension
  8. 【CodeForces - 245C 】Game with Coins (思维,贪心)
  9. office高级应用与python综合案例教程_office高级应用与python综合案例实验指导--详细介绍...
  10. 《天天数学》连载39:二月八日
  11. 看〈走出软件作坊〉浅谈扁平化管理
  12. 310. 最小高度树
  13. Hutool拼音工具的使用
  14. Win7下64位扫雷逆向以及辅助制作
  15. c语言usb串口通信程序,C语言在RS232串行接口通信中的实现
  16. (已更新)日常记账微信小程序模板源码
  17. python oserror怎么解决_Python读取csv报错解决方法:OSError: Initializing from file failed
  18. SEO知识:百度谷歌搜狗谷歌必应搜索引擎蜘蛛的特点
  19. 中国十大计算机学院排名2015,中国计算机学院排名
  20. 隐私泄露距离你我有多远?APP扩大个人隐私收集,增大隐私保护难度

热门文章

  1. 据说要改变Web3应用层,X2Earn又是什么?
  2. SparkSQL in中使用子查询耗时高如何优化
  3. 计算机网络基础常见名词缩写汇总
  4. java 16进制与汉字_汉字转16进制方法
  5. 解决vscode打开中文乱码,用记事本打开却无乱码
  6. 电子政务信息系统整合共享管理研究
  7. 【arduino】4位8段数码管的使用
  8. 联想Y400安装ubuntu16.04、cuda8.0、cudnn5.1、anaconda2.7、tensorflow1.2、keras、opencv
  9. UnityC#接阿里云头像自动分割API
  10. tenda服务器端口映射,腾达(Tenda)路由器端口映射设置教程 | 192路由网