位置: 编程技术 - 正文

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)

  • php利用imagemagick实现复古老照片效果实例(php利用数组完成党员信息表)

    php利用imagemagick实现复古老照片效果实例(php利用数组完成党员信息表)

  • MySQL 及 SQL 注入与防范方法(mysql数据库注入)

    3.防止SQL注入

    在脚本语言,如Perl和PHP你可以对用户输入的数据进行转义从而来防止SQL注入。

    PHP的MySQL扩展提供了mysql_real_escape_string()函数来转义特殊的输入字符。

    4.Like语句中的注入

    like查询时,如果用户输入的值有"_"和"%",则会出现这种情况:用户本来只是想查询"abcd_",查询结果中却有"abcd_"、"abcde"、"abcdf" class="img-responsive" alt="MySQL 及 SQL 注入与防范方法(mysql数据库注入)">

    MySQL 及 SQL 注入与防范方法(mysql数据库注入)

  • 苹果发布OS X 10.11.2 El Capitan第二个开发者测试版(苹果发布会最新消息)

    苹果发布OS X 10.11.2 El Capitan第二个开发者测试版(苹果发布会最新消息)

  • CentOS6中rsync服务器的安装与配置(centos sync)

    CentOS6中rsync服务器的安装与配置(centos sync)

  • linux单网卡绑定多ip(linux做网卡绑定)

    linux单网卡绑定多ip(linux做网卡绑定)

  • win7系统打开自带壁纸和主题的方法 win7系统自带壁纸和主题如何使用(win7电脑开机自启动管理在哪里)

    win7系统打开自带壁纸和主题的方法 win7系统自带壁纸和主题如何使用(win7电脑开机自启动管理在哪里)

  • win10系统自带PDF打印机误删了该怎么恢复?(win10系统自带的浏览器叫什么)

    win10系统自带PDF打印机误删了该怎么恢复?(win10系统自带的浏览器叫什么)

  • cmd copy命令 文件复制(cmd下copy命令)

    cmd copy命令 文件复制(cmd下copy命令)

  • 深入讲解Python函数中参数的使用及默认参数的陷阱(python函数入门)

    深入讲解Python函数中参数的使用及默认参数的陷阱(python函数入门)

  • JavaScript函数详解(javascript 函数)

    JavaScript函数详解(javascript 函数)

  • 缴纳房产税怎么记账
  • 应收账款的期末余额在借方表示什么意思
  • 收到促销费方怎么做账
  • 个税系统如何增员
  • 滴滴电子发票可以看到行程吗
  • 对方把发票丢了可以重开吗
  • 什么是税收筹划风险?税收筹划风险的种类有哪些?
  • 房地产 结转
  • 上月未做未开票收入分录次月如何调账?
  • 商场积分兑换现金怎么用
  • 合同副本和正本区别
  • 被辞退还有退休金吗
  • 公司给员工发的工资要交税吗
  • 去年的定额的发票可以报销吗?
  • 承租人转租需要交税吗
  • 280服务费抵税分录
  • 本期准予扣除税额是什么
  • 一级代理价格
  • 含税房租
  • win10怎么打开任务管理器
  • 苹果macos catalina10.15.7
  • 发票的概念
  • 完美解决怠速抖动加油就平稳
  • 无损数据分区
  • 应付票据和应收票据的关系
  • 支票怎么用,开了支票立即可以取钱吗
  • 转租会计如何记账
  • 原材料的帐务处理
  • 企业销售不动产增值税税率
  • thinkphp pathinfo
  • 怎么用ai做vi
  • 个人独资企业如何做账
  • 长期股权投资后续计量收到红利账务处理
  • 共管账户和联名账户
  • 华为od测试岗机试需要怎么准备
  • python 微信红包
  • 注意!PHP 7中不要做的10件事
  • 建行对账单回签平啥意思
  • 计算工业总产值公式
  • 销售旧货怎么填写申报表
  • 支付货款没有收据怎么办
  • 小规模增值税减征额怎么算
  • 每个月计提折旧的分录
  • 客户要发票加收怎么办
  • 发票勾选后为什么申报表里没有数据
  • 委托加工应税消费品收回后直接销售
  • 跨年预收账款被税局要求确认收入怎么交增值税
  • 贷款损失准备的会计核算
  • 营改增后房地产企业如何开票
  • 收到的业务赔偿如何入账
  • 子公司内部交易
  • 商贸企业固定资产折旧可以一次性扣除吗?
  • 目标考核奖金做什么科目
  • 企业免征税范围有哪些
  • 旅行社的代订机票产品能报销吗
  • 加工企业三种商业模式
  • sql server 导出
  • 升级完鸿蒙系统5G咋没有了
  • mac怎么打开mac系统
  • win8如何更改账户名
  • linux ftp 服务
  • itunes清理iphone垃圾
  • win7组合键失效
  • pcalc是什么软件
  • win8.1怎么用
  • win10系统玩英雄联盟可以吗
  • Win10 Mobile RS1预览版14267.1004 修复Lumia 550充电问题
  • JavaScript数据类型分为哪两大类
  • jquery怎么获取
  • js插件写法
  • js中document.write
  • 批处理编程教程
  • 安卓开发常见问题解决
  • Python网络爬虫出现text没有属性怎么办
  • js弹出div出现遮罩层
  • 百望税控盘电子发票发送邮箱
  • 企业完税证明怎么查询打印
  • 国税局的标志
  • 现在哪个保险公司车险好
  • 资源税什么时候征收
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设