掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及计算机技术领域,尤其涉及一种搜索框定位方法、数据采集方法、装置及介质。

背景技术

在数据爬虫业务中,经常会遇到需要先向网页搜索框中输入特定内容进行搜索,再进行数据抓取。而对于不同的网页,搜索框元素(例如id、name、class name等)往往会不相同,因此定位搜索框的位置是个难题。

针对这一情况,现有技术是先建立网站模板库,然后通过程序对新网站进行分析,在模板库中寻找新网站对应类型的模板,最后获取这类模板的搜索框元素。然而预先建立的网站模板库并不能包含所有类型的网站,因此该方法不能覆盖不属于模板库类型的网站,存在应用局限性;此外,通过获取网页中的搜索框元素来进行数据抓取,容易遭到反爬虫对抗。

发明内容

本申请提供了一种搜索框定位方法、数据采集方法、装置及介质,以解决以上至少一种技术问题。

一方面,本申请提供了一种搜索框定位方法,包括:

获取目标页面的截屏图像,所述目标页面为待数据采集的页面;

利用所述截屏图像,在所述目标页面中确定与搜索框的属性信息相匹配的多个搜索框候选区域;

加载模拟操作进程,对每个搜索框候选区域进行模拟操作;

基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域;

根据所述目标搜索框区域,定位搜索框在所述目标页面中的位置。

另一方面还提供一种数据采集方法,包括:

获取目标页面和待采集信息,所述目标页面为待数据采集的页面;

确定搜索框在所述目标页面中的位置;

基于所确定的搜索框在所述目标页面中的位置,将所述待采集信息填充至所述搜索框并进行数据采集;

其中,所述确定搜索框在所述目标页面中的位置包括:

获取目标页面的截屏图像,所述目标页面为待数据采集的页面;

利用所述截屏图像,在所述目标页面中确定与搜索框的属性信息相匹配的多个搜索框候选区域;

加载模拟操作进程,对每个搜索框候选区域进行模拟操作;

基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域;

根据所述目标搜索框区域,定位搜索框在所述目标页面中的位置。

另一方面还提供一种搜索框定位装置,包括:

截图获取模块,用于获取目标页面的截屏图像;

候选区域确定模块,用于利用所述截屏图像,在所述目标页面中确定与搜索框的属性信息相匹配的多个搜索框候选区域;

模拟操作模块,用于加载模拟操作进程,对每个搜索框候选区域进行模拟操作;

目标区域确定模块,用于基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域;

定位模块,用于根据所述目标搜索框区域,定位搜索框在所述目标页面中的位置。

在一些实施例,所述候选区域确定模块包括:

轮廓提取子模块,用于对所述截屏图像中的页面元素进行轮廓提取处理,得到第一截屏子图像集合;

筛选子模块,用于对所述第一截屏子图像集合进行筛选处理,得到与搜索框的属性信息相匹配的多个目标截屏子图像;

确定子模块,用于确定所得到的目标截屏子图像在所述目标页面对应的区域为搜索框候选区域。

在一些实施例,所述筛选子模块包括:

第一获取单元,用于获取搜索框的属性信息;

第二获取单元,用于获取所述第一截屏子图像集合中每个截屏子图像的属性信息;

判断单元,用于判断每个截屏子图像的属性信息与搜索框的属性信息是否匹配;

筛选单元,用于根据判断结果,对所述第一截屏子图像集合进行筛选处理,得到与搜索框的属性信息相匹配的多个目标截屏子图像;

其中,所述截屏子图像的属性信息包括以下至少一种:图像轮廓的样式信息和图像的基尼系数。

在一些实施例,所述筛选单元包括:

初级筛选单元,用于根据判断结果,对所述第一截屏子图像集合进行初级筛选处理,得到与搜索框的属性信息相匹配的初筛截屏子图像;

重叠度计算单元,用于计算任意两个初筛截屏子图像对应的轮廓之间的重叠度;

图像合并单元,用于从所述初筛截屏子图像中筛选出全部的重叠度大于第一预设阈值所对应的初筛截屏子图像并分别进行图像合并处理,得到合并后的截屏子图像;

目标子图像确定单元,用于根据所述合并后的截屏子图像和剩余的初筛截屏子图像,得到与搜索框的属性信息相匹配的多个目标截屏子图像。

在一些实施例,所述目标子图像确定单元包括:

第一确定子单元,用于根据合并后的截屏子图像和剩余的初筛截屏子图像,得到第二截屏子图像集合;

聚类子单元,用于根据图像的轮廓尺寸信息,对所述第二截屏子图像集合中每个截屏子图像进行聚类,得到至少一个聚类组;

目标聚类组确定单元,用于确定聚类组中截屏子图像的数量大于第二预设阈值所对应聚类组,作为目标聚类组;

第二确定子单元,用于从所述第二截屏子图像集合中剔除属于所述目标聚类组中的各截屏子图像,得到与搜索框的属性信息相匹配的多个目标截屏子图像。

在一些实施例,所述模拟操作包括点击操作、输入操作和回车操作。

在一些实施例,所述目标区域确定模块包括:

第一候选区域确定单元,用于确定对搜索框候选区域进行点击操作后页面跳转所对应的搜索框候选区域,作为第一搜索框候选区域;

第二候选区域确定单元,用于确定无法执行输入操作所对应的搜索框候选区域,作为第二搜索框候选区域

第三候选区域确定单元,用于确定对搜索框候选区域进行回车操作后页面不跳转所对应的搜索框候选区域,作为第三搜索框候选区域;

目标候选区域确定单元,用于从所述多个搜索框候选区域中筛除所述第一搜索框候选区域、第二搜索框候选区域和第三搜索框候选区域,得到目标搜索框区域。

另一方面还提供一种数据采集装置,包括:

第一获取模块,用于获取目标页面和待采集信息,所述目标页面为待数据采集的页面;

搜索框定位模块,用于确定搜索框在所述目标页面中的位置;

数据采集模块,用于基于所确定的搜索框在所述目标页面中的位置,将所述待采集信息填充至所述搜索框并进行数据采集;

其中,所述搜索框定位具体用于:

获取目标页面的截屏图像,所述目标页面为待数据采集的页面;

利用所述截屏图像,在所述目标页面中确定与搜索框的属性信息相匹配的多个搜索框候选区域;

加载模拟操作进程,对每个搜索框候选区域进行模拟操作;

基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域;

根据所述目标搜索框区域,定位搜索框在所述目标页面中的位置。

另一方面还提供一种搜索框定位设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任一所述的搜索框定位方法。

另一方面还提供一种数据采集设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任一所述的数据采集方法。

另一方面还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如上述任一所述的搜索框定位方法。

另一方面还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如上述任一所述的数据采集方法。

本申请提供的一种搜索框定位方法、数据采集方法、装置及介质,具有如下技术效果:

本申请实施例通过获取目标页面的截屏图像,所述目标页面为待数据采集的页面;利用所述截屏图像,在所述目标页面中确定与搜索框的属性信息相匹配的多个搜索框候选区域;加载模拟操作进程,对每个搜索框候选区域进行模拟操作;基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域;根据所述目标搜索框区域,定位搜索框在所述目标页面中的位置。从而实现了自动检测任何类型的页面的搜索框,并确定搜索框的定位信息,全程无需人工参与,具有高定位准确率和高召回率。无需预先建立大量的针对不同类型页面的页面模板库,无需提取搜索框的元素信息(id、name、class name等),同时可大大降低被反爬虫的风险。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是本申请实施例提供的一种搜索框定位方法的流程示意图;

图2是本申请实施例提供的一种确定多个搜索框候选区域步骤的流程示意图;

图3是本申请实施例提供的步骤S203的流程示意图;

图4是本申请实施例提供的步骤S307的流程示意图;

图5是本申请实施例提供的步骤S407的流程示意图;

图6是本申请实施例提供的另一种确定搜索框候选区域步骤的流程示意图;

图7是本申请实施例提供的一种确定目标搜索框区域步骤的流程示意图;

图8是本申请实施例提供的一种搜索框定位装置的结构框图;

图9是本申请实施例提供的一种数据采集方法的流程示意图;

图10是本申请实施例提供的一种数据采集装置的结构框图;

图11是本申请提供的一种用于实现本申请实施例所提供的方法的设备的硬件结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

以下介绍本申请一种搜索框定位方法的具体实施例,图1是本申请实施例提供的一种搜索框定位方法的流程示意图,本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。如图1所示,该方法的执行主体可以为服务器或终端,该方法可以包括:

S101:获取目标页面的截屏图像。

在本申请实施例中,所述目标页面可以为待数据采集的页面。该目标页面可以为基于浏览器的网页,或者运行在终端的应用程序上的非web页面。该终端包括但不限于为:智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备中至少一种。

截屏图像可以为包括目标页面的可视区域的截图。示例的,若目标页面为非滚动页面,可以获取目标页面的当前显示区域的截取图像作为该截屏图像。若目标页面为滚动页面,截屏图像可为对目标页面在滚动前后的显示区域的图像进行图像截取,并对截取的多个图像进行拼接所得的图像。

在一实施例中,所述获取目标页面的截屏图像可包括:

S1011:获取目标页面对应的页面地址。

S1013:加载所述页面地址,并在当前界面展示所述目标页面。

具体的,通过运行程序来模拟打开页面地址。示例的,以目标页面为网页为例,可以通过程序模拟浏览器行为打开网页,之后对运行的网页进行截屏。

S1015:对所述目标页面进行截取,得到所述目标页面的截屏图像。

具体的,通过截图工具、或终端自带的截图功能来实现对目标页面的截取,得到所述目标页面的截屏图像。

S103:基于搜索框的属性信息,对所述截屏图像进行处理,得到所述目标页面对应的多个搜索框候选区域。

在本申请实施例中,搜索框的属性信息可以包括但不限于为以下至少一种:搜索框的样式信息和搜索框的基尼系数。

在一可选实施例中,可以对截屏图像进行分割操作,从中确定符合搜索框的属性信息的页面元素所对应的若干分割块,将所确定的若干分割块在目标页面对应的区域,确定为搜索框候选区域。示例的,该分割操作可以为局部自适应阈值分割操作。具体的,局部自适应阈值分割操作包括但不限于均值自适应阈值分割操作和高斯自适应阈值分割操作。

在另一可选实施例中,如图2所示,所述基于搜索框的属性信息,对所述截屏图像进行处理,得到所述目标页面对应的多个搜索框候选区域包括:

S201:对所述截屏图像中的页面元素进行轮廓提取处理,得到第一截屏子图像集合。

其中,页面元素可以包括页面控件、图像、视频、动画、链接等。该页面控件包括搜索框、输入框、显示框、按钮、滑动块等。

在一可选实施例中,可以采用Canny边缘检测算法对截屏图像中的页面元素进行边缘提取,之后对得到的二值边缘进行轮廓提取操作,获取图像中所有的轮廓,提取每个轮廓对应的截屏子图像,并构成第一截屏子图像集合。

在其他可选实施例中,还可以采用包括但不限于Sobel算法、Laplace算法、Roberts算法等至少一种其他边缘检测算法,来对截屏图像中页面元素进行边缘提取。

S203:对所述第一截屏子图像集合进行筛选处理,得到与搜索框的属性信息相匹配的多个目标截屏子图像。

搜索框的属性信息可为表征搜索框特征的信息。搜索框的属性信息可以包括但不限于为以下至少一种:搜索框的样式信息和搜索框的基尼系数。其中,搜索框的样式信息可包括但不限于为以下至少一种:边框与水平线的夹角、宽高比、高度阈值和宽度阈值。

在本实施例中,搜索框的属性信息可以包括:搜索框的样式信息和搜索框的基尼系数。在所述第一截屏子图像集合中,筛选出与搜索框的这些属性信息均相匹配的多个截屏子图像,作为目标截屏子图像。若所述第一截屏子图像集合中的截屏子图像的属性信息,存在与搜索框的任一属性信息不匹配,则说明该截屏子图像不符合要求则被筛除。设置用于匹配的搜索框的属性信息越多,被筛除的不符合要求的截屏子图像的数量越多,所确定的用于定位搜索框的搜索框候选区域的数量将越少,可提高搜索框的定位效率。

在一可选实施例中,如图3所示,所述对所述第一截屏子图像集合进行筛选处理,得到与搜索框的属性信息相匹配的多个目标截屏子图像包括:

S301:获取搜索框的属性信息。

需要说明的是,搜索框的属性信息并不限于为一类搜索框的属性信息,其可为多类搜索框的属性信息的信息集合。

S303:获取所述第一截屏子图像集合中每个截屏子图像的属性信息。

在实际应用中,可以获取由图像识别软件所检测到的所述第一截屏子图像集合中每个截屏子图像的属性信息。

所述截屏子图像的属性信息包括以下至少一种:图像轮廓的样式信息和图像的基尼系数。该图像轮廓的样式信息包括但不限于为:轮廓最小外接矩形与水平线的夹角、轮廓最小外接矩形的宽高比、轮廓最小外接矩形的高度信息和轮廓最小外接矩形的宽度信息。

S305:判断每个截屏子图像的属性信息与搜索框的属性信息是否匹配。

具体的,判断截屏子图像的轮廓与水平线的夹角是否为0°和90°,当然可以设置一定的容忍误差,例如0.5°。若截屏子图像的轮廓最小外接矩形与水平线的夹角分别处于-0.5°~0.5°和89.5°~90.5°范围内,则可确定该截屏子图像是水平放置的,与通常情况下为水平放置的搜索框相匹配。反之,则确定两者不匹配。

判断截屏子图像的轮廓最小外接矩形的宽高比是否大于等于2。若截屏子图像的轮廓最小外接矩形的宽高比大于等于2,则可确定该截屏子图像是扁平长条框,与通常情况下为搜索框的宽高比相匹配。反之,则确定两者不匹配。

判断截屏子图像的轮廓最小外接矩形最小外接矩形的高度信息处于预设高度阈值范围内。若截屏子图像的轮廓最小外接矩形的高度信息处于预设高度阈值范围内,则可确定该截屏子图像的高度信息合适,与通常情况下为搜索框的高度阈值相匹配。反之,则确定两者不匹配。该预设高度阈值范围与页面的截屏图像的窗口大小相关。示例的,若截屏图像的窗口大小为1920*1080,则该预设高度阈值范围可以为10像素~100像素。

若确定截屏子图像的轮廓最小外接矩形与水平线的夹角、轮廓最小外接矩形的宽高比、和轮廓最小外接矩形的高度信息全部与搜索框相匹配,则确定该截屏子图像的图像轮廓的样式信息均与搜索框的样式信息相匹配。

基尼系数表征图像区域的灰度分布均衡程度。通常,基尼系数的数值越大,代表图像的直方图分布越不均衡,对应的图像区域的灰度分布越单一。根据搜索框的图像区域的灰度分布来确定基尼系数阈值,比如,该基尼系数阈值可为0.8。也即,若截屏子图像的直方图的基尼系数大于0.8,则确定该截屏子图像的直方图分布集中在少数的窄小灰度区域内,直方图分布不均衡,对应的图像的灰度分布相对而言较为单一,与搜索框的图像灰度分布情况相一致,则该截屏子图像的直方图的基尼系数与搜索框的基尼系数相匹配。反之,两者不匹配。

在实际应用中,可对每个截屏子图像的属性信息与搜索框的属性信息进行逐一对应匹配。若确定任一信息不匹配,则判断两者不匹配,无需再继续比对其它信息。

S307:根据判断结果,对所述第一截屏子图像集合进行筛选处理,得到与搜索框的属性信息相匹配的多个目标截屏子图像。

具体的,在截屏子图像集合中,筛选出判断结果为两者相匹配对应的多个截屏子图像,作为与搜索框的属性信息相匹配的多个目标截屏子图像。

在一可选实施例中,如图4所示,所述根据判断结果,对所述第一截屏子图像集合进行筛选处理,得到与搜索框的属性信息相匹配的多个目标截屏子图像包括:

S401:根据判断结果,对所述第一截屏子图像集合进行初级筛选处理,得到与搜索框的属性信息相匹配的初筛截屏子图像。

在第一截屏子图像集合中,筛选出判断结果为两者相匹配对应的多个截屏子图像,作为与搜索框的属性信息相匹配的初筛截屏子图像。所述初筛截屏子图像的数量可为多个。

S403:计算任意两个初筛截屏子图像对应的轮廓之间的重叠度。

重叠度表征图像之间的重叠程度。这里的重叠度可以通过计算任意两个初筛截屏子图像对应的轮廓之间的IOU值来确定。具体的,可以计算任意两个初筛截屏子图像对应的轮廓的最小外接矩形之间的IOU值。

S405:从所述初筛截屏子图像中筛选出全部的重叠度大于第一预设阈值所对应的初筛截屏子图像并分别进行图像合并处理,得到合并后的截屏子图像。

若确定两个初筛截屏子图像的重叠度大于第一预设阈值,则说明这两个初筛截屏子图像的重叠程度较高,应第两者进行图像合并处理,得到合并后的截屏子图像。具体的,图像合并处理可以为:选取较大轮廓的初筛截屏子图像、选取较小轮廓的初筛截屏子图像,或者选择两个初筛截屏子图像的交集。若第一预设阈值为预设IOU阈值,则该预设IOU阈值可以设置为0.4~0.7中任意值,比如0.5。

S407:根据所述合并后的截屏子图像和剩余的初筛截屏子图像,得到与搜索框的属性信息相匹配的多个目标截屏子图像。

具体的,将合并后的截屏子图像和剩余的初筛截屏子图像,一起作为与搜索框的属性信息相匹配的多个目标截屏子图像。

通过确定初筛截屏子图像的图像之间的重叠度,并对重叠图像进行合并操作,从而可解决轮廓提取算法的局限性,也减少了图像区域中因存在内外轮廓所带来的目标截屏子图像的数量增多的问题,减少后续定位搜索框的计算量。

在一可选实施例中,如图5和6所示,所述根据所述合并后的截屏子图像和剩余的初筛截屏子图像,得到与搜索框的属性信息相匹配的多个目标截屏子图像包括:

S501:根据合并后的截屏子图像和剩余的初筛截屏子图像,得到第二截屏子图像集。

S503:根据图像的轮廓尺寸信息,对所述第二截屏子图像集合中每个截屏子图像进行聚类,得到至少一个聚类组。

具体的,计算第二截屏子图像集合中任意两个待确定的截屏子图像对应的轮廓尺寸之间的像素差值。将所计算的像素差值小于等于预设像素差阈值所对应的各截屏子图像进行聚类,得到至少一个聚类组。该预设像素差阈值可设置为1~5像素中任意值,比如4像素。

轮廓尺寸信息可包括宽度尺寸信息和/或高度尺寸信息。在一优选选实施例中,该轮廓尺寸包括宽度尺寸信息和高度尺寸信息。在此情况下,可以分别计算第二截屏子图像集合中多个截屏子图像对应的宽度尺寸之间的像素差值,作为第一像素差值;以及计算它们宽度尺寸之间的像素差值,作为第二像素差值。分别比较第一像素差值和预设像素差阈值的大小,以及第二像素差值和预设像素差阈值的大小。若比较两个像素差值均小于等于第二预设阈值,则确定对应的若干截屏子图像为重复模式的图像,并聚集在同一聚类组中。

S505:确定聚类组中截屏子图像的数量大于第二预设阈值所对应聚类组,作为目标聚类组。

第二预设阈值的取值可为3~5中任一整数。示例的,若第二预设阈值取值为3,若聚类组中的截屏子图像的数量大于3,则说明聚类组中存在较多的重复模式的图像,这些图像对应的候选区域为搜索框的可能性较低。

S507:从所述第二截屏子图像集合中剔除属于所述目标聚类组中的各截屏子图像,得到与搜索框的属性信息相匹配的多个目标截屏子图像。

通过剔除属于重复模式的待确定的截屏子图像,从而减少了目标截屏子图像的数量,有利于提高后续的定位搜索框的定位效率,减少数据采集耗时。

S205:确定所得到的目标截屏子图像在所述目标页面对应的区域为搜索框候选区域。

根据截屏图像与目标页面的对应关系,以及目标截屏子图像在截屏图像中的位置区域,确定目标截屏子图像在所述目标页面对应的区域为搜索框候选区域。

S105:加载模拟操作进程,对每个搜索框候选区域进行模拟操作。

在一可选实施例中,模拟操作进程可以由操作系统预先创建,在确定了搜索框候选区域后,加载预先创建的模拟操作进程,通过程序模拟用户对页面的操作行为,即对每个搜索框候选区域进行模拟操作。以浏览器为例,通过程序以无头模式(headless)调用浏览器,打开网页,然后利用程序即可模拟人机交互操作。

模拟操作表征用户在进行页面搜索过程中所执行的相关操作。相关操作包括但不限于为点击操作、输入操作、回车操作、空格操作等中至少一种操作。

仅作为示例,模拟操作可包括点击操作、输入操作和回车操作。

具体的,以点击操作为例,通过程序模拟用户对搜索框候选区域中目标位置的点击操作,并判断目标页面的页面地址是否发生变化。若判断发生变化,则可排除对应的搜索框候选区域。该点击操作可通过移动鼠标并单击鼠标左键来实现,还可为模拟用户触摸操作来实现,还可为能够实现点击操作的其它外设设备或方式来实现。该目标位置包括但不限于为区域的中心位置。

以输入操作为例,通过程序模拟用户对搜索框候选区域中目标位置的输入操作,之后对执行了输入操作的搜索框候选区域或目标页面进行截图,识别截图中是否存在输入内容信息。若未识别到输入内存信息,则说明该搜索框候选区域无法执行输入操作,即可排除对应的搜索框候选区域。输入操作为字符串输入操作,字符串包括但不限于为文字、字母、符号、数字等中至少一种。在输入字符串之前,可以先检测该搜索框候选区域或目标页面中是否存在相同的字符串,若存在,则在搜索框候选区域中模拟输入下一个或下一组字符串,直至不存在相同的字符串为止。该目标位置包括但不限于为区域的中心位置。示例的,可以采用OCR识别技术进行输入内容信息的识别。

以回车操作为例,可以在上述输入操作的基础上,模拟键盘的回车键,对搜索框候选区域进行回车操作,判断目标页面是否发生页面跳转。若判断未发生页面跳转,则说明该搜索框候选区域并非搜索框,而是比如登录账号、密码的可输入控件,即可排除对应的搜索框候选区域。

需要说明的是,在实际应用中,可以按点击操作、输入操作和回车操作的顺序进行,且执行下一个模拟操作时,不执行经上一个模拟操作被排除的搜索框候选区域。

S107:基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域。

模拟操作的结果包括进行点击操作后是否发生页面跳转、是否能执行输入操作、进行回车操作后页面是否跳转。具体的,如图7所示,所述基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域包括:

1)确定对搜索框候选区域进行点击操作后不发生页面跳转所对应的搜索框候选区域,作为第一搜索框候选区域;

2)确定无法执行输入操作所对应的搜索框候选区域,作为第二搜索框候选区域;

3)确定对搜索框候选区域进行回车操作后页面不跳转所对应的搜索框候选区域,作为第三搜索框候选区域;

4)从所述多个搜索框候选区域中去除所述第一搜索框候选区域、第二搜索框候选区域和第三搜索框候选区域,得到目标搜索框区域。

S109:基于所述目标搜索框区域,定位搜索框在所述目标页面中的位置。

具体的,基于目标搜索框区域的中心位置信息和尺寸大小信息,确定搜索框在所述目标页面中中心位置信息和尺寸大小信息,从而实现搜索框的位置定位。

在实际应用中,为了检测本申请的搜索框定位方法的效果,我们做了相关测试,测试结果为:测试478个网站,检测出搜索框448个,未检出搜索框30个,搜索框召回率93.7%,检出结果的准确率100%。

本申请实施例通过获取目标页面的截屏图像,所述目标页面为待数据采集的页面;利用所述截屏图像,在所述目标页面中确定与搜索框的属性信息相匹配的多个搜索框候选区域;加载模拟操作进程,对每个搜索框候选区域进行模拟操作;基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域;根据所述目标搜索框区域,定位搜索框在所述目标页面中的位置。从而实现了自动检测任何类型的页面的搜索框,并确定搜索框的定位信息,全程无需人工参与,具有高定位准确率和高召回率。无需预先建立大量的针对不同类型页面的页面模板库,无需提取搜索框的元素信息(id、name、class name等),可大大降低被反爬虫的风险。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图8,其示出了本申请实施例提供的一种搜索框定位装置的结构框图。该装置具有实现上述方法示例中服务器侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。所述装置80可以包括:

截图获取模块801,用于获取目标页面的截屏图像;

候选区域确定模块802,用于利用所述截屏图像,在所述目标页面中确定与搜索框的属性信息相匹配的多个搜索框候选区域;

模拟操作模块803,用于加载模拟操作进程,对每个搜索框候选区域进行模拟操作;

目标区域确定模块804,用于基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域;

定位模块805,用于根据所述目标搜索框区域,定位搜索框在所述目标页面中的位置。

在一些实施例,所述候选区域确定模块802包括:

轮廓提取子模块,用于对所述截屏图像中的页面元素进行轮廓提取处理,得到第一截屏子图像集合;

筛选子模块,用于对所述第一截屏子图像集合进行筛选处理,得到与搜索框的属性信息相匹配的多个目标截屏子图像;

确定子模块,用于确定所得到的目标截屏子图像在所述目标页面对应的区域为搜索框候选区域。

在一些实施例,所述筛选子模块包括:

第一获取单元,用于获取搜索框的属性信息;

第二获取单元,用于获取所述第一截屏子图像集合中每个截屏子图像的属性信息;

判断单元,用于判断每个截屏子图像的属性信息与搜索框的属性信息是否匹配;

筛选单元,用于根据判断结果,对所述第一截屏子图像集合进行筛选处理,得到与搜索框的属性信息相匹配的多个目标截屏子图像;

其中,所述截屏子图像的属性信息包括以下至少一种:图像轮廓的样式信息和图像的基尼系数。

在一些实施例,所述筛选单元包括:

初级筛选单元,用于根据判断结果,对所述第一截屏子图像集合进行初级筛选处理,得到与搜索框的属性信息相匹配的初筛截屏子图像;

重叠度计算单元,用于计算任意两个初筛截屏子图像对应的轮廓之间的重叠度;

图像合并单元,用于从所述初筛截屏子图像中筛选出全部的重叠度大于第一预设阈值所对应的初筛截屏子图像并分别进行图像合并处理,得到合并后的截屏子图像;

目标子图像确定单元,用于根据所述合并后的截屏子图像和剩余的初筛截屏子图像,得到与搜索框的属性信息相匹配的多个目标截屏子图像。

在一些实施例,目标子图像确定单元包括:

第一确定子单元,用于根据合并后的截屏子图像和剩余的初筛截屏子图像,得到第二截屏子图像集合;

聚类子单元,用于根据图像的轮廓尺寸信息,对所述第二截屏子图像集合中每个截屏子图像进行聚类,得到至少一个聚类组;

目标聚类组确定单元,用于确定聚类组中截屏子图像的数量大于第二预设阈值所对应聚类组,作为目标聚类组;

第二确定子单元,用于从所述第二截屏子图像集合中剔除属于所述目标聚类组中的各截屏子图像,得到与搜索框的属性信息相匹配的多个目标截屏子图像。

在一些实施例,所述模拟操作表征用户在进行页面搜索过程中所执行的相关操作,所述模拟操作包括点击操作、输入操作和回车操作。

在一些实施例,所述目标区域确定模块804包括:

第一候选区域确定单元,用于确定对搜索框候选区域进行点击操作后页面跳转所对应的搜索框候选区域,作为第一搜索框候选区域;

第二候选区域确定单元,用于确定无法执行输入操作所对应的搜索框候选区域,作为第二搜索框候选区域

第三候选区域确定单元,用于确定对搜索框候选区域进行回车操作后页面不跳转所对应的搜索框候选区域,作为第三搜索框候选区域;

目标候选区域确定单元,用于从所述多个搜索框候选区域中筛除所述第一搜索框候选区域、第二搜索框候选区域和第三搜索框候选区域,得到目标搜索框区域。

本申请实施例提供了一种搜索框定位设备,该设备可以包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的搜索框定位方法。

本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行上述任一所述的搜索框定位方法。

以下介绍本申请一种数据采集方法的具体实施例,图9是本申请实施例提供的一种数据采集方法的流程示意图,本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。如图9所示,该方法的执行主体可以为服务器或终端,该方法可以包括:

S901:获取目标页面和待采集信息。

所述目标页面为待数据采集的页面;目标页面可以为基于浏览器的网页,或者运行在终端的应用程序上的非web页面。该终端包括但不限于为:智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备中至少一种。

待采集信息可为待采集或待爬取的对象内容。示例的,待采集信息可以包括视频、音乐、书籍等对象的名称、作者等。

S903:确定搜索框在所述目标页面中的位置。

在本实施例中,所述确定搜索框在所述目标页面中的位置包括:

获取目标页面的截屏图像,所述目标页面为待数据采集的页面;

利用所述截屏图像,在所述目标页面中确定与搜索框的属性信息相匹配的多个搜索框候选区域;

加载模拟操作进程,对每个搜索框候选区域进行模拟操作;

基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域;

根据所述目标搜索框区域,定位搜索框在所述目标页面中的位置。

需要说明的是,对于步骤S903未披露的细节和有益效果,请参照上述实施例,在此不再赘述。

S905:基于所确定的搜索框在所述目标页面中的位置,将所述待采集信息填充至所述搜索框并进行数据采集。

在确定了搜索框在目标页面中的位置,可以建立对待采集信息的数据采集请求,将待采集信息填充至搜索框对应位置中,并进行数据采集或爬取。

本申请可适用于需要向搜索框输入关键字搜索相关内容后,再进行数据爬虫的业务场景,例如打击盗版资源业务场景等。该资源包括但不限于为视频资源、音乐资源、书籍资源或其他版权资源。以打击盗版视频的业务场景为例,通过对盗版视频进行爬取,需要在盗版小网站中搜索影剧的名字,使网页跳转至对应影剧的界面才能顺利开始对盗版视频数据的爬虫或采集。

本申请实施例,实现了自动检测任何类型的页面的搜索框,并确定搜索框的定位信息,根据搜索框的定位信息实现了自动数据采集,全程无需人工参与,具有高定位准确率和高召回率。根据无需预先建立大量的针对不同类型页面的页面模板库来定位搜索框,无需提取搜索框的元素信息(id、name、class name等),可大大降低被反爬虫的风险。

请参考图10,其示出了本申请实施例提供的一种数据采集装置的结构框图。该装置具有实现上述方法示例中服务器侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。所述装置10可以包括:

第一获取模块1001,用于获取目标页面和待采集信息,所述目标页面为待数据采集的页面;

搜索框定位模块1002,用于确定搜索框在所述目标页面中的位置;

数据采集模块1003,用于基于所确定的搜索框在所述目标页面中的位置,将所述待采集信息填充至所述搜索框并进行数据采集;

其中,所述搜索框定位模块1002具体用于:

获取目标页面的截屏图像,所述目标页面为待数据采集的页面;

利用所述截屏图像,在所述目标页面中确定与搜索框的属性信息相匹配的多个搜索框候选区域;

加载模拟操作进程,对每个搜索框候选区域进行模拟操作;

基于模拟操作的结果,从所述多个搜索框候选区域中确定目标搜索框区域;

根据所述目标搜索框区域,定位搜索框在所述目标页面中的位置。

需要说明的是,上述装置中未披露的细节,请参照上述本申请方法和装置实施例,在此不再赘述。

本申请实施例提供了一种数据采集方法设备,该设备可以包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的数据采集方法方法。

本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行上述任一所述的数据采集方法。

进一步地,图11示出了一种用于实现本申请实施例所提供的方法的设备的硬件结构示意图,所述设备可以为计算机终端、移动终端或其它设备,所述设备还可以参与构成或包含本申请实施例所提供的装置。如图11所示,计算机终端11可以包括一个或多个(图中采用112a、112b,……,112n来示出)处理器112(处理器112可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器114、以及用于通信功能的传输装置116。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端11还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。

应当注意到的是上述一个或多个处理器112和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端11(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。

存储器114可用于存储应用软件的软件程序以及模块,如本申请实施例中所述的方法对应的程序指令/数据存储装置,处理器112通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种神经网络处理方法。存储器114可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器114可进一步包括相对于处理器112远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端11。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置116用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端11的通信供应商提供的无线网络。在一个实例中,传输装置116包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置116可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端11(或移动设备)的用户界面进行交互。

需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种搜索框定位方法、数据采集方法、装置及介质
  • 音响信号检测系统、音响信号检测服务器、影像信号搜索装置、影像信号搜索方法、影像信号搜索程序与记录介质、信号搜索装置、信号搜索方法、及信号搜索程序与记录介质
技术分类

06120112941992