CN112380409A - 一种基于自动化爬虫的验证码识别的方法 - Google Patents

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

Info

Publication number
CN112380409A
CN112380409A CN202011154780.7A CN202011154780A CN112380409A CN 112380409 A CN112380409 A CN 112380409A CN 202011154780 A CN202011154780 A CN 202011154780A CN 112380409 A CN112380409 A CN 112380409A
Authority
CN
China
Prior art keywords
verification code
crawler
picture
picture verification
automatic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011154780.7A
Other languages
English (en)
Inventor
舒文兵
李伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Tianbaolai Information Technology Co ltd
Original Assignee
Wuhan Tianbaolai Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Tianbaolai Information Technology Co ltd filed Critical Wuhan Tianbaolai Information Technology Co ltd
Priority to CN202011154780.7A priority Critical patent/CN112380409A/zh
Publication of CN112380409A publication Critical patent/CN112380409A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

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

Description

一种基于自动化爬虫的验证码识别的方法
技术领域
本发明涉及计算机软件技术领域,具体为一种基于自动化爬虫的验证码识别的方法。
背景技术
在互联网飞速发展的网络背景下,搜索引擎在人们的生活工作中无疑扮演着重要的角色,而网络爬虫则是搜索引擎技术的关键部分,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成,传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件,聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列,然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程。
目前的网络爬虫大多数都是避开遇到图片验证码的情况或者使用人工的方式去解决这个问题,这两种方式在使用时会出现很多的条件限制,而且以上两种方式都不适用于纯自动化爬虫,所爬取到的数据需要大量的筛选步骤才能够达到符合我们需要的数据信息,这期间我们需要花费很多时间对其重新分析和过滤,故我们提出了一种基于自动化爬虫的验证码识别的方法发明项目。
发明内容
解决的技术问题
本发明主要解决的技术问题是,本发明提供了一种基于自动化爬虫的验证码识别的方法,具备在有图片验证码的情况下仍不需要人工介入的一种自动化爬虫程序等优点,解决了我们在正常爬取过程中可以在被爬取网站需要图片验证码限制网络爬虫爬取网站内容时,通过自动化程序识别验证码,保证自动化爬虫的正常进行,能提高爬虫整体效率的效率、降低人力成本,能更及时发现故障、提高运行安全性。
(二)技术方案
为实现上述在有图片验证码的情况下仍不需要人工介入的一种自动化爬虫程序的目的,本发明提供如下技术方案:一种基于自动化爬虫的验证码识别的方法,包括:步骤一、爬虫任务的下发、预处理以及超时异常等处理;步骤二、确定图片验证码,通过requests或者xpath等方式获取图片验证码;步骤三、采用一种深度卷积神经网络方法进行识别图片验证码;步骤四、通过爬虫程序验证其结果并保存所需要数据。
优选的,所述步骤一中的对爬虫任务的下发、预处理以及超时异常等处理包括异常任务重新下发、直到图片验证码出现。
优选的,所述步骤二中确定图片验证码,通过requests或者xpath等方式获取图片验证码包括:持续访问直到页面出现图片验证码;对出现的图片验证码通过requests方式或者xpath定位的方式去获取图片内容。
优选的,所述步骤三所述采用一种深度卷积神经网络方法进行识别图片验证码包括:(1)、训练集合生成,收集大量图片验证码或者使用python验证码生成库,生成十万个验证码,验证码生成的步骤:随机在英文大小写字母和数字中选择四个字符、创建背景图片、添加噪声以及字符扭曲干扰手段,最终四位数验证码总共有62×62×62×62种不同的可能以及不同的干扰手段;获得数据集后就要对数据进行预处理,(2)、开始构建卷积神经网络,a、前向传播组成:三个卷积层,三个池化层,四个dropout防过拟合层,两个全连接层,四个Relu激活函数,所述卷积层的前向传播使用Relu激活,函数式如公式
Figure 120861DEST_PATH_IMAGE001
所示,b、反向传播组成:计算损失、采用梯度下降的方法获取极值、目标预测、使用AdamOptimizer优化器优化算法,更新权值并计算准确率、参数更新,所述卷积层的计算损失使用sigmoid交叉熵函数,函数式如公式
LosscrossEntropy=-[y0 labellogy0 pred+y1 labellogy1 pred]
=-[y1 labellogy1 pred+(1-y1 label)log(1-y1 pred)]所示:sigmoid函数的输出就是标签值为一的样本对应的预测值,故得出如公式
Figure 236716DEST_PATH_IMAGE002
结果,c、卷积过程:矩阵对应位置相乘再相加,要求相乘的两个矩阵宽、高必须相同(比如大小都是m*n),全连接(矩阵乘法):它要求第一个矩阵的列和第二个矩阵的行必须相同,比如矩阵A大小m* n,矩阵B大小n *k,红色部分必须相同,得到结果大小就是m*k,(3)、批量输入(1)中训练集数据,多次进行Epoch,准确率明显提高,(4)、重复(3)操作,并计算准确率,准确率高于设定值,保存参数并结束训练,(5)、构建卷积神经网络完成后,调用程序运行得到结果。
优选的,所述验证图片验证码结果,如错误,返回步骤(5),否则爬虫继续并保存所需要数据。
(三)有益效果
与现有技术对比,本发明具备以下有益效果:
本发明可以在被爬取网站需要图片验证码限制网络爬虫爬取网站内容时,通过爬虫任务的下发、预处理以及超时异常等处理,确定图片验证码,通过requests或者xpath等方式获取图片验证码识别验证码,能提高爬虫整体效率的效率、降低人力成本,采用一种深度卷积神经网络方法进行识别图片验证码,能更及时发现故障、提高运行安全性,保证自动化爬虫的正常进行,通过爬虫程序验证其结果并保存所需要数据。
附图说明
图1为本发明结构流程图;
图2为本发明结构公式图;
图3为本发明结构原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
请参阅图1-3,基于自动化爬虫的验证码识别的方法,包括:爬虫任务的下发、预处理以及超时异常等处理包括异常任务重新下发、直到图片验证码出现之前所有步骤的处理、以及部分特殊情况的处理,进一步地,确定图片验证码,通过requests或者xpath等方式获取图片验证码包括:持续访问直到页面直到出现图片验证码;对出现的图片验证码通过requests方式或者xpath定位的方式去获取图片内容,进一步地,采用一种深度卷积神经网络 (deepconvolutionalneuralnetwork)方法进行识别图片验证码包括: (1)、训练集合生成,收集大量图片验证码或者使用python验证码生成库ImageCaptcha,生成十万个验证码,验证码生成的步骤:随机在英文大小写字母和数字中选择四个字符、创建背景图片、添加噪声以及字符扭曲等干扰手段,最终四位数验证码总共有62×62×62 ×62不同的可能以及不同的干扰手段;通过自动化程序识别验证码,保证自动化爬虫的正常进行,(2)、获得数据集后就要对数据进行预处理,(3)、开始构建卷积神经网络,a、前向传播组成:卷积层,池化层,dropout防过拟合层,全连接层,Relu激活函数,卷积层的前向传播使用Relu激活,函数式如公式(1)所示,b、反向传播组成:计算损失(sigmoid交叉熵)、采用梯度下降的方法获取极值、目标预测、使用AdamOptimizer优化器优化算法,更新权值并计算准确率、参数更新,卷积层的计算损失使用sigmoid交叉熵函数,函数式如公式(2)所示:sigmoid函数的输出就是标签值为一的样本对应的预测值,故得出如公式(3)结果,c、卷积过程:矩阵对应位置相乘再相加,要求相乘的两个矩阵宽、高必须相同(比如大小都是m*n),全连接 (矩阵乘法):它要求第一个矩阵的列和第二个矩阵的行必须相同,比如矩阵A大小m*n,矩阵B大小n*k,红色部分必须相同,得到结果大小就是m*k,(4)、批量输入(1)中训练集数据,多次进行Epoch,准确率明显提高,(5)、重复(4)操作,并计算准确率,如准确率大于零点八,将参数保存到model文件中,准确率大于零点九,在保存参数的同时结束训练,解决了我们在正常爬取过程中可以在被爬取网站整体效率、降低人力成本,能更及时发现故障、提高运行安全性,(6)、构建卷积神经网络完成后,调用程序运行得到结果,进一步地,通过爬虫程序验证其结果并保存所需要数据,进一步地,验证图片验证码结果,如错误,返回步骤(5),否则爬虫继续并保存所需要数据。
工作原理:首先将爬虫任务的下发、预处理以及超时异常等处理包括异常任务重新下发、直到图片验证码出现之前所有步骤的处理、以及部分特殊情况的处理,进一步地,确定图片验证码,通过requests或者xpath等方式获取图片验证码包括:持续访问直到页面直到出现图片验证码;对出现的图片验证码通过requests方式或者xpath定位的方式去获取图片内容,进一步地,采用一种深度卷积神经网络方法进行识别图片验证码,然后进一步地,通过爬虫程序验证其结果并保存所需要数据,进一步地,验证图片验证码结果,如错误,重复批量输入收集大量图片验证码或者使用python验证码生成库 ImageCaptcha,生成十万个验证码,验证码生成的步骤:随机在英文大小写字母和数字中选择四个字符、创建背景图片、添加噪声以及字符扭曲等干扰手段,最终四位数验证码总共有62×62×62×62种不同的可能以及不同的干扰手段,多次进行Epoch,准确率明显提高,并计算准确率,如准确率大于0.8,将参数保存到model文件中,准确率大于0.9,在保存参数的同时结束训练,最后爬虫继续并保存所需要数据。
综上所述,该种基于自动化爬虫的验证码识别的方法,通过爬虫任务的下发、预处理以及超时异常等处理,确定图片验证码,通过requests或者xpath等方式获取图片验证码识别验证码,能提高爬虫整体效率的效率、降低人力成本,采用一种深度卷积神经网络方法进行识别图片验证码,能更及时发现故障、提高运行安全性,保证自动化爬虫的正常进行,解决了我们在正常爬取过程中可以在被爬取网站需要图片验证码限制网络爬虫爬取网站内容时,通过自动化程序识别验证码,保证自动化爬虫的正常进行,能提高爬虫整体效率的效率、降低人力成本,能更及时发现故障、提高运行安全性。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (5)

1.一种基于自动化爬虫的验证码识别的方法,其特征在于,包括:步骤一、爬虫任务的下发、预处理以及超时异常等处理;步骤二、确定图片验证码,通过requests或者xpath等方式获取图片验证码;步骤三、采用一种深度卷积神经网络方法进行识别图片验证码;步骤四、通过爬虫程序验证其结果并保存所需要数据。
2.根据权利要求1所述的一种基于自动化爬虫的验证码识别的方法,其特征在于:所述步骤一中的对爬虫任务的下发、预处理以及超时异常等处理包括异常任务重新下发、直到图片验证码出现。
3.根据权利要求1所述的一种基于自动化爬虫的验证码识别的方法,其特征在于:所述步骤二中确定图片验证码,通过requests或者xpath等方式获取图片验证码包括:持续访问直到页面出现图片验证码;对出现的图片验证码通过requests方式或者xpath定位的方式去获取图片内容。
4.根据权利要求1所述的一种基于自动化爬虫的验证码识别的方法,其特征在于:所述步骤三所述采用一种深度卷积神经网络方法进行识别图片验证码包括:(1)、训练集合生成,收集大量图片验证码或者使用python验证码生成库,生成十万个验证码,验证码生成的步骤:随机在英文大小写字母和数字中选择四个字符、创建背景图片、添加噪声以及字符扭曲干扰手段,最终四位数验证码总共有62×62×62×62种不同的可能以及不同的干扰手段;获得数据集后就要对数据进行预处理,(2)、开始构建卷积神经网络,a、前向传播组成:三个卷积层,三个池化层,四个dropout防过拟合层,两个全连接层,四个Relu激活函数,所述卷积层的前向传播使用Relu激活,函数式如公式
Figure 210787DEST_PATH_IMAGE001
所示,b、反向传播组成:计算损失、采用梯度下降的方法获取极值、目标预测、使用AdamOptimizer优化器优化算法,更新权值并计算准确率、参数更新,所述卷积层的计算损失使用sigmoid交叉熵函数,函数式如公式
LosscrossEntropy=-[y0 labellogy0 pred+y1 labellogy1 pred]
=-[y1 labellogy1 pred+(1-y1 label)log(1-y1 pred)]所示:sigmoid函数的输出就是标签值为一的样本对应的预测值,故得出如公式
Figure 182546DEST_PATH_IMAGE002
结果,c、卷积过程:矩阵对应位置相乘再相加,要求相乘的两个矩阵宽、高必须相同(比如大小都是m*n),全连接(矩阵乘法):它要求第一个矩阵的列和第二个矩阵的行必须相同,比如矩阵A大小m* n,矩阵B大小n *k,红色部分必须相同,得到结果大小就是m*k,(3)、批量输入(1)中训练集数据,多次进行Epoch,准确率明显提高,(4)、重复(3)操作,并计算准确率,准确率高于设定值,保存参数并结束训练,(5)、构建卷积神经网络完成后,调用程序运行得到结果。
5.根据权利要求2所述的一种基于自动化爬虫的验证码识别的方法,其特征在于:所述验证图片验证码结果,如错误,返回步骤(5),否则爬虫继续并保存所需要数据。
CN202011154780.7A 2020-10-26 2020-10-26 一种基于自动化爬虫的验证码识别的方法 Pending CN112380409A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011154780.7A CN112380409A (zh) 2020-10-26 2020-10-26 一种基于自动化爬虫的验证码识别的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011154780.7A CN112380409A (zh) 2020-10-26 2020-10-26 一种基于自动化爬虫的验证码识别的方法

Publications (1)

Publication Number Publication Date
CN112380409A true CN112380409A (zh) 2021-02-19

Family

ID=74577289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011154780.7A Pending CN112380409A (zh) 2020-10-26 2020-10-26 一种基于自动化爬虫的验证码识别的方法

Country Status (1)

Country Link
CN (1) CN112380409A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345641A (zh) * 2018-01-12 2018-07-31 深圳壹账通智能科技有限公司 一种爬取网站数据的方法、存储介质和服务器
CN109933975A (zh) * 2019-03-20 2019-06-25 山东浪潮云信息技术有限公司 一种基于深度学习的验证码识别方法及系统
CN109993169A (zh) * 2019-04-11 2019-07-09 山东浪潮云信息技术有限公司 一种基于端到端的字符型验证码识别方法
CN111652233A (zh) * 2020-06-03 2020-09-11 哈尔滨工业大学(威海) 一种针对复杂背景的文本验证码自动识别方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345641A (zh) * 2018-01-12 2018-07-31 深圳壹账通智能科技有限公司 一种爬取网站数据的方法、存储介质和服务器
CN109933975A (zh) * 2019-03-20 2019-06-25 山东浪潮云信息技术有限公司 一种基于深度学习的验证码识别方法及系统
CN109993169A (zh) * 2019-04-11 2019-07-09 山东浪潮云信息技术有限公司 一种基于端到端的字符型验证码识别方法
CN111652233A (zh) * 2020-06-03 2020-09-11 哈尔滨工业大学(威海) 一种针对复杂背景的文本验证码自动识别方法

Similar Documents

Publication Publication Date Title
CN110347719B (zh) 一种基于大数据的企业外贸风险预警方法及系统
Freitas A genetic programming framework for two data mining tasks: classification and generalized rule induction
US20040215641A1 (en) Query prunning using exterior tiles in an R-tree index
CN1487442A (zh) 用于在网页中实施自动完成的方法和系统
US11841839B1 (en) Preprocessing and imputing method for structural data
CN112434024B (zh) 面向关系型数据库的数据字典生成方法、装置、设备及介质
CN109710237A (zh) 一种基于自定义二维报表的在线修改校验方法及设备
CN108388508A (zh) 一种基于用户会话和层次聚类算法的测试用例选择方法
Tanter Toward a theory of political development
Lias-Rodriguez et al. An algorithm for computing typical testors based on elimination of gaps and reduction of columns
Wang et al. A combinatorial approach to building navigation graphs for dynamic web applications
CN111461979A (zh) 验证码图像去噪识别方法、电子装置及存储介质
CN117743601B (zh) 一种自然资源知识图谱补全方法、装置、设备及介质
CN112154415A (zh) 大型计算机系统中的高效事件管理
Chang et al. Pallel parsing of tree languages for syntactic pattern recognition
CN112380409A (zh) 一种基于自动化爬虫的验证码识别的方法
CN117370650A (zh) 基于服务组合超图卷积网络的云计算数据推荐方法
Chen et al. Tcn-based lightweight log anomaly detection in cloud-edge collaborative environment
CN109508544B (zh) 一种基于mlp的入侵检测方法
CN116485512A (zh) 基于强化学习的银行数据分析方法及系统
CN115795521A (zh) 访问控制方法、装置、电子设备及存储介质
CN113177075B (zh) 一种基于大数据平台的笔迹数据存储方法及系统
CN116226850A (zh) 应用程序的病毒检测方法、装置、设备、介质及程序产品
Li et al. Web structure mining for usability analysis
CN107544906A (zh) 一种基于内容非敏感性DOM骨架等价判定的Web自动化测试方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination