CN109740040B - 验证码识别方法、装置、存储介质和计算机设备 - Google Patents
验证码识别方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN109740040B CN109740040B CN201811389036.8A CN201811389036A CN109740040B CN 109740040 B CN109740040 B CN 109740040B CN 201811389036 A CN201811389036 A CN 201811389036A CN 109740040 B CN109740040 B CN 109740040B
- Authority
- CN
- China
- Prior art keywords
- verification code
- type
- picture
- verification
- identifying
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种验证码识别方法、装置、存储介质和计算机设备。该验证码识别方法包括:按网页爬取的顺序获取爬虫任务中的验证码页面;从验证码页面中截取验证码图片;采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型;获取与每一验证码类型相对应的验证码类型识别算法;根据验证码类型识别算法,按网页爬取的顺序对验证码页面中的验证码进行识别。采用该验证码识别方法能够提高验证码的识别效率。
Description
【技术领域】
本发明涉及计算机领域,尤其涉及一种验证码识别方法、装置、存储介质和计算机设备。
【背景技术】
目前,在爬取网页的过程中,需要对爬取过程中出现的验证码进行识别才能够继续爬取,然而,由于验证码类型较多,需要用户手动指定验证码类型才能进行识别,验证码识别效率低。
【发明内容】
有鉴于此,本发明实施例提供了一种验证码识别方法、装置、存储介质和计算机设备,用以解决爬取过程中验证码识别效率低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种验证码识别方法,所述方法包括:
按网页爬取的顺序获取爬虫任务中的验证码页面;
从所述验证码页面中截取验证码图片;
采用预先训练的图像识别模型对所述验证码图片进行识别,得到每一所述验证码图片的验证码类型;
获取与每一所述验证码类型相对应的验证码类型识别算法;
根据所述验证码类型识别算法,按所述网页爬取的顺序对所述验证码页面中的验证码进行识别。
进一步地,所述从所述验证码页面中截取验证码图片,包括:
采用光学字符识别技术将所述验证码页面按文本的分布情况进行划分,得到至少两个文本模块,其中,所述文本模块包括文本内容;
识别所述文本内容,获取与验证码相关的文本内容;
根据所述与验证码相关的文本内容所在的所述文本模块,确定所述验证码图片在所述验证码页面中的位置;
根据所述验证码图片在所述验证码页面中的位置从所述验证码页面中截取所述验证码图片。
进一步地,在所述采用预先训练的图像识别模型对所述验证码图片进行识别,得到每一所述验证码图片的验证码类型之前,还包括:
获取验证码图片训练样本,所述验证码图片训练样本至少包括第一类验证码图片训练样本和第二类验证码图片训练样本,其中,所述第一类验证码图片训练样本和所述第二类验证码图片训练样本中的验证码类型不同;
将所述验证码图片训练样本输入到卷积神经网络中进行训练,更新所述卷积神经网络中的网络参数,得到所述图像识别模型。
进一步地,所述图像识别模型是根据归一化处理的验证码图片训练样本的特征矩阵训练得到的,所述采用预先训练的图像识别模型对所述验证码图片进行识别,得到每一所述验证码图片的验证码类型,包括:
采用所述图像识别模型提取所述验证码图片的特征矩阵;
将所述验证码图片的特征矩阵进行归一化处理,得到所述验证码图片的归一化特征矩阵;
在所述图像识别模型中将所述归一化特征矩阵进行计算处理,得到每一所述验证码图片的验证码类型。
进一步地,所述验证码类型包括类型标识,在所述获取与每一所述验证码类型相对应的验证码类型识别算法之前,还包括:
根据所述类型标识,创建每一所述验证码类型与验证码类型识别算法之间的映射关系;
将所述映射关系以数据表的形式存储在数据库中,
所述获取与每一所述验证码类型相对应的验证码类型识别算法,包括:
根据所述数据库中存储的所述映射关系,获取与每一所述验证码类型相对应的验证码类型识别算法。
为了实现上述目的,根据本发明的一个方面,提供了一种验证码识别装置,所述装置包括:
验证码页面获取模块,用于按网页爬取的顺序获取爬虫任务中的验证码页面;
验证码图片截取模块,用于从所述验证码页面中截取验证码图片;
验证码类型获取模块,用于采用预先训练的图像识别模型对所述验证码图片进行识别,得到每一所述验证码图片的验证码类型;
识别算法获取模块,用于获取与每一所述验证码类型相对应的验证码类型识别算法;
验证码识别模块,用于根据所述验证码类型识别算法,按所述网页爬取的顺序对所述验证码页面中的验证码进行识别。
进一步地,所述验证码图片截取模块,包括:
文本模块获取单元,用于采用光学字符识别技术将所述验证码页面按文本的分布情况进行划分,得到至少两个文本模块,其中,所述文本模块包括文本内容;
文本内容获取单元,用于识别所述文本内容,获取与验证码相关的文本内容;
位置确认单元,用于根据所述与验证码相关的文本内容所在的所述文本模块,确定所述验证码图片在所述验证码页面中的位置;
验证码图片截取单元,用于根据所述验证码图片在所述验证码页面中的位置从所述验证码页面中截取所述验证码图片。
进一步地,所述装置还包括:
验证码图片训练样本获取单元,用于获取验证码图片训练样本,所述验证码图片训练样本至少包括第一类验证码图片训练样本和第二类验证码图片训练样本,其中,所述第一类验证码图片训练样本和所述第二类验证码图片训练样本中的验证码类型不同;
图像识别模型获取单元,用于将所述验证码图片训练样本输入到卷积神经网络中进行训练,更新所述卷积神经网络中的网络参数,得到所述图像识别模型。
为了实现上述目的,根据本发明的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述的验证码识别方法。
为了实现上述目的,根据本发明的一个方面,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的验证码识别方法的步骤。
本发明实施例中,首先按网页爬取的顺序获取爬虫任务中的验证码页面,按网页爬取的顺序可以保证在进行验证码识别时的识别顺序,以顺利在网页爬取的场景下实现对每一验证码的识别。然后从验证码页面中截取验证码图片;采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型,从验证码类型的角度出发,为后续不同验证码通过不同的验证码类型进行识别提供了重要的技术基础。接着获取与每一验证码类型相对应的验证码类型识别算法,利用一验证码类型对应一验证码类型算法的特点,可以根据获取到的验证码类型得到一一对应的验证码类型算法。最后根据验证码类型识别算法,按网页爬取的顺序对验证码页面中的验证码进行识别,根据确定的验证码类型及网页爬取的顺序,采用验证码类型识别算法,以网页爬取的顺序进行验证码识别,能够在网页爬取的场景下成功识别验证码,并显著提高验证码的识别效率。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明一实施例中验证码识别方法的一流程图;
图2是本发明一实施例中验证码识别装置的一示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1示出本实施例中验证码识别方法的一流程图。该验证码识别方法可应用在***、平台或应用程序中,用于实现在爬取网页过程中识别验证码的功能,具体可应用在安装在计算机设备上的验证码识别***中。其中,该计算机设备是可与用户进行人机交互的设备,包括但不限于电脑、智能手机和平板等设备。如图1所示,该验证码识别方法包括如下步骤:
S10:按网页爬取的顺序获取爬虫任务中的验证码页面。
其中,验证码页面是指进行验证码识别的页面。
需要说明的是,本发明实施例是在网页爬取的场景下进行的验证码识别。在网页爬取的场景下,爬取过程中经常要跳转多个页面,而有些页面跳转时需要输入验证码进行验证识别才能够成功跳转并执行下一步的爬取操作。由于需要经常跳转页面,在跳转途中的验证码多种多样,需要人工辅助才能完成验证码的识别。
在一实施例中,按网页爬取的顺序获取爬虫任务中的验证码页面,从网页爬虫任务的角度进行分析,以根据网页爬取的顺序对出现的验证码实现针对性的识别。
S20:从验证码页面中截取验证码图片。
其中,验证码图片是指验证码页面中验证码所在的图片。
S30:采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型。
验证码类型可以有很多种,在一实施例中,从验证码类型的角度出发,采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型,为后续不同验证码通过不同的验证码类型进行识别提供了重要的技术基础。
S40:获取与每一验证码类型相对应的验证码类型识别算法。
在一实施例中,利用一验证码类型对应一验证码类型算法的特点,根据获取到的验证码类型得到一一对应的验证码类型算法,能够根据验证码类型识别算法对相对应的验证码类型进行识别。
S50:根据验证码类型识别算法,按网页爬取的顺序对验证码页面中的验证码进行识别。
在一实施例中,根据确定的验证码类型及网页爬取的顺序,采用验证码类型识别算法,以网页爬取的顺序进行验证码识别。本发明实施例对爬虫任务的过程进行分析,从网页爬取的顺序、验证码类型和验证码类型识别算法的角度出发,确保在网页爬取的场景下成功识别验证码,并显著提高验证码的识别效率。
进一步地,在步骤S20中,即从验证码页面中截取验证码图片,具体包括:采用光学字符识别技术将验证码页面按文本的分布情况进行划分,得到至少两个文本模块,其中,文本模块包括文本内容;识别文本内容,获取与验证码相关的文本内容;根据与验证码相关的文本内容所在的文本模块,确定验证码图片在验证码页面中的位置;根据验证码图片在验证码页面中的位置从验证码页面中截取验证码图片。
其中,光学字符识别,(Optical Character Recognition,简称OCR),是指通过图像处理和模式识别技术对光学的字符进行识别。在一实施例中,采用光学字符识别技术可以对文本的分布情况进行划分,得到一块块独立的文本模块,然后再对文本模块中的文本内容进行识别,以从验证码页面中确定验证码图片。在确定验证码图片在验证码页面中的位置后,从验证码页面中截取验证码图片。通过采用光学字符识别技术,根据文本的分布情况、文本内容确定验证码图片在验证码页面的具***置,从而快速、准确地截取得到验证码图片。
进一步地,在步骤S30之前,即在采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型之前,还包括:获取验证码图片训练样本,验证码图片训练样本至少包括第一类验证码图片训练样本和第二类验证码图片训练样本,其中,第一类验证码图片训练样本和第二类验证码图片训练样本中的验证码类型不同;将验证码图片训练样本输入到卷积神经网络中进行训练,更新卷积神经网络中的网络参数,得到图像识别模型。
在一实施例中,图像识别模型是由至少包括第一类验证码图片训练样本和第二类验证码图片训练样本的验证码图片训练样本训练得到的,具备识别各种验证码类型的能力。在训练模型的过程中,不同验证码类型对应的训练样本之间的比例可以是等比例关系,如共有3中验证码类型,则对应的(第一、二或三)类验证码图片训练样本之间的比例关系为1:1:1。采用等比例进行图像识别模型训练可以有效防止模型出现过拟合的情况,能够提高图像识别模型的识别精确度。
进一步地,图像识别模型是根据归一化处理的验证码图片训练样本的特征矩阵训练得到的,在步骤S30中,即采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型,具体包括:采用图像识别模型提取验证码图片的特征矩阵;将验证码图片的特征矩阵进行归一化处理,得到验证码图片的归一化特征矩阵;在图像识别模型中将归一化特征矩阵进行计算处理,得到每一验证码图片的验证码类型。
采用归一化处理可以有效减少运算量,并将运算的数据都统一归在同一量纲内,能够提高模式识别验证码类型的效率以及提高识别的准确度。
进一步地,验证码类型包括类型标识,在S40之前,即在获取与每一验证码类型相对应的验证码类型识别算法之前,还包括:根据类型标识,创建每一验证码类型与验证码类型识别算法之间的映射关系;将映射关系以数据表的形式存储在数据库中,获取与每一验证码类型相对应的验证码类型识别算法,包括:根据数据库中存储的映射关系,获取与每一验证码类型相对应的验证码类型识别算法。其中,类型标识是指唯一识别验证码类型的标识。在一实施例中,通过创建每一验证码类型与验证码类型识别算法之间的映射关系,使得在识别验证码时,可以根据验证码类型调用相对应的验证码类型识别算法,快速、准确地实现验证码识别。
本发明实施例中,首先按网页爬取的顺序获取爬虫任务中的验证码页面,按网页爬取的顺序可以保证在进行验证码识别时的识别顺序,以顺利在网页爬取的场景下实现对每一验证码的识别。然后从验证码页面中截取验证码图片;采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型,从验证码类型的角度出发,为后续不同验证码通过不同的验证码类型进行识别提供了重要的技术基础。接着获取与每一验证码类型相对应的验证码类型识别算法,利用一验证码类型对应一验证码类型算法的特点,可以根据获取到的验证码类型得到一一对应的验证码类型算法。最后根据验证码类型识别算法,按网页爬取的顺序对验证码页面中的验证码进行识别,根据确定的验证码类型及网页爬取的顺序,采用验证码类型识别算法,以网页爬取的顺序进行验证码识别,能够在网页爬取的场景下成功识别验证码,并显著提高验证码的识别效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明实施例提供了一种验证码识别装置,该验证码识别装置用于执行上述验证码识别方法,如图2所示,该装置包括:验证码页面获取模块10、验证码图片截取模块20、验证码类型获取模块30、识别算法获取模块40和验证码识别模块50。
验证码页面获取模块10,用于按网页爬取的顺序获取爬虫任务中的验证码页面。
在一实施例中,按网页爬取的顺序获取爬虫任务中的验证码页面,从网页爬虫任务的角度进行分析,以根据网页爬取的顺序对出现的验证码实现针对性的识别。
验证码图片截取模块20,用于从验证码页面中截取验证码图片。
验证码类型获取模块30,用于采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型。
验证码类型可以有很多种,在一实施例中,从验证码类型的角度出发,采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型,为后续不同验证码通过不同的验证码类型进行识别提供了重要的技术基础。
识别算法获取模块40,用于获取与每一验证码类型相对应的验证码类型识别算法。
在一实施例中,利用一验证码类型对应一验证码类型算法的特点,根据获取到的验证码类型得到一一对应的验证码类型算法,能够根据验证码类型识别算法对相对应的验证码类型进行识别。
验证码识别模块50,用于根据验证码类型识别算法,按网页爬取的顺序对验证码页面中的验证码进行识别。
在一实施例中,根据确定的验证码类型及网页爬取的顺序,采用验证码类型识别算法,以网页爬取的顺序进行验证码识别。本发明实施例对爬虫任务的过程进行了分析,从网页爬取的顺序、验证码类型和验证码类型识别算法的角度出发,确保在网页爬取的场景下成功识别验证码,并显著提高验证码的识别效率。
可选地,验证码图片截取模块20包括文本模块获取单元、文本内容获取单元、位置确认单元和验证码图片截取单元。
文本模块获取单元,用于采用光学字符识别技术将验证码页面按文本的分布情况进行划分,得到至少两个文本模块,其中,文本模块包括文本内容。
文本内容获取单元,用于识别文本内容,获取与验证码相关的文本内容。
位置确认单元,用于根据与验证码相关的文本内容所在的文本模块,确定验证码图片在验证码页面中的位置。
验证码图片截取单元,用于根据验证码图片在验证码页面中的位置从验证码页面中截取验证码图片。
在一实施例中,采用光学字符识别技术可以对文本的分布情况进行划分,得到一块块独立的文本模块,然后再对文本模块中的文本内容进行识别,以从验证码页面中确定验证码图片。在确定验证码图片在验证码页面中的位置后,从验证码页面中截取验证码图片。通过采用光学字符识别技术,根据文本的分布情况、文本内容确定验证码图片在验证码页面的具***置,从而快速、准确地截取得到验证码图片。
可选地,验证码识别装置还包括验证码图片训练样本获取单元和图像识别模型获取单元。
验证码图片训练样本获取单元,用于获取验证码图片训练样本,验证码图片训练样本至少包括第一类验证码图片训练样本和第二类验证码图片训练样本,其中,第一类验证码图片训练样本和第二类验证码图片训练样本中的验证码类型不同。
图像识别模型获取单元,用于将验证码图片训练样本输入到卷积神经网络中进行训练,更新卷积神经网络中的网络参数,得到图像识别模型。
在一实施例中,图像识别模型是由至少包括第一类验证码图片训练样本和第二类验证码图片训练样本的验证码图片训练样本训练得到的,具备识别各种验证码类型的能力。在训练模型的过程中,不同验证码类型对应的训练样本之间的比例可以是等比例关系,如共有3中验证码类型,则对应的(第一、二或三)类验证码图片训练样本之间的比例关系为1:1:1。采用等比例进行图像识别模型训练可以有效防止模型出现过拟合的情况,能够提高图像识别模型的识别精确度。
可选地,图像识别模型是根据归一化处理的验证码图片训练样本的特征矩阵训练得到的。
可选地,验证码类型获取模块30包括特征矩阵提取单元、归一化特征矩阵获取单元和验证码类型获取单元。
特征矩阵提取单元,用于采用图像识别模型提取验证码图片的特征矩阵。
归一化特征矩阵获取单元,用于将验证码图片的特征矩阵进行归一化处理,得到验证码图片的归一化特征矩阵。
验证码类型获取单元,用于在图像识别模型中将归一化特征矩阵进行计算处理,得到每一验证码图片的验证码类型。
采用归一化处理可以有效减少运算量,并将运算的数据都统一归在同一量纲内,能够提高模式识别验证码类型的效率以及提高识别的准确度。
可选地,验证码类型包括类型标识。
可选地,验证码识别装置还包括映射关系创建单元和存储单元。
映射关系创建单元,用于根据类型标识,创建每一验证码类型与验证码类型识别算法之间的映射关系。
存储单元,用于将映射关系以数据表的形式存储在数据库中,
可选地,识别算法获取模块40,还用于根据数据库中存储的映射关系,获取与每一验证码类型相对应的验证码类型识别算法。
在一实施例中,通过创建每一验证码类型与验证码类型识别算法之间的映射关系,使得在识别验证码时,可以根据验证码类型调用相对应的验证码类型识别算法,快速、准确地实现验证码识别。
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质包括计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行以下步骤:
按网页爬取的顺序获取爬虫任务中的验证码页面。
从验证码页面中截取验证码图片。
采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型。
获取与每一验证码类型相对应的验证码类型识别算法。
根据验证码类型识别算法,按网页爬取的顺序对验证码页面中的验证码进行识别。
可选地,在计算机程序运行时控制计算机可读存储介质所在设备还执行以下步骤:采用光学字符识别技术将验证码页面按文本的分布情况进行划分,得到至少两个文本模块,其中,文本模块包括文本内容;识别文本内容,获取与验证码相关的文本内容;根据与验证码相关的文本内容所在的文本模块,确定验证码图片在验证码页面中的位置;根据验证码图片在验证码页面中的位置从验证码页面中截取验证码图片。
可选地,在计算机程序运行时控制计算机可读存储介质所在设备还执行以下步骤:在采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型之前,获取验证码图片训练样本,验证码图片训练样本至少包括第一类验证码图片训练样本和第二类验证码图片训练样本,其中,第一类验证码图片训练样本和第二类验证码图片训练样本中的验证码类型不同;将验证码图片训练样本输入到卷积神经网络中进行训练,更新卷积神经网络中的网络参数,得到图像识别模型。
可选地,图像识别模型是根据归一化处理的验证码图片训练样本的特征矩阵训练得到的,在计算机程序运行时控制计算机可读存储介质所在设备还执行以下步骤:采用图像识别模型提取验证码图片的特征矩阵;将验证码图片的特征矩阵进行归一化处理,得到验证码图片的归一化特征矩阵;在图像识别模型中将归一化特征矩阵进行计算处理,得到每一验证码图片的验证码类型。
可选地,验证码类型包括类型标识,在计算机程序运行时控制计算机可读存储介质所在设备还执行以下步骤:在获取与每一验证码类型相对应的验证码类型识别算法之前,根据类型标识,创建每一验证码类型与验证码类型识别算法之间的映射关系;
可选地,在计算机程序运行时控制计算机可读存储介质所在设备还执行以下步骤:根据数据库中存储的映射关系,获取与每一验证码类型相对应的验证码类型识别算法。
本发明实施例提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
按网页爬取的顺序获取爬虫任务中的验证码页面。
从验证码页面中截取验证码图片。
采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型。
获取与每一验证码类型相对应的验证码类型识别算法。
根据验证码类型识别算法,按网页爬取的顺序对验证码页面中的验证码进行识别。
可选地,处理器执行计算机程序时还实现以下步骤:采用光学字符识别技术将验证码页面按文本的分布情况进行划分,得到至少两个文本模块,其中,文本模块包括文本内容;识别文本内容,获取与验证码相关的文本内容;根据与验证码相关的文本内容所在的文本模块,确定验证码图片在验证码页面中的位置;根据验证码图片在验证码页面中的位置从验证码页面中截取验证码图片。
可选地,处理器执行计算机程序时还实现以下步骤:在采用预先训练的图像识别模型对验证码图片进行识别,得到每一验证码图片的验证码类型之前,获取验证码图片训练样本,验证码图片训练样本至少包括第一类验证码图片训练样本和第二类验证码图片训练样本,其中,第一类验证码图片训练样本和第二类验证码图片训练样本中的验证码类型不同;将验证码图片训练样本输入到卷积神经网络中进行训练,更新卷积神经网络中的网络参数,得到图像识别模型。
可选地,图像识别模型是根据归一化处理的验证码图片训练样本的特征矩阵训练得到的,处理器执行计算机程序时还实现以下步骤:采用图像识别模型提取验证码图片的特征矩阵;将验证码图片的特征矩阵进行归一化处理,得到验证码图片的归一化特征矩阵;在图像识别模型中将归一化特征矩阵进行计算处理,得到每一验证码图片的验证码类型。
可选地,验证码类型包括类型标识,处理器执行计算机程序时还实现以下步骤:在获取与每一验证码类型相对应的验证码类型识别算法之前,根据类型标识,创建每一验证码类型与验证码类型识别算法之间的映射关系;
可选地,处理器执行计算机程序时还实现以下步骤:根据数据库中存储的映射关系,获取与每一验证码类型相对应的验证码类型识别算法。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种验证码识别方法,其特征在于,所述方法包括:
按网页爬取的顺序获取爬虫任务中的验证码页面;
从所述验证码页面中截取验证码图片;
采用预先训练的图像识别模型对所述验证码图片进行识别,得到每一所述验证码图片的验证码类型;
获取与每一所述验证码类型相对应的验证码类型识别算法;
根据所述验证码类型识别算法,按所述网页爬取的顺序对所述验证码页面中的验证码进行识别;
所述从所述验证码页面中截取验证码图片,包括:
采用光学字符识别技术将所述验证码页面按文本的分布情况进行划分,得到至少两个文本模块,其中,所述文本模块包括文本内容;
识别所述文本内容,获取与验证码相关的文本内容;
根据所述与验证码相关的文本内容所在的所述文本模块,确定所述验证码图片在所述验证码页面中的位置;
根据所述验证码图片在所述验证码页面中的位置从所述验证码页面中截取所述验证码图片。
2.根据权利要求1所述的方法,其特征在于,在所述采用预先训练的图像识别模型对所述验证码图片进行识别,得到每一所述验证码图片的验证码类型之前,还包括:
获取验证码图片训练样本,所述验证码图片训练样本至少包括第一类验证码图片训练样本和第二类验证码图片训练样本,其中,所述第一类验证码图片训练样本和所述第二类验证码图片训练样本中的验证码类型不同;
将所述验证码图片训练样本输入到卷积神经网络中进行训练,更新所述卷积神经网络中的网络参数,得到所述图像识别模型。
3.根据权利要求1所述的方法,其特征在于,所述图像识别模型是根据归一化处理的验证码图片训练样本的特征矩阵训练得到的,所述采用预先训练的图像识别模型对所述验证码图片进行识别,得到每一所述验证码图片的验证码类型,包括:
采用所述图像识别模型提取所述验证码图片的特征矩阵;
将所述验证码图片的特征矩阵进行归一化处理,得到所述验证码图片的归一化特征矩阵;
在所述图像识别模型中将所述归一化特征矩阵进行计算处理,得到每一所述验证码图片的验证码类型。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述验证码类型包括类型标识,在所述获取与每一所述验证码类型相对应的验证码类型识别算法之前,还包括:
根据所述类型标识,创建每一所述验证码类型与验证码类型识别算法之间的映射关系;
将所述映射关系以数据表的形式存储在数据库中,
所述获取与每一所述验证码类型相对应的验证码类型识别算法,包括:
根据所述数据库中存储的所述映射关系,获取与每一所述验证码类型相对应的验证码类型识别算法。
5.一种验证码识别装置,其特征在于,所述装置包括:
验证码页面获取模块,用于按网页爬取的顺序获取爬虫任务中的验证码页面;
验证码图片截取模块,用于从所述验证码页面中截取验证码图片;
验证码类型获取模块,用于采用预先训练的图像识别模型对所述验证码图片进行识别,得到每一所述验证码图片的验证码类型;
识别算法获取模块,用于获取与每一所述验证码类型相对应的验证码类型识别算法;
验证码识别模块,用于根据所述验证码类型识别算法,按所述网页爬取的顺序对所述验证码页面中的验证码进行识别;
所述验证码图片截取模块,包括:
文本模块获取单元,用于采用光学字符识别技术将所述验证码页面按文本的分布情况进行划分,得到至少两个文本模块,其中,所述文本模块包括文本内容;
文本内容获取单元,用于识别所述文本内容,获取与验证码相关的文本内容;
位置确认单元,用于根据所述与验证码相关的文本内容所在的所述文本模块,确定所述验证码图片在所述验证码页面中的位置;
验证码图片截取单元,用于根据所述验证码图片在所述验证码页面中的位置从所述验证码页面中截取所述验证码图片。
6.根据权利要求5所述的装置,其特征在于,所述验证码识别装置,还包括:
验证码图片训练样本获取单元,用于获取验证码图片训练样本,所述验证码图片训练样本至少包括第一类验证码图片训练样本和第二类验证码图片训练样本,其中,所述第一类验证码图片训练样本和所述第二类验证码图片训练样本中的验证码类型不同;
图像识别模型获取单元,用于将所述验证码图片训练样本输入到卷积神经网络中进行训练,更新所述卷积神经网络中的网络参数,得到所述图像识别模型。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述验证码识别方法的步骤。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述验证码识别方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811256780 | 2018-10-26 | ||
CN2018112567800 | 2018-10-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109740040A CN109740040A (zh) | 2019-05-10 |
CN109740040B true CN109740040B (zh) | 2023-06-06 |
Family
ID=66356959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811389036.8A Active CN109740040B (zh) | 2018-10-26 | 2018-11-21 | 验证码识别方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109740040B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555298B (zh) * | 2019-08-30 | 2021-10-26 | 阿里巴巴(中国)有限公司 | 验证码识别模型训练及识别方法、介质、装置、计算设备 |
CN110956177A (zh) * | 2019-11-22 | 2020-04-03 | 成都市映潮科技股份有限公司 | 一种混合型验证码的识别方法及*** |
CN111753281A (zh) * | 2020-06-30 | 2020-10-09 | 北京鼎泰智源科技有限公司 | 一种验证码识别方法 |
CN111966432B (zh) * | 2020-06-30 | 2023-07-28 | 北京百度网讯科技有限公司 | 验证码处理方法、装置、电子设备以及存储介质 |
CN113240376A (zh) * | 2021-05-31 | 2021-08-10 | 中邮信息科技(北京)有限公司 | 物品信息确定方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104852916A (zh) * | 2015-05-08 | 2015-08-19 | 西安石油大学 | 一种基于社会工程学的网页验证码识别方法及*** |
CN105187443A (zh) * | 2015-09-28 | 2015-12-23 | 上海斐讯数据通信技术有限公司 | 一种测试web验证码的***及方法 |
CN107454118A (zh) * | 2017-10-11 | 2017-12-08 | 北京安博通科技股份有限公司 | 验证码获取方法及装置、登录方法及*** |
WO2018018324A1 (zh) * | 2016-07-24 | 2018-02-01 | 张鹏华 | 一种输入验证码的方法和验证码输入*** |
-
2018
- 2018-11-21 CN CN201811389036.8A patent/CN109740040B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104852916A (zh) * | 2015-05-08 | 2015-08-19 | 西安石油大学 | 一种基于社会工程学的网页验证码识别方法及*** |
CN105187443A (zh) * | 2015-09-28 | 2015-12-23 | 上海斐讯数据通信技术有限公司 | 一种测试web验证码的***及方法 |
WO2018018324A1 (zh) * | 2016-07-24 | 2018-02-01 | 张鹏华 | 一种输入验证码的方法和验证码输入*** |
CN107454118A (zh) * | 2017-10-11 | 2017-12-08 | 北京安博通科技股份有限公司 | 验证码获取方法及装置、登录方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109740040A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109740040B (zh) | 验证码识别方法、装置、存储介质和计算机设备 | |
CN110502608B (zh) | 基于知识图谱的人机对话方法及人机对话装置 | |
CN107958230B (zh) | 人脸表情识别方法及装置 | |
CN109034069B (zh) | 用于生成信息的方法和装置 | |
CN108021806B (zh) | 一种恶意安装包的识别方法和装置 | |
CN108256591B (zh) | 用于输出信息的方法和装置 | |
CN110751041A (zh) | 证件真伪验证方法、***、计算机设备及可读存储介质 | |
US10685347B1 (en) | Activating a transaction card | |
CN109766885B (zh) | 一种文字检测方法、装置、电子设备及存储介质 | |
CN108491866B (zh) | ***鉴定方法、电子装置及可读存储介质 | |
CN106570367B (zh) | 基于键盘操作的用户身份识别方法和装置 | |
KR101545809B1 (ko) | 차량 번호판 이중 검출 방법 및 장치 | |
CN110362826A (zh) | 基于人工智能的期刊投稿方法、设备及可读存储介质 | |
CN112308069A (zh) | 一种软件界面的点击测试方法、装置、设备及存储介质 | |
CN110175500B (zh) | 指静脉比对方法、装置、计算机设备及存储介质 | |
CN113821692A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN107992872B (zh) | 一种对图片进行文本识别的方法及移动终端 | |
CN113705468A (zh) | 基于人工智能的数字图像识别方法及相关设备 | |
CN105302715A (zh) | 应用程序用户界面的获取方法和装置 | |
CN109492396B (zh) | 基于语义分割的恶意软件基因快速检测方法和装置 | |
CN111626313B (zh) | 一种特征提取模型训练方法、图像处理方法及装置 | |
CN110795705B (zh) | 轨迹数据处理方法、装置、设备及存储介质 | |
CN111401348B (zh) | 一种目标对象的活体检测方法及*** | |
CN113487320A (zh) | 欺诈交易检测方法、装置、计算机设备和存储介质 | |
CN110619122B (zh) | 分词处理方法、装置、设备及计算机可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |