一种基于自动化爬虫的验证码识别的方法技术

技术编号:27396971 阅读:17 留言:0更新日期:2021-02-21 14:07
本发明专利技术涉及了一种基于自动化爬虫的验证码识别的方法,包括以下步骤:S1、爬虫任务的下发、预处理以及超时异常等处理,S2、确定图片验证码,通过requests或者xpath等方式获取图片验证码,S3、采用一种深度卷积神经网络方法进行图片验证码识别,S4、通过爬虫程序验证其结果并保存所需要数据。本发明专利技术可以在被爬取网站需要图片验证码限制网络爬虫爬取网站内容时,通过自动化程序识别验证码,保证自动化爬虫的正常进行,能提高爬虫整体效率的效率、降低人力成本,能更及时发现故障、提高运行安全性。提高运行安全性。提高运行安全性。

【技术实现步骤摘要】
一种基于自动化爬虫的验证码识别的方法


[0001]本专利技术涉及计算机软件
,具体为一种基于自动化爬虫的验证码识别的方法。

技术介绍

[0002]在互联网飞速发展的网络背景下,搜索引擎在人们的生活工作中无疑扮演着重要的角色,而网络爬虫则是搜索引擎技术的关键部分,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成,传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件,聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列,然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程。
[0003]目前的网络爬虫大多数都是避开遇到图片验证码的情况或者使用人工的方式去解决这个问题,这两种方式在使用时会出现很多的条件限制,而且以上两种方式都不适用于纯自动化爬虫,所爬取到的数据需要大量的筛选步骤才能够达到符合我们需要的数据信息,这期间我们需要花费很多时间对其重新分析和过滤,故我们提出了一种基于自动化爬虫的验证码识别的方法专利技术项目。

技术实现思路

[0004]解决的技术问题本专利技术主要解决的技术问题是,本专利技术提供了一种基于自动化爬虫的验证码识别的方法,具备在有图片验证码的情况下仍不需要人工介入的一种自动化爬虫程序等优点,解决了我们在正常爬取过程中可以在被爬取网站需要图片验证码限制网络爬虫爬取网站内容时,通过自动化程序识别验证码,保证自动化爬虫的正常进行,能提高爬虫整体效率的效率、降低人力成本,能更及时发现故障、提高运行安全性。
[0005](二)技术方案为实现上述在有图片验证码的情况下仍不需要人工介入的一种自动化爬虫程序的目的,本专利技术提供如下技术方案:一种基于自动化爬虫的验证码识别的方法,包括:步骤一、爬虫任务的下发、预处理以及超时异常等处理;步骤二、确定图片验证码,通过requests或者xpath等方式获取图片验证码;步骤三、采用一种深度卷积神经网络方法进行识别图片验证码;步骤四、通过爬虫程序验证其结果并保存所需要数据。
[0006]优选的,所述步骤一中的对爬虫任务的下发、预处理以及超时异常等处理包括异常任务重新下发、直到图片验证码出现。
[0007]优选的,所述步骤二中确定图片验证码,通过requests或者xpath等方式获取图片验证码包括:持续访问直到页面出现图片验证码;对出现的图片验证码通过requests方式或者xpath定位的方式去获取图片内容。
[0008]优选的,所述步骤三所述采用一种深度卷积神经网络方法进行识别图片验证码包括:(1)、训练集合生成,收集大量图片验证码或者使用python验证码生成库,生成十万个验证码,验证码生成的步骤:随机在英文大小写字母和数字中选择四个字符、创建背景图片、添加噪声以及字符扭曲干扰手段,最终四位数验证码总共有62
×
62
×
62
×
62种不同的可能以及不同的干扰手段;获得数据集后就要对数据进行预处理,(2)、开始构建卷积神经网络,a、前向传播组成:三个卷积层,三个池化层,四个dropout防过拟合层,两个全连接层,四个Relu激活函数,所述卷积层的前向传播使用Relu激活,函数式如公式所示,b、反向传播组成:计算损失、采用梯度下降的方法获取极值、目标预测、使用AdamOptimizer优化器优化算法,更新权值并计算准确率、参数更新,所述卷积层的计算损失使用sigmoid交叉熵函数,函数式如公式Loss
crossEntropy
=-[y
0label
logy
0pred
+y
1label
logy
1pred
]=-[y
1label
logy
1pred
+(1-y
1label
)log(1-y
1pred)
]所示:sigmoid函数的输出就是标签值为一的样本对应的预测值,故得出如公式结果,c、卷积过程:矩阵对应位置相乘再相加,要求相乘的两个矩阵宽、高必须相同(比如大小都是m*n),全连接(矩阵乘法):它要求第一个矩阵的列和第二个矩阵的行必须相同,比如矩阵A大小m* n,矩阵B大小n *k,红色部分必须相同,得到结果大小就是m*k,(3)、批量输入(1)中训练集数据,多次进行Epoch,准确率明显提高,(4)、重复(3)操作,并计算准确率,准确率高于设定值,保存参数并结束训练,(5)、构建卷积神经网络完成后,调用程序运行得到结果。
[0009]优选的,所述验证图片验证码结果,如错误,返回步骤(5),否则爬虫继续并保存所需要数据。
[0010](三)有益效果与现有技术对比,本专利技术具备以下有益效果:本专利技术可以在被爬取网站需要图片验证码限制网络爬虫爬取网站内容时,通过爬虫任务的下发、预处理以及超时异常等处理,确定图片验证码,通过requests或者xpath等方式获取图片验证码识别验证码,能提高爬虫整体效率的效率、降低人力成本,采用一种深度卷积神经网络方法进行识别图片验证码,能更及时发现故障、提高运行安全性,保证自动化爬虫的正常进行,通过爬虫程序验证其结果并保存所需要数据。
附图说明
[0011]图1为本专利技术结构流程图;图2为本专利技术结构公式图;图3为本专利技术结构原理图。
具体实施方式
[0012]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
实施例
[0013]请参阅图1-3,基于自动化爬虫的验证码识别的方法,包括:爬虫任务的下发、预处理以及超时异常等处理包括异常任务重新下发、直到图片验证码出现之前所有步骤的处理、以及部分特殊情况的处理,进一步地,确定图片验证码,通过requests或者xpath等方式获取图片验证码包括:持续访问直到页面直到出现图片验证码;对出现的图片验证码通过requests方式或者xpath定位的方式去获取图片内容,进一步地,采用一种深度卷积神经网络 (deepconvolutionalneuralnetwork)方法进行识别图片验证码包括: (1)、训练集合生成,收集大量图片验证码或者使用python验证码生成库ImageCaptcha,生成十万个验证码,验证码生成的步骤:随机在英文大小写字母和数字中选择四个字符、创建背景图片、添加噪声以及字符扭曲等干扰手段,最终四位数验证码总共有62
×
62
×
62
ꢀ×
62不同的可能以及不同的干扰手段;通过自动化程序识别验证码,保证自动化爬虫的正常进行,(2)、获得数据集后就要对数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自动化爬虫的验证码识别的方法,其特征在于,包括:步骤一、爬虫任务的下发、预处理以及超时异常等处理;步骤二、确定图片验证码,通过requests或者xpath等方式获取图片验证码;步骤三、采用一种深度卷积神经网络方法进行识别图片验证码;步骤四、通过爬虫程序验证其结果并保存所需要数据。2.根据权利要求1所述的一种基于自动化爬虫的验证码识别的方法,其特征在于:所述步骤一中的对爬虫任务的下发、预处理以及超时异常等处理包括异常任务重新下发、直到图片验证码出现。3.根据权利要求1所述的一种基于自动化爬虫的验证码识别的方法,其特征在于:所述步骤二中确定图片验证码,通过requests或者xpath等方式获取图片验证码包括:持续访问直到页面出现图片验证码;对出现的图片验证码通过requests方式或者xpath定位的方式去获取图片内容。4.根据权利要求1所述的一种基于自动化爬虫的验证码识别的方法,其特征在于:所述步骤三所述采用一种深度卷积神经网络方法进行识别图片验证码包括:(1)、训练集合生成,收集大量图片验证码或者使用python验证码生成库,生成十万个验证码,验证码生成的步骤:随机在英文大小写字母和数字中选择四个字符、创建背景图片、添加噪声以及字符扭曲干扰手段,最终四位数验证码总共有62
×
62
×
62
×
62种不同的可能以及不同的干扰手段;获得数据集后就要对数据进行预处理,(2)、开始构建卷积神经网络,a、前向传播组成:三个卷积层,三个池化层,四个dropout防过拟合层,两个全连接层,四个Relu激活函数...

【专利技术属性】
技术研发人员:舒文兵李伟
申请(专利权)人:武汉天宝莱信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1