位置: 编程技术 - 正文

Python爬虫爬验证码实现功能详解(爬虫如何识别验证码)

编辑:rootadmin

推荐整理分享Python爬虫爬验证码实现功能详解(爬虫如何识别验证码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:爬虫 验证,python爬虫爬取登录数据,python爬取验证码,爬虫 验证,爬虫登录验证怎么做的,python爬虫验证码处理,python爬虫爬取登录数据,python爬虫验证码处理,内容如对您有帮助,希望把文章链接给更多的朋友!

主要实现功能:

- 登陆网页

- 动态等待网页加载

- 验证码下载

很早就有一个想法,就是自动按照脚本执行一个功能,节省大量的人力——个人比较懒。花了几天写了写,本着想完成验证码的识别,从根本上解决问题,只是难度太高,识别的准确率又太低,计划再次告一段落。希望这次经历可以与大家进行分享和交流。

Python打开浏览器

相比与自带的urllib2模块,操作比较麻烦,针对于一部分网页还需要对cookie进行保存,很不方便。于是,我这里使用的是Python2.7下的selenium模块进行网页上的操作。

测试网页: UTF-8

等待网页加载完毕

使用的是selenium中的WebDriverWait,上面的代码中已经加载

元素定位、字符输入

接下来我们需要进行登录操作:这里我使用的是Chrome,右键选择需要进行填写内容的部分,选择检查,会自动转跳到 F下的开发者模式(全程需要这个功能来找到相关的资源)。

vczKprbLJnJkcXVvO9Gh1PHT0LnYtcSyv7fWPGJyIC8+DQo8aW1nIGFsdD0="这里写图片描述" src=" title="" />

这里我们看到有一个value = “1”,考虑到下拉框的属性,我们只要想办法把这个value赋值给UserRole就好了。这里使用的是通过selenium的Select模块来进行选择,定位控件使用 find_element_by_**,能一一对应,很方便。

这是用脚本自动填充完的效果,之后就会转跳到下一页。

这里,我需要的是功能是自动对学术报告进行报名

Python爬虫爬验证码实现功能详解(爬虫如何识别验证码)

对需要已有的报告右键即可发现和这个活动有关的消息,因现在没有报告,所以只显示了标题,但对于后面的有效报告识别有相似的地方。

对于元素的定位,我优先选择了 xpath,根据测试,可以唯一定位一个元素的位置,很好用。

爬取信息

接下来我们要进行的步骤是爬取现有的有效报告:

爬取验证码

对网页中的验证码进行元素审查后,我们发现了其中的一个一个链接,是 IdentifyingCode.apsx,后面我们就对这个页面进行加载,并批量获取验证码。

爬取的思路是用selenium截取当前页面(仅显示部分),并保存到本地——需要翻页并截取特定位置的请研究:

broswer.set_window_position(**)相关函数;然后人工进行验证码的定位,通过PIL模块进行截取并保存。

最后调用谷歌在Python下的pytesser进行字符识别,但这个网站的验证码有很多的干扰,外加字符旋转,仅仅能识别其中的一部分字符。

爬取下来的验证码

一部分验证码原图:

从上面的验证码看出,字符是带旋转的,而且因为旋转造成的重叠对于后续的识别也有很大的影响。我曾尝试过使用神经网络进行训练,但因没有进行特征向量的提取,准确率低得离谱。

关于Python爬虫爬验证码实现功能详解就给大家介绍到这里,希望对大家有所帮助!

Python Web框架Tornado运行和部署 本文实例为大家分享了PythonWeb框架Tornado运行和部署的详细内容,供大家参考,具体内容如下一、运行和部署因为Tornado内置了自己的HTTPServer,运行和部

说一说Python logging 最近有个需求是把以前字符串输出的log改为json格式,看了别人的例子,还是有些比较茫然,索性就把logging整个翻了一边,做点小总结.初看log在程序中,log的用

Python使用redis pool的一种单例实现方式 本文实例讲述了Python使用redispool的一种单例实现方式。分享给大家供大家参考,具体如下:为适应多个redis实例共享同一个连接池的场景,可以类似于以

标签: 爬虫如何识别验证码

本文链接地址:https://www.jiuchutong.com/biancheng/385298.html 转载请保留说明!

上一篇:Python实现简单登录验证(python编写登录程序)

下一篇:Python Web框架Tornado运行和部署(python web框架2023)

  • 出口退税工作流程及内容
  • 23年车辆购置税税率
  • 计提坏账后又收回怎么做
  • 玉米大量收购
  • 研发支出属于什么科目借贷方向
  • 无形资产175加计扣除会计如何处理
  • 收到税费返还是什么现金流量
  • 小规模增值税的三个附加税计算公式是什么
  • 电子发票冲红是怎么回事
  • 中小企业对应的是
  • 长期股权投资超过50%
  • 辅导期一般纳税人什么意思
  • 银行结汇汇兑损益的会计分录怎么写?
  • 免费的产品
  • 无形资产摊销是增加还是减少
  • 哪些项目可以免征个人所得税
  • 实收资本的入账金额怎么算
  • 4s店付款
  • 房地产行业规定
  • 个税申报系统的备份保留几份数据
  • 税务发票原件
  • 不需要缴纳增值税和免税的区别
  • 一般纳税人建筑服务税率是多少
  • 如何使用腾讯手机管家
  • vue框架使用方法
  • 滴滴发票开公司名称可以抵扣进项吗
  • 合伙企业需要交哪些税
  • mac系统屏幕
  • 进销存功能
  • 预缴税款是否计入成本
  • php 钩子
  • 社保参保退费需要多久
  • 新公司免税额度是多少
  • php图片叠加
  • php程序开发范例宝典光盘
  • 出纳岗位的职责是什么
  • 微前端Qiankun 子应用css后加载问题
  • id3决策树伪代码
  • typescript类型别名
  • ntpd命令
  • 小规模所得税申报表利润总额是填季报吗
  • 委托 研发费用
  • 财务报表中的应收款项包括哪些
  • access使用查询向导创建查询
  • 公司支付宝账户怎么管理
  • 开具信用证的费用能开专票吗
  • 清算中的企业能恢复吗
  • 银行存款利息收入要交税吗
  • 留抵税额在账上没有,怎么办
  • 一般纳税人会计分录
  • 简易征收计算企业所得税怎么算
  • 公司新产品研发上市的意义和价值
  • 计提附加税减半征收会计分录
  • 发票冲红给对方单位说明怎么写
  • 教育行业的成本怎么做账
  • 汽车费用包括哪些会计科目呢
  • mysql修改表结构的命令
  • windows主进程rundll32总是用麦克风
  • XP系统连接VPN提示错误633:调制解调器已在使用的解决方法图文教程
  • linux深入理解
  • win7安装office2010错误1935
  • win8无法连接到internet
  • 系统升级中怎么办
  • sqlservr.exe - sqlservr是什么进程 有什么作用
  • 进不去操作系统 怎么样修复引导
  • win7怎么取消开机选择系统
  • jquery移动div到另一个div中
  • win10 python环境
  • javascript入门教程
  • javascript产生随机数
  • jquery中有几种方法可以来设置和获取样式
  • jQuery ajaxSubmit 实现ajax提交表单局部刷新
  • 浙江职称评审网址官网
  • 发票金额模糊怎么查询
  • 广西电子发票如何申请
  • 行政事业单位的会计核算以什么为基础
  • 非房地产企业土地增值税清算
  • 双公开双反馈什么意思
  • 个人所得税工资达到多少才交税
  • 广东省电子税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设