CN111488544A - 网页相似子元素的确定方法、装置、设备和存储介质 - Google Patents
网页相似子元素的确定方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111488544A CN111488544A CN202010242914.4A CN202010242914A CN111488544A CN 111488544 A CN111488544 A CN 111488544A CN 202010242914 A CN202010242914 A CN 202010242914A CN 111488544 A CN111488544 A CN 111488544A
- Authority
- CN
- China
- Prior art keywords
- sub
- selection
- elements
- path
- target
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种网页相似子元素的确定方法、装置、设备和存储介质。所述方法包括:在接收到针对目标网页的子元素选择指令时,从目标网页的网页元素中确定对应的选择元素,并从选择元素所包含的子元素中确定与子元素选择指令对应的选择子元素;获取对象元素所包含的对象子元素,对象元素为目标网页中与选择元素相关联的网页元素;确定选择子元素在文档对象模型树中相对于其祖先元素的选择路径;选择路径的路径节点对应有选择标签;根据选择路径逐层从对象子元素中确定与选择标签相匹配的子元素,得到候选子元素;根据候选子元素得到选择子元素的目标相似子元素。根据本申请的上述方案所确定的目标相似子元素具有较高的稳定性。
Description
技术领域
本申请涉及网络爬虫技术领域,特别是涉及一种网页相似子元素的确定方法、装置、计算机设备和存储介质。
背景技术
随着网络技术的发展,网络上的数据量急剧增加,同时大数据处理需求的不断增强,因此,网络爬虫技术显得越来越重要。其中,网络爬虫(又称为网页蜘蛛,网络机器人)按照一定的规则自动地抓取万维网信息的程序或者脚本,能够根据用户的需求获取特定网页上的特定元素信息。
传统方法通过逐层进行元素查找的方式确定最终的目标元素,实际上,在某些情况下,需要查找与用户选择的子元素相对应的相似子元素。发明人发现可以对传统确定目标元素的方法经过一定的调整用于确定目标子元素。但是,传统方法得到的目标元素所包含的信息过多,会导致结果不够稳定,例如:在网页发生变化时所确定的目标元素就会失效。因此,通过传统方法并不能确定出稳定的相似子元素。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
基于此,有必要针对上述技术问题,提供一种能够确定出稳定的相似子元素的网页相似子元素的确定方法、装置、计算机设备和存储介质。
在一个实施例中,提供一种网页相似子元素的确定方法,所述方法包括:在接收到针对目标网页的子元素选择指令时,从所述目标网页的网页元素中确定对应的选择元素,并从所述选择元素所包含的子元素中确定与所述子元素选择指令对应的选择子元素;获取对象元素所包含的子元素,作为对象子元素,所述对象元素为所述目标网页中与所述选择元素相关联的网页元素;确定所述选择子元素在文档对象模型树中相对于第一祖先元素的路径,得到选择路径;所述选择路径的路径节点对应有选择标签;所述第一祖先元素为所述选择子元素在所述对象元素中对应的上级元素;根据所述选择路径逐层从所述对象子元素中确定与所述选择标签相匹配的子元素,得到候选子元素;根据所述候选子元素得到所述选择子元素的目标相似子元素。
在一个实施例中,提供一种网页相似子元素的确定装置,所述装置包括:选择元素获取模块,用于在接收到针对目标网页的子元素选择指令时,从所述目标网页的网页元素中确定对应的选择元素,并从所述选择元素所包含的子元素中确定与所述子元素选择指令对应的选择子元素;对象元素获取模块,用于获取对象元素所包含的子元素,作为对象子元素,所述对象元素为所述目标网页中与所述选择元素相关联的网页元素;选择路径确定模块,用于确定所述选择子元素在文档对象模型树中相对于第一祖先元素的路径,得到选择路径;所述选择路径的路径节点对应有选择标签;所述第一祖先元素为所述选择子元素在所述对象元素中对应的上级元素;候选子元素确定模块,用于根据所述选择路径逐层从所述对象子元素中确定与所述选择标签相匹配的子元素,得到候选子元素;相似子元素确定模块,用于根据所述候选子元素得到所述选择子元素的目标相似子元素。
在一个实施例中,所述相似子元素确定模块,包括:拒绝元素获取子模块,用于在接收到针对目标网页的子元素拒绝指令时,从所述目标网页的网页元素中确定对应的拒绝元素,并从所述拒绝元素所包含的子元素中确定与所述子元素拒绝指令对应的拒绝子元素;选择路径确定子模块,用于确定所述拒绝子元素在文档对象模型树中相对于第二祖先元素的路径,得到拒绝路径;所述拒绝路径各个层的路径节点对应有拒绝标签;所述第二祖先元素为所述拒绝子元素在所述对象元素中对应的上级元素;相似子元素确定子模块,用于根据所述拒绝路径从所述候选子元素中逐层去除拒绝子元素,得到所述目标相似子元素。
在一个实施例中,所述相似子元素确定子模块,包括:选择路径分组单元,用于根据所述选择标签对所述选择路径进行分组,得到至少一个选择分组路径;同一所述选择分组路径中包含有相同的选择标签;组选择子元素确定单元,用于从所述对象子元素中分别确定与各个选择分组路径的选择标签相匹配的子元素,得到各个选择分组路径对应的组选择子元素;拒绝路径分组单元,用于按照所述选择分组路径中的选择标签对拒绝路径进行分组,得到至少一个拒绝分组路径;所述拒绝分组路径与所述选择分组路径中的路径节点对应一致;组拒绝子元素确定单元,用于从所述对象子元素中分别确定与各个拒绝分组路径的拒绝标签相匹配的子元素,得到各个拒绝分组路径对应的组拒绝子元素;相似子元素确定单元,用于从所述候选子元素的各个组选择子元素中逐层去除对应拒绝分组路径的组拒绝子元素,得到所述目标相似子元素。
在一个实施例中,相似子元素确定单元,包括:路径选择子元素确定子单元,用于根据目标选择路径中的节点选择子元素得到所述目标选择路径的路径选择子元素;所述目标选择路径为目标选择分组路径中的路径,所述目标选择分组路径为所述至少一个选择分组路径中的分组路径,所述节点选择子元素为所述目标选择路径中各个路径节点对应的对象子元素;路径拒绝子元素确定子单元,用于根据目标拒绝路径中的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素;所述目标拒绝路径为目标拒绝分组路径中的路径且与所述目标选择路径对应,所述目标拒绝分组路径为所述至少一个拒绝分组路径中的分组路径,所述节点拒绝子元素为所述目标拒绝路径中各个路径节点对应的对象子元素;目标相似子元素确定子单元,用于从所述候选子元素的各个路径选择子元素中去除对应拒绝路径的路径拒绝子元素,得到所述目标相似子元素。
在一个实施例中,路径选择子元素确定子单元,包括:选择标签确定块,用于确定所述目标选择路径中第一目标选择节点对应的所述选择标签,得到目标选择标签;所述第一目标选择节点逐层从所述目标选择路径的路径节点中选择得到;节点选择子元素确定块,用于从所述对象子元素中确定与所述目标选择标签相匹配的子元素,得到所述第一目标选择节点的节点选择子元素;第一路径选择子元素确定块,用于根据所述目标选择路径中各个路径节点的节点选择子元素得到所述目标选择路径的路径选择子元素。
在一个实施例中,路径拒绝子元素确定子单元,包括:拒绝标签确定块,用于根据所述目标拒绝路径中目标拒绝节点对应的所述拒绝标签,得到目标拒绝标签;所述目标拒绝节点从所述目标拒绝路径的路径节点中选择得到且与所述目标选择节点对应;节点拒绝子元素确定块,用于从所述对象子元素中确定与所述目标拒绝标签相匹配的子元素,得到所述目标拒绝节点对应的节点拒绝子元素;路径拒绝子元素确定块,用于根据所述目标拒绝路径中各个路径节点的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素。
在一个实施例中,若需要查找单相似子元素,路径选择子元素确定子单元,包括:候选标签确定块,用于将所述目标选择标签与第二目标选择节点的标签进行拼接,得到候选标签;所述第二目标选择节点为所述第一目标选择节点的祖先节点;所述第二目标选择节点的标签为所述第一目标选择节点的节点选择子元素所对应的选择标签;标签确定块,用于若所述候选标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素存在交集,且每个选择元素都有至少一个对象子元素与所述第一目标选择节点的节点选择子元素存在交集,则将所述候选标签添加至第一标签集合中;第二路径选择子元素确定块,用于若所述第一标签集合中标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素的交集最小,则将所述第一标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
在一个实施例中,第二路径选择子元素确定块,包括:祖先标签丢弃子块,用于丢弃所述第一标签集合中设定数量的祖先标签,得到第二标签集合;路径选择子元素确定子块,用于若所述第二标签集合以及所述第一标签集合匹配到的对象子元素相同,则将所述第二标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
在一个实施例中,若需要查找多相似子元素,路径选择子元素确定子单元,还用于若所述候选标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素存在交集,且每个选择元素都有至少一个对象子元素与所述第一目标选择节点的节点选择子元素存在交集,则将所述候选标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
在一个实施例中,还包括:共性特征确定模块,用于在接收到针对目标网页的元素选择指令时,若确定所述元素选择指令对应有至少两个相互关联的网页元素,确定所述至少两个相互关联的网页元素的共性特征;对象元素确定模块,用于从所述目标网页中确定与所述共性特征相匹配的网页元素,作为所述对象元素。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:在接收到针对目标网页的子元素选择指令时,从所述目标网页的网页元素中确定对应的选择元素,并从所述选择元素所包含的子元素中确定与所述子元素选择指令对应的选择子元素;获取对象元素所包含的子元素,作为对象子元素,所述对象元素为所述目标网页中与所述选择元素相关联的网页元素;确定所述选择子元素在文档对象模型树中相对于第一祖先元素的路径,得到选择路径;所述选择路径的路径节点对应有选择标签;所述第一祖先元素为所述选择子元素在所述对象元素中对应的上级元素;根据所述选择路径逐层从所述对象子元素中确定与所述选择标签相匹配的子元素,得到候选子元素;根据所述候选子元素得到所述选择子元素的目标相似子元素。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:在接收到针对目标网页的子元素选择指令时,从所述目标网页的网页元素中确定对应的选择元素,并从所述选择元素所包含的子元素中确定与所述子元素选择指令对应的选择子元素;获取对象元素所包含的子元素,作为对象子元素,所述对象元素为所述目标网页中与所述选择元素相关联的网页元素;确定所述选择子元素在文档对象模型树中相对于第一祖先元素的路径,得到选择路径;所述选择路径的路径节点对应有选择标签;所述第一祖先元素为所述选择子元素在所述对象元素中对应的上级元素;根据所述选择路径逐层从所述对象子元素中确定与所述选择标签相匹配的子元素,得到候选子元素;根据所述候选子元素得到所述选择子元素的目标相似子元素。
上述网页相似子元素的确定方法、装置、计算机设备和存储介质,根据子元素选择指令确定对应的选择子元素;获取对象元素所包含的对象子元素,该对象元素为目标网页中与选择元素相关联的网页元素,因此对象子元素中包含有选择子元素尽可多的相似子元素;确定选择子元素在文档对象模型树中相对于第一祖先元素的选择路径;根据选择路径逐层从对象子元素中确定与选择标签相匹配的候选子元素,该候选子元素从对象子元素中获取得到且是根据文档对象模型树的路径逐层确定得到的,具有较高的稳定性,进而使得目标相似子元素在网页发生变化时具有较高的稳定性。
附图说明
图1为一个实施例中网页相似子元素的确定方法的流程示意图;
图2为一个实施例中选择子元素和拒绝子元素的界面示意图;
图3为一个实施例中dom树结构示意图;
图4为一个实施例中确定选择分组路径的流程示意图;
图5为另一个实施例中dom树结构示意图;
图6为一个实施例中单相似子元素的界面显示示意图;
图7为一个实施例中多相似子元素的界面显示示意图;
图8为一个实施例中确定组选择子元素的过程示意图;
图9为一个实施例中网页相似子元素的确定装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种网页相似子元素的确定方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,该终端设备中可以配置有浏览器,该浏览器可以为IE、Firefox、Chrome、Safari、Opera等浏览器,本发明实施例提供的网页相似子元素的确定方法可以具体通过终端上的浏览器实现。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本实施例中,该方法包括以下步骤:
S101,在接收到针对目标网页的子元素选择指令时,从所述目标网页的网页元素中确定对应的选择元素,并从所述选择元素所包含的子元素中确定与所述子元素选择指令对应的选择子元素。
其中,目标网页可以指终端显示屏中当前显示的网页,或者用户当前选中的网页。网页元素指的是构成目标网页中网页信息的元素,可以包括:文字、图片、音频、动画、视频、链接等,具体可以指网页中的条目,例如:百度界面中显示的检索条目。另外,网页元素中可以包括更为具体的元素,这些元素可以称为子元素。
元素(或者子元素)被选中(选择过程可以是用户选择也可以终端通过算法自动选择)后即可以在终端生成子元素选择指令,终端根据该子元素选择指令确定对应的选择元素和选择子元素。在具体的应用场景中,终端界面显示出各个网页元素,用户可以通过点击、方框选中等方式选出自己需要据此进行相似元素查找的网页元素(选择元素)。进一步地,还可以是直接选中某个网页元素中的子元素,在相似子元素分析中,与子元素选择指令对应的子元素即为选择子元素,用于类推出目标相似子元素,即,终端可以基于所选中的选择子元素通过特定的算法确定出选择子元素的相似元素,得到目标相似子元素。
具体的,在进行网络爬虫查找时,可以从网页元素中选择一些想要的元素(即选择元素),终端通过该选择元素查找到相似元素,例如,用户在网页界面上框选了某个游戏,终端查找出相似的游戏。进一步的,有时候可能需要查找更细化的信息,该信息可以是网页元素的子元素,例如:用户可能会想要先提取游戏在列表页中的具体信息,比如名称、图片、评分(选择子元素),在这种情况下对于每一个游戏,每个游戏中包含的子元素数量可能较多,如果逐个点击则花费的时间会非常多。因此,本发明实施例根据选择子元素来确定其相似子元素,能有效减少用户选择的时间,提高子元素查找的效率。
进一步地,选择元素组合在一起可以得到选择元素集合accept,在需要确定选择子元素时,可以从选择元素集合中确定对应的选择元素,进而确定对应的选择子元素。以下对选择元素集合、选择元素、选择子元素进行说明:如图2所示的界面上显示有5个游戏的条目,每个条目对应有游戏名、简介、图片以及指数,该条目即可以理解为网页元素,如图2所示,用户框选了游戏1和3,则所选择的这两个条目即为选择元素201(图2中用大的实线框表示选择元素的框选),它们构成选择元素集合,另外,用户在游戏1中还具体选择了“评分”,在游戏3中还具体选择了“图片”,所选择的“评分”、“图片”即为选择子元素202(图2中用小的实线框表示选择子元素的框选)。在某些情况下,也可以直接进行选择子元素的选择,以图2为例,用户可以直接选择游戏1中“评分”,用户完成选择后,终端会接收到带有子元素标识的子元素选择指令,根据该子元素标识可以从选择元素集合中确定出用户当前选中的是游戏1,进而确定其选中的是游戏1中的“评分”。
需要说明的是,各个选择元素可以都对应有选择子元素,在某些情况下,部分选择元素也可以没有对应的选择子元素,在另一些情况下,部分选择子元素所对应的选择子元素还可以为两个甚至两个以上。进一步的,如果要进行单相似子元素的查找(以图2为例,一个游戏中仅匹配一个子元素),对于对应有多个选择子元素的选择元素,可以从这些选择子元素中选择一个子元素,作为该选择元素唯一的选择子元素。其中,单相似子元素查找指的是:根据用户给出的选择元素和拒绝元素,算法在对象循环的每个对象中至多只寻找一个相似子元素,经过单相似子元素查找能查找出与用户所选择的子元素最为匹配的唯一一个相似子元素,减少用户后续对子元素进行分析处理的过程。
S102,获取对象元素所包含的子元素,作为对象子元素,所述对象元素为所述目标网页中与所述选择元素相关联的网页元素。
其中,相关联可以指两个对象之间存在一定的联系,可以是网页元素的相似性满足设定的条件、处于同一网页等。具体的,对象元素可以为目标网页中除去选择元素的网页元素,在某些情况下,对象元素也可以包括选择元素本身;另外,对象元素也可以为同一网页(或者相似网页)中与选择元素在类型上相似的元素或者包含有共性特征,例如,假设图2中游戏1和游戏3均为益智游戏,则对象元素可以为同一网页中的其他益智游戏。
进一步的,对象子元素可以为对象元素的所有或者部分子元素,更进一步的,在对象元素为两个或多个时,这里的对象子元素可以是全部对象元素所包含的子元素,也可以是其中部分对象元素所包含的子元素。
S103,确定所述选择子元素在文档对象模型树中相对于第一祖先元素的路径,得到选择路径;所述选择路径的路径节点对应有选择标签;所述第一祖先元素为所述选择子元素在所述对象元素中对应的上级元素。
其中,标签(tag)指的是网页中各个网页元素的标识。进一步地,在HTML(超文本标记语言)中,标签可以包括标题标签(Title Tag)、描述标签(Description Tag)、关键词标签(Keywords Tag)等等,进一步地,标签可以包括p、div、i、img、h1、span等,这些标签与网页元素存在对应关系,即每一个网页元素(包括子元素)都会有对应的标签。更进一步地,选择标签为选择路径的路径节点对应的标签。
文档对象模型树为dom(Document Object Model)树,该dom树中包含有元素和元素之间的层级结构,在该层级结构中可以包含有子元素、父元素以及祖先元素,父元素为子元素上一级的元素,祖先元素为子元素上面各个级别的元素,可以包括其上一级元素、上两级元素……等等(可以直接溯及到第一个元素,即根元素)。因此,祖先元素可以包括父元素。图3示出了一个简单的dom树,该dom树中包含有多个相互连接的元素:div、span、p.a、p.b.c、p.c,其中,从上往下看,span为div的子元素,p.a、p.b.c和p.c为span的子元素;从下往上看,span为p.a、p.b.c和p.c的父元素,div为span的父元素,同时,span和div均为p.a、p.b.c和p.c的祖先元素。第一祖先元素为选择子元素在对象元素中对应的上级元素,进一步地,选择路径为选择子元素在对象元素中对应的祖先元素到该选择子元素的路径。
对选择路径举例如下:假设某一选择子元素为p.a,如果第一祖先元素为span,则选择路径为:span>p.a,如果第一祖先元素为div和span(div>span),则选择路径为:div>span>p.a(也可以表示为div p.a),其中,“>”表示父子关系,空格表示祖先孙子关系。更进一步地,确定选择路径的过程可以为:将对象元素组合在一起的集合记为对象元素集合parent,对每一个选择子元素Ai在parent中寻找祖先元素Par a,并获得Par a到Ai的dom树路径PAi,即得到选择路径。
需要说明的是,选择元素和对象元素均是目标网页中的网页元素(即它们对应的内容是相似的,所对应的路径节点也相似),对象元素比选择元素的范围更广,这里祖先元素从对象元素中选择得到,能保证从更广的范围内进行相似子元素的查找,使得最终确定目标相似子元素更为准确。
S104,根据所述选择路径逐层从所述对象子元素中确定与所述选择标签相匹配的子元素,得到候选子元素。
选择路径中包含有路径节点,以div>span>p.a这一路径为例,该路径中包含有div、span以及p.a这三个路径节点,每一个路径节点可以理解为选择路径中的一层路径节点,具体的,div为第一层路径节点,span为第二层路径节点(div的下一层路径节点),p.a为第三层路径节点。
如前面对标签的解释,选择标签与子元素之间是相互对应的,即存在对应关系,本步骤根据该对应关系就可以确定出与选择标签相对应的子元素,也即与选择标签相匹配的子元素,得到候选子元素。
S105,根据所述候选子元素得到所述选择子元素的目标相似子元素。
其中,目标相似子元素为最终确定的与选择子元素存在较高相似性的子元素。在某些情况下,候选子元素的数量可能较多,从候选子元素中确定出与选择子元素更为相似的子元素,或者去除不相似的子元素,就可以得到目标相似子元素。当然,如果候选子元素只有一个或者数量较少,则可以直接将候选子元素确定为目标相似子元素。
对相似子元素说明如下:在某些情况下,不同元素对应的子元素其实并不在同一个dom节点上(例如,图2中,对于游戏1和游戏3,想要提取的评分信息可能并不在同一个dom节点上),这时如果将提取相似子元素的动作定位于某一个元素其实并没有意义。发明人发现,每个子元素的dom节点相对于其父元素的dom节点位置是固定的,另外,如果终端记录了选择子元素在其选择元素中对应的相对子元素(可以理解为选择元素中的其他子元素,以图3为例,假设选择子元素为p.a,其父元素为span,因此,相对子元素可以为p.b.c和p.c)或者其他元素中的子元素,且保证这些每一个选择元素均由子元素被选择出来,那么终端在复现爬取过程时,就可以对每一个元素都准确地提取出选择子元素的相似子元素。
进一步地,可以将上一层的候选子元素与当前层的候选子元素进行结合,例如选择路径有三层,先确定第一层的候选子元素1,再确定第二层的候选子元素2,将候选子元素1与候选子元素2进行组合得到候选子元素3,确定第三层的候选子元素4,将候选子元素3与候选子元素4进行组合得到候选子元素5,这个候选子元素5就可以作为目标相似子元素。当然,在某些实施例中,也可以不进行层与层之间的组合,例如,这三层的候选子元素分别为:候选子元素1、候选子元素2以及候选子元素4,从这三个候选子元素中确定目标相似子元素。
上述实施例提供的网页相似元素的确定方法,候选子元素从对象子元素中逐层获取得到且是根据文档对象模型树的路径逐层确定的,具有较高的稳定性。另外,在网页发生变化(例如页面布局更新、页面内容调整等)时,网页元素对应的dom树可能会发现变化,而本发明实施例能够更好地适应这种变化,进而使得所确定的目标相似子元素在网页发生变化时具有较高的稳定性。
终端不可能对于任何业务场景,根据一个元素就能完美地提取出所有的相似子元素。一是因为网页类型复杂,二是因为对于同一网页、不同的需求,用户想要获取的相似子元素会有所不同。所以本发明实施例中的终端在同类元素查找时一样,能够实现灵活选取的功能。用户可以在目标网页的网页元素中不断点选自己想要的元素和子元素,不断反选自己不想要的元素和子元素,去修正终端推算的相似子元素结果。被点选的元素称之为选择元素,被点选的子元素称之为选择子元素,被反选的元素称之为拒绝元素,被反选的子元素称之为拒绝子元素。进一步地,将拒绝元素组合在一起可以得到拒绝元素集合reject,在需要确定拒绝子元素时,可以从拒绝元素集合中确定对应的拒绝元素,进而确定对应的拒绝子元素。具体的,用户可以在界面中触发“选择相似子元素”的控件,进而在目标网页中框选出子元素,此时所框选的子元素即为选择子元素,另外,可以继续触发“调整相似子元素”,进而在目标网页中框选出子元素,此时所框选的子元素即为拒绝子元素。
进一步的,在一个实施例中,所述根据所述候选子元素得到所述选择子元素的目标相似子元素的步骤,包括:在接收到针对目标网页的子元素拒绝指令时,从所述目标网页的网页元素中确定对应的拒绝元素,并从所述拒绝元素所包含的子元素中确定与所述子元素拒绝指令对应的拒绝子元素;确定所述拒绝子元素在文档对象模型树中相对于第二祖先元素的路径,得到拒绝路径;所述拒绝路径各个层的路径节点对应有拒绝标签;所述第二祖先元素为所述拒绝子元素在所述对象元素中对应的上级元素;根据所述拒绝路径从所述候选子元素中逐层去除拒绝子元素,得到所述目标相似子元素。
与选择元素类似,拒绝元素也可以从网页元素中选择得到,进一步地,拒绝子元素可以在接收到子元素拒绝指令时确定,以用户反选为例,用户在目标网页的网页子元素中反选出不需要的子元素,此时终端接收到带有子元素标识的子元素拒绝指令,根据该子元素标识可以获知用户所反选的拒绝元素(元素是子元素的父元素,在确定子元素之前需要先确定父元素,并向下一层确定出子元素),进而确定出对应的拒绝子元素。具体的,图2中通过大的虚线框表示拒绝元素203,在拒绝元素203中选择了“简介”,“简介”即可以理解为拒绝元素203的拒绝子元素204,因此,终端在确定目标相似子元素时需要剔除“简介”这一子元素。
需要说明的是,各个拒绝元素可以都对应有拒绝子元素,在某些情况下,部分拒绝元素也可以没有对应的拒绝子元素,在另一些情况下,部分拒绝子元素所对应的拒绝子元素还可以为两个甚至两个以上个。
本实施例结合拒绝子元素来确定目标相似子元素,不仅能选择出用户想要的子元素,还能去除用户不需要的子元素,有效提高与用户的交互性,同时保证所确定的目标相似子元素的准确性。
在一个实施例中,所述根据所述拒绝路径从所述候选子元素中逐层去除拒绝子元素,得到所述目标相似子元素的步骤,包括:根据所述选择标签对所述选择路径进行分组,得到至少一个选择分组路径;同一所述选择分组路径中包含有相同的选择标签;从所述对象子元素中分别确定与各个选择分组路径的选择标签相匹配的子元素,得到各个选择分组路径对应的组选择子元素;按照所述选择分组路径中的选择标签对拒绝路径进行分组,得到至少一个拒绝分组路径;所述拒绝路径为所述拒绝子元素在文档对象模型树中相对于其祖先元素的路径,所述拒绝路径的路径节点对应有拒绝标签,所述拒绝分组路径与所述选择分组路径中的路径节点对应一致;从所述对象子元素中分别确定与各个拒绝分组路径的拒绝标签相匹配的子元素,得到各个拒绝分组路径对应的组拒绝子元素;从所述候选子元素的各个组选择子元素中逐层去除对应拒绝分组路径的组拒绝子元素,得到所述目标相似子元素。
对选择路径进行分组得到选择分组路径的过程可以为:将选择标签相同的选择路径确定为一个选择分组路径。具体举例如下:将各个选择路径PAi进行排列,排列后整合得到PA,将PA按照路径中节点的tag名称(即标签)序列进行分组,得到至少一个选择分组路径Gi(可以记为g,选择分组路径也可以简称为分组),其中,同一组内所有路径均拥有相同的tag名称序列,所有分组组成集合G。
对拒绝路径进行分组得到拒绝分组路径的过程可以为:对每一个拒绝子元素Ri,在parent中寻找祖先元素Par r,并获得Par r到Ri的dom树路径PRi,即得到拒绝路径,将各个拒绝路径PRi进行排列,排列后整合得到PR,对每个分组Gi,在PR中寻找所有拥有相同tag名称序列(各个tag名称对应有路径节点)的路径,并组成集合R。
根据上述描述,确定集合G以及R的过程可以如图4所示。
进一步的,假设与选择分组路径Gi对应的拒绝分组路径为Ci,则从Gi对应的组选择子元素中去除拒绝分组路径Ci对应的组拒绝子元素后,得到的结果可以记为Si。
进一步地,在各个选择分组路径对应的组选择子元素中去除组拒绝子元素后,可以将这些子元素通过逗号分隔进行结合,即得到目标相似子元素,该目标相似子元素尽可能匹配选择子元素而不匹配拒绝子元素。
上述实施例以路径组为单位确定目标相似子元素,能准确去除某一个路径组中的拒绝子元素,使得所确定的目标相似子元素具有较高的准确性。
进一步地,从候选子元素的各个组选择子元素中去除对应拒绝分组路径的组拒绝子元素得到目标相似子元素的过程可以具体包括:从各个选择路径对应的路径选择子元素中逐层去除各个拒绝路径对应的路径拒绝子元素。即,在一个实施例中,所述从所述候选子元素的各个组选择子元素中去除对应拒绝分组路径的组拒绝子元素,得到所述目标相似子元素的步骤,包括:根据目标选择路径中的节点选择子元素得到所述目标选择路径的路径选择子元素;所述目标选择路径为目标选择分组路径中的路径,所述目标选择分组路径为所述至少一个选择分组路径中的分组路径,所述节点选择子元素为所述目标选择路径中各个路径节点对应的对象子元素;根据目标拒绝路径中的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素;所述目标拒绝路径为目标拒绝分组路径中的路径且与所述目标选择路径对应,所述目标拒绝分组路径为所述至少一个拒绝分组路径中的分组路径,所述节点拒绝子元素为所述目标拒绝路径中各个路径节点对应的对象子元素;从所述候选子元素的各个路径选择子元素中去除对应拒绝路径的路径拒绝子元素,得到所述目标相似子元素。
其中,在确定选择分组路径后,可以对各个选择分组路径中的选择路径进行编号。目标选择路径可以从目标选择分组路径中选择分组路径的路径中选择得到,可以按照编号从小到大的顺序依次将目标选择分组路径中的选择路径确定为目标选择路径。进一步的,目标拒绝分组路径与目标选择分组路径中的路径节点对应一致,因此,目标拒绝路径与目标选择路径也对应一致,基于此,可以按照前述选择路径的编号,依次将目标拒绝分组路径中的拒绝路径确定为目标拒绝路径。
从候选子元素的各个路径选择子元素中去除对应拒绝路径的路径拒绝子元素得到目标相似子元素,还可以是去除路径拒绝子元素的相似子元素,以使目标相似子元素中尽可能不包含用户不需要的子元素。
上述实施例以路径为单位确定目标相似子元素,能准确去除某一个具体路径中的拒绝子元素,使得所确定固定目标相似子元素具有较高的准确性。
在一个实施例中,所述根据目标选择路径中的节点选择子元素得到所述目标选择路径的路径选择子元素的步骤,包括:确定所述目标选择路径中第一目标选择节点对应的所述选择标签,得到目标选择标签;所述第一目标选择节点逐层从所述目标选择路径的路径节点中选择得到;从所述对象子元素中确定与所述目标选择标签相匹配的子元素,得到所述第一目标选择节点的节点选择子元素;根据所述目标选择路径中各个路径节点的节点选择子元素得到所述目标选择路径的路径选择子元素。
第一目标选择节点从目标选择路径的路径节点中选择得到,具体举例如下:将目标选择路径Gi在第j个位置的路径节点确定为第一目标选择节点,可以理解为目标选择路径Gi在第j层上的路径节点。进一步的,确定第一目标选择节点的过程可以为:对Gi中每一条路径Pak,提取Pak中位于第j层的节点Akj,各个节点Akj对应的对象子元素组成集合LA。LA中的子元素可以看做是目标选择路径Gi在第j层需要被选择的子元素。
上述实施例以路径节点为单位确定目标相似子元素,能准确去除某一个具体路径节点中的拒绝子元素,使得所确定固定目标相似子元素具有较高的准确性。
在一个实施例中,所述根据目标拒绝路径中的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素的步骤,包括:根据所述目标拒绝路径中目标拒绝节点对应的所述拒绝标签,得到目标拒绝标签;所述目标拒绝节点从所述目标拒绝路径的路径节点中选择得到且与所述目标选择节点对应;从所述对象子元素中确定与所述目标拒绝标签相匹配的子元素,得到所述目标拒绝节点对应的节点拒绝子元素;根据所述目标拒绝路径中各个路径节点的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素。
目标拒绝节点与所述第一目标选择节点同理,在此不再赘述其概念。具体的,确定第一目标选择节点的过程可以为:对Ri中每一条路径PRk,提取PRk中位于第j层的节点Rkj,各个节点Rkj对应的对象子元素组成集合NR。
进一步地,NR根据某一层的路径节点确定,而该层的路径节点中很可能包含有选择子元素,因此,可以进一步地对NR进行运算:LR=NR-LA(其中减号代表集合的差运算)本公式是在NR中剔除掉LA中存在的子元素,即,如果子元素处于LA中,就认为是需要选择的子元素,而不会被认为是拒绝子元素了,因此,LR中的子元素可以看作是第j层需要拒绝的子元素。
进一步地,从候选子元素的各个组选择子元素中去除对应拒绝分组路径的组拒绝子元素得到目标相似子元素,可以具体为,从各个层对应的节点选择子元素中去除节点拒绝子元素,能更为细化地对子元素进行处理,准确选取出用户选择子元素的相似子元素,同时不选择拒绝子元素的相似子元素。
更进一步地,如果第一目标选择节点为目标选择路径中最后一层的节点,说明选择子元素处于该层的节点上,因此,不需要再进行下一层的查找,直接将该第一目标选择节点对应的节点选择子元素作为目标选择路径的路径选择子元素。
在一个实施例中,若需要查找单相似子元素,所述根据所述目标选择路径中各个路径节点的节点选择子元素得到所述目标选择路径的路径选择子元素的步骤,包括:将所述目标选择标签与第二目标选择节点的标签进行拼接,得到候选标签;所述第二目标选择节点为所述第一目标选择节点的祖先节点;所述第二目标选择节点的标签为所述第一目标选择节点的节点选择子元素所对应的选择标签;若所述候选标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素存在交集,且每个选择元素都有至少一个对象子元素与所述第一目标选择节点的节点选择子元素存在交集,则将所述候选标签添加至第一标签集合中;若所述第一标签集合中标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素的交集最小,则将所述第一标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
具体的,确定目标选择路径的路径选择子元素GSj的过程可以如下:获得LA中每一个元素的标签、class、位置等信息,并进行组合(如p.a,其中p是标签,a是class)同时与GSj-1结合生成多个候选selector(候选标签),候选selector组成集合PS。在PS中寻找最优的第一标签集合S’。S’需要满足下面的条件:
1.对于每个Par中的对象节点(对象子元素),使用S’匹配子元素后,匹配到的子元素和LA的交集不能为空。
2.在1的基础上,Par中全部对象节点使用S’匹配子元素获得的子元素集合与LA的交集尽可能小。
通过上述的处理方式,能使得最终确定的目标相似子元素尽可能少,即,每个元素匹配到一个相似子元素,实现单相似子元素的查找目的。
其中,选择元素的对象子元素指的是选择元素中除去选择子元素之外的其他子元素,本实施例在每个选择元素都有至少一个对象子元素与第一目标选择节点的节点选择子元素存在交集时才将候选标签添加至第一标签集合中,即保证每个选择元素都有子元素被选择出来,作为备选的相似子元素。
在一个实施例中,还可以包括对S’进行修正的过程。具体如下:通过S’匹配对象子元素,将匹配的结果组成集合M,取M和LR的交集MR,如果MR不为空,则对S’进行修改,主要分析MR中元素特有的class和位置信息,然后使用“:not()”对S’进行修正,获得修正后的selector S”’。进而根据S”’来确定对应的路径选择子元素。对第一标签集合S’进行修正,在S’所确定的子元素不够理想时重新确定S”’,能使得最终确定出的目标相似子元素中不包含拒绝子元素,使得目标相似子元素更符合用户的需求。
进一步地,在一个实施例中,还可以对S’进行优先级排序(在某些情况下,也可以对S”’进行优先级排序,排序方式同S’,在此不再赘述)优先级顺序分别如下:
1、不使用LA的位置信息的S’优先级较高;
2、包含的祖先特征较少的S’优先级较高;
3、选用的LA的组合特征较稳定的S’优先级较高。这里判断组合特征是否稳定主要是基于经验,例如,一般认为网页的标签、id等信息不容易发生改变,因此单独的标签特征和标签id进行组合后的特征认为较为稳定。
如图5所示,使用div p.c:not(.b)就可以使得最终确定的目标相似子元素(箭头指向的子元素)中去除包含有“.b”的子元素。
上述实施例对第一标签集合S’进行优先级排序处理,根据位置信息、祖先特征以及组合特征的稳定性对S’排序,进而根据优先级较高S’来确定目标相似子元素,能使得最终确定的目标相似子元素尽可能不受位置信息以及祖先特征的影响,同时保证网页的标签、id等信息的稳定性,即使网页发现变化,所确定出的目标相似子元素依然适用,因此具有较高的稳定性。
在一个实施例中,所述将所述第一标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素的步骤,包括:丢弃所述第一标签集合中设定数量的祖先标签,得到第二标签集合;若所述第二标签集合以及所述第一标签集合匹配到的对象子元素相同,则将所述第二标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
其中,祖先标签与祖先元素概念类似,为第一标签集合中的候选标签的上级标签。
在某些情况下,也可以将丢弃祖先标签后的第一标签集合与初始的第一标签集合进行组合,得到第二标签集合。
其中,丢弃祖先标签的过程可以为:根据第一标签集合中祖先标签的个数n,依次尝试丢弃1到n-1个连续的祖先标签。例如:若尝试丢弃i个连续标签,则依次尝试从第1到第n-i个祖先标签开始,连续丢弃i个标签。丢弃祖先标签后的selector和S1中的全部selector共同组成第二标签集合S”,其中,S”需要满足以下条件:parent使用S”匹配子元素的结果和parent使用S1匹配子元素的结果完全相同。
假设第一目标相似子元素(selector)为div>p:nth-child(3)>p,而另一个为selector div p,两个可以达到同样的匹配效果,后一个目标相似子元素缺少了对p:nth-child(3)这个位置信息的依赖。当页面发生了改变,这个页面元素从第三个变成第四个,那么,第一个selector就会失效,而第二个selector不依赖这个特性,就会更稳定。所以,依赖中间信息越少,selector就更有可能具有高的稳定性。上述实施例从标签集合中尽可能丢弃中间信息,减少selector对dom树特定结构的依赖性,所以selector具有稳定性,可以在相似的页面稳定发挥作用。
在一个实施例中,确定单相似子元素之后,可以对其进行显示。以查找游戏的评价为例,最终确定出的单相似子元素如图6中的小方框所示,其中,实线小方框表示选择子元素601(图6中示例性地标记了其中一个实线小方框),虚线小方框表示所确定的目标相似子元素602(图6中示例性地标记了其中一个虚线小方框),从图6所示,每一个游戏仅对应一个选择子元素,没有选择出多于的其他子元素。
在一个实施例中,若需要查找多相似子元素,所述根据所述目标选择路径中各个路径节点的节点选择子元素得到所述目标选择路径的路径选择子元素的步骤,包括:若所述候选标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素存在交集,且每个选择元素都有至少一个对象子元素与所述第一目标选择节点的节点选择子元素存在交集,则将所述候选标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
上述实施例在需要查找多相似子元素时,尽可能匹配选择子元素的相似子元素,尽可能不匹配拒绝子元素中的子元素及其相似子元素。
在一个实施例中,确定多相似子元素之后,可以对其进行显示。以查找书籍名称为例,最终确定出的多相似子元素如图7中的小方框所示,其中,实线小方框表示选择子元素701(图7中示例性地标记了其中一个实线小方框),虚线小方框表示所确定的目标相似子元素702(图7中示例性地标记了其中一个虚线小方框),从图7可以看出,不同排行榜确定出了不同的相似子元素。
进一步地,可以通过对象循环的方法从网页信息中确定选择元素的相似元素。其中,可视化爬虫系统中,用户可以选取多个元素,然后对每一个元素执行相同的一系列操作,此循环操作称之为对象循环。
具体的:在一个实施例中,所述在所述获取对象元素所包含的子元素,作为对象子元素的步骤之前,还包括:在接收到针对目标网页的元素选择指令时,若确定所述元素选择指令对应有至少两个相互关联的网页元素,确定所述至少两个相互关联的网页元素的共性特征;从所述目标网页中确定与所述共性特征相匹配的网页元素,作为所述对象元素。
网页元素的共性特征可以指网页元素的类型、所包含的关键词、发布者等。具体的,相互关联的网页元素可以为两个益智游戏在目标网页中的条目。
另外,当前网页的相似网页还可以根据dom树中的元素确定,例如:确定当前网页在dom树中的节点位置,将处于相同节点位置的网页确定为该当前网页的相似网页。
当用户选取多个相似元素后,终端会认为用户想要建立对象循环,因此在后端复现爬取流程时,会对对象循环中的每一个对象(例如当前网页中的所有其他元素)依次执行对象循环中的每一个操作,确定每个对象中的子元素是否与选择子元素匹配,进而从这些对象中确定出选择子元素的目标相似子元素。如图2所示,用户选择了游戏1中的评分和游戏3中的图片,且这两个游戏都为益智游戏,终端判定用户想要建立对象循环,则确定当前网页(目标网页)中所有的益智游戏(包括游戏1和游戏3),作为对象元素,从这些益智游戏中确定出与游戏1的评分以及游戏3的图片相似的目标相似子元素。
本发明实施例通过循环对象的方法能够准确定位出当前网页及其相似网页中的相似子元素,不需要用户选择过多的子元素就能直接查找出其想要的结果,能有效提高用户使用的便捷性。
在一个实施例中个,提供一种网页相似子元素的确定方法,包括以下步骤:
1.算法输入选择元素集合accept、拒绝元素集合reject和对象循环拥有的对象元素集合parent。对每一个选择元素Ai,在parent中寻找祖先元素Par a,并获得Par a到Ai的dom树路径PAi,根据所有选择元素的路径得到路径集合PA;对每一个拒绝元素Rj,在parent中寻找祖先元素Par r,并获得Par r到Rj的dom树路径PRj,根据所有拒绝元素的路径得到路径集合PR。
2.将PA按照路径中节点的tag名称序列进行分组,同一组内所有路径均拥有相同的tag名称序列,所有分组组成集合G(其中一组路径即为Gi或者g)。其中,Gi每条路径对应的对象元素集合Par g,Gi每条路径中与选择元素对应的选择节点组成集合Acc。
3.对其中的一个分组Gi,在PR中寻找所有拥有相同tag名称序列的路径,并组成集合R。按照以下方法生成分组Gi对应的组选择子元素Si(其实现过程可以如图8所示,其中,图8中Si通过selectors=[]这一数组表示):
a)获得Gi中路径的长度L(G.length),然后从1开始依次生成L个selector,其中,第j个selector GSj(图8中的prev_selector)对应着Gi中所有路径在第j个位置的路径节点,也就是对应着相对于对象元素的第j层节点。GSj的具体生成步骤如下:
i.对Gi中每一条路径Pak,提取Pak中位于第j层的节点,这些节点组成集合LA,LA中的元素可以看做是在第j层需要被选择的元素。对R中每一条路径Prk,提取Prk中位于第j层的节点,这些节点组成集合NR,根据NR和LA计算得到LR:LR=NR-LA,LR中的元素可以看作是第j层被拒绝的元素。
如果要确定单相似子元素,则根据以下方式生成GSj:将Par中的各个节点从LA中匹配至少一个节点,分别得到对应的候选子节点,从候选子节点中筛选出符合标准的候选子节点,进而从符合标准的候选子节点中确定出数量尽可能少的选择子节点,进一步地,将选择子节点中与LR中相匹配的子节点去除,将去除后的结果确定为GSj。
如果要确定多相似子元素,则根据以下方式生成GSj:GSj用于匹配parent节点的子节点,会匹配LA中的全部节点,同时尽可能匹配LA的相似子节点,尽可能不匹配LR中的节点及其相似子节点。
ii.获得LA中每一个元素的标签、class(属性)、位置等信息,并进行组合(如p.a,其中p是标签,a是class),同时与GSj-1(Gi前一组所对应的节点)结合生成候选selectorS’。
iii.在PS中寻找最优的selector S’。S’需要满足下面条件:
1)对于每个Par a中的对象元素,使用S’匹配子元素后,匹配到的子元素和LA的交集不能为空。
2)在1的基础上,Par a全部节点使用S’匹配子元素获得的子元素集合,与LA的交集尽可能小。
iv.查看parent中每一个节点用S’匹配子元素的结果,组成集合M,取M和LR的交集MR,如果MR不为空,则对S’进行修改,主要分析MR中元素特有的class和位置信息,然后使用“:not()”对S’进行修正,获得修正后的selector S”。
v.尝试在S”中丢弃一部分祖先特征,生成selector S”’。S”’需要满足条件:parent使用S”’匹配子元素的结果和parent使用S”匹配子元素的结果完全相同。这样的S”’会更稳定。S”’即为生成的GSj。
b)最后一层对应的selector GSj即为Si。
需要说明的是,图8中selectors.push(prev_selector)表示的是将prev_selector填写到selectors=[]这一数组中,换句话说,就是将确定的每个GSj填充到Si对应的数组中。
根据Si可以匹配parent中的节点,所匹配到的节点即为Gi对应的目标子元素。通过上述方法,每个parent节点匹配的子元素数目尽可能为一个,且尽可能匹配Acc中的节点及其相似节点,尽可能不匹配拒绝节点及其相似节点。
4.将多个Si使用逗号分隔进行结合,即为算法输出的用于单相似子元素查找的目标相似子元素。selector会尽可能匹配选择元素,同时每一个对象元素尽可能只匹配一个节点,尽可能不匹配拒绝节点及其相似节点。且由于selector会丢弃一些中间信息,减少selector对dom树特定结构的依赖性,所以selector具有稳定性,可以在相似的页面稳定发挥作用。
可视化爬虫系统致力于零技术门槛爬取网页上的数据,服务于有数据获取需求却不懂爬虫技术的用户群体,系统已经可以满足大多数的数据爬取需求。同时可视化爬虫系统可以应用于游戏领域的文章、数据爬取,为游戏运营、分析工作人员提供方便的游戏方面数据获取方式,减少数据爬取方面投入的人力。本发明实施例定位的目标相似子元素具有较高的稳定性,且可以在相似的网页上进行定位,是对象循环可以正常稳定运行的基础,在可视化爬虫系统中发挥了重要的作用。
应该理解的是,虽然图2和4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于与上述实施例中的网页相似子元素的确定方法相同的思想,本发明还提供网页相似子元素的确定装置,该装置可用于执行上述网页相似子元素的确定方法。为了便于说明,网页相似子元素的确定装置实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在一个实施例中,如图9所示,提供了一种网页相似子元素的确定装置900,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:选择元素获取模块901、对象元素获取模块902、选择路径确定模块903、候选子元素确定模块904和相似子元素确定模块905,其中:
选择元素获取模块901,用于在接收到针对目标网页的子元素选择指令时,从所述目标网页的网页元素中确定对应的选择元素,并从所述选择元素所包含的子元素中确定与所述子元素选择指令对应的选择子元素。
对象元素获取模块902,用于获取对象元素所包含的子元素,作为对象子元素,所述对象元素为所述目标网页中与所述选择元素相关联的网页元素。
选择路径确定模块903,用于确定所述选择子元素在文档对象模型树中相对于第一祖先元素的路径,得到选择路径;所述选择路径的路径节点对应有选择标签;所述第一祖先元素为所述选择子元素在所述对象元素中对应的上级元素。
候选子元素确定模块904,用于根据所述选择路径逐层从所述对象子元素中确定与所述选择标签相匹配的子元素,得到候选子元素。
相似子元素确定模块905,用于根据所述候选子元素得到所述选择子元素的目标相似子元素。
上述实施例提供的网页相似元素的确定装置,候选子元素从对象子元素中逐层获取得到且是根据文档对象模型树的路径确定得到,具有较高的稳定性,进而使得所确定的目标相似子元素在网页发生变化时具有较高的稳定性。
在一个实施例中,所述相似子元素确定模块,包括:拒绝元素获取子模块,用于在接收到针对目标网页的子元素拒绝指令时,从所述目标网页的网页元素中确定对应的拒绝元素,并从所述拒绝元素所包含的子元素中确定与所述子元素拒绝指令对应的拒绝子元素;选择路径确定子模块,用于确定所述拒绝子元素在文档对象模型树中相对于第二祖先元素的路径,得到拒绝路径;所述拒绝路径各个层的路径节点对应有拒绝标签;所述第二祖先元素为所述拒绝子元素在所述对象元素中对应的上级元素;相似子元素确定子模块,用于根据所述拒绝路径从所述候选子元素中逐层去除拒绝子元素,得到所述目标相似子元素。
在一个实施例中,所述相似子元素确定子模块,包括:选择路径分组单元,用于根据所述选择标签对所述选择路径进行分组,得到至少一个选择分组路径;同一所述选择分组路径中包含有相同的选择标签;组选择子元素确定单元,用于从所述对象子元素中分别确定与各个选择分组路径的选择标签相匹配的子元素,得到各个选择分组路径对应的组选择子元素;拒绝路径分组单元,用于按照所述选择分组路径中的选择标签对拒绝路径进行分组,得到至少一个拒绝分组路径;所述拒绝分组路径与所述选择分组路径中的路径节点对应一致;组拒绝子元素确定单元,用于从所述对象子元素中分别确定与各个拒绝分组路径的拒绝标签相匹配的子元素,得到各个拒绝分组路径对应的组拒绝子元素;相似子元素确定单元,用于从所述候选子元素的各个组选择子元素中逐层去除对应拒绝分组路径的组拒绝子元素,得到所述目标相似子元素。
在一个实施例中,相似子元素确定单元,包括:路径选择子元素确定子单元,用于根据目标选择路径中的节点选择子元素得到所述目标选择路径的路径选择子元素;所述目标选择路径为目标选择分组路径中的路径,所述目标选择分组路径为所述至少一个选择分组路径中的分组路径,所述节点选择子元素为所述目标选择路径中各个路径节点对应的对象子元素;路径拒绝子元素确定子单元,用于根据目标拒绝路径中的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素;所述目标拒绝路径为目标拒绝分组路径中的路径且与所述目标选择路径对应,所述目标拒绝分组路径为所述至少一个拒绝分组路径中的分组路径,所述节点拒绝子元素为所述目标拒绝路径中各个路径节点对应的对象子元素;目标相似子元素确定子单元,用于从所述候选子元素的各个路径选择子元素中去除对应拒绝路径的路径拒绝子元素,得到所述目标相似子元素。
在一个实施例中,路径选择子元素确定子单元,包括:选择标签确定块,用于确定所述目标选择路径中第一目标选择节点对应的所述选择标签,得到目标选择标签;所述第一目标选择节点逐层从所述目标选择路径的路径节点中选择得到;节点选择子元素确定块,用于从所述对象子元素中确定与所述目标选择标签相匹配的子元素,得到所述第一目标选择节点的节点选择子元素;第一路径选择子元素确定块,用于根据所述目标选择路径中各个路径节点的节点选择子元素得到所述目标选择路径的路径选择子元素。
在一个实施例中,路径拒绝子元素确定子单元,包括:拒绝标签确定块,用于根据所述目标拒绝路径中目标拒绝节点对应的所述拒绝标签,得到目标拒绝标签;所述目标拒绝节点从所述目标拒绝路径的路径节点中选择得到且与所述目标选择节点对应;节点拒绝子元素确定块,用于从所述对象子元素中确定与所述目标拒绝标签相匹配的子元素,得到所述目标拒绝节点对应的节点拒绝子元素;路径拒绝子元素确定块,用于根据所述目标拒绝路径中各个路径节点的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素。
在一个实施例中,若需要查找单相似子元素,路径选择子元素确定子单元,包括:候选标签确定块,用于将所述目标选择标签与第二目标选择节点的标签进行拼接,得到候选标签;所述第二目标选择节点为所述第一目标选择节点的祖先节点;所述第二目标选择节点的标签为所述第一目标选择节点的节点选择子元素所对应的选择标签;标签确定块,用于若所述候选标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素存在交集,且每个选择元素都有至少一个对象子元素与所述第一目标选择节点的节点选择子元素存在交集,则将所述候选标签添加至第一标签集合中;第二路径选择子元素确定块,用于若所述第一标签集合中标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素的交集最小,则将所述第一标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
在一个实施例中,第二路径选择子元素确定块,包括:祖先标签丢弃子块,用于丢弃所述第一标签集合中设定数量的祖先标签,得到第二标签集合;路径选择子元素确定子块,用于若所述第二标签集合以及所述第一标签集合匹配到的对象子元素相同,则将所述第二标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
在一个实施例中,若需要查找多相似子元素,路径选择子元素确定子单元,还用于若所述候选标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素存在交集,且每个选择元素都有至少一个对象子元素与所述第一目标选择节点的节点选择子元素存在交集,则将所述候选标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
在一个实施例中,还包括:共性特征确定模块,用于在接收到针对目标网页的元素选择指令时,若确定所述元素选择指令对应有至少两个相互关联的网页元素,确定所述至少两个相互关联的网页元素的共性特征;对象元素确定模块,用于从所述目标网页中确定与所述共性特征相匹配的网页元素,作为所述对象元素。
关于网页相似子元素的确定装置的具体限定可以参见上文中对于网页相似子元素的确定方法的限定,在此不再赘述。上述网页相似子元素的确定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种网页相似子元素的确定方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该显示屏可以用于显示选择元素、选择子元素、拒绝选择、拒绝子元素以及目标相似子元素等。该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种网页相似子元素的确定方法,所述方法包括:
在接收到针对目标网页的子元素选择指令时,从所述目标网页的网页元素中确定对应的选择元素,并从所述选择元素所包含的子元素中确定与所述子元素选择指令对应的选择子元素;
获取对象元素所包含的子元素,作为对象子元素,所述对象元素为所述目标网页中与所述选择元素相关联的网页元素;
确定所述选择子元素在文档对象模型树中相对于第一祖先元素的路径,得到选择路径;所述选择路径的路径节点对应有选择标签;所述第一祖先元素为所述选择子元素在所述对象元素中对应的上级元素;
根据所述选择路径逐层从所述对象子元素中确定与所述选择标签相匹配的子元素,得到候选子元素;
根据所述候选子元素得到所述选择子元素的目标相似子元素。
2.根据权利要求1所述的方法,其特征在于,所述根据所述候选子元素得到所述选择子元素的目标相似子元素的步骤,包括:
在接收到针对目标网页的子元素拒绝指令时,从所述目标网页的网页元素中确定对应的拒绝元素,并从所述拒绝元素所包含的子元素中确定与所述子元素拒绝指令对应的拒绝子元素;
确定所述拒绝子元素在文档对象模型树中相对于第二祖先元素的路径,得到拒绝路径;所述拒绝路径各个层的路径节点对应有拒绝标签;所述第二祖先元素为所述拒绝子元素在所述对象元素中对应的上级元素;
根据所述拒绝路径从所述候选子元素中逐层去除拒绝子元素,得到所述目标相似子元素。
3.根据权利要求2所述的方法,其特征在于,所述根据所述拒绝路径从所述候选子元素中逐层去除拒绝子元素,得到所述目标相似子元素的步骤,包括:
根据所述选择标签对所述选择路径进行分组,得到至少一个选择分组路径;同一所述选择分组路径中包含有相同的选择标签;
从所述对象子元素中分别确定与各个选择分组路径的选择标签相匹配的子元素,得到各个选择分组路径对应的组选择子元素;
按照所述选择分组路径中的选择标签对拒绝路径进行分组,得到至少一个拒绝分组路径;所述拒绝分组路径与所述选择分组路径中的路径节点对应一致;
从所述对象子元素中分别确定与各个拒绝分组路径的拒绝标签相匹配的子元素,得到各个拒绝分组路径对应的组拒绝子元素;
从所述候选子元素的各个组选择子元素中逐层去除对应拒绝分组路径的组拒绝子元素,得到所述目标相似子元素。
4.根据权利要求3所述的方法,其特征在于,所述从所述候选子元素的各个组选择子元素中逐层去除对应拒绝分组路径的组拒绝子元素,得到所述目标相似子元素的步骤,包括:
根据目标选择路径中的节点选择子元素得到所述目标选择路径的路径选择子元素;所述目标选择路径为目标选择分组路径中的路径,所述目标选择分组路径为所述至少一个选择分组路径中的分组路径,所述节点选择子元素为所述目标选择路径中各个路径节点对应的对象子元素;
根据目标拒绝路径中的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素;所述目标拒绝路径为目标拒绝分组路径中的路径且与所述目标选择路径对应,所述目标拒绝分组路径为所述至少一个拒绝分组路径中的分组路径,所述节点拒绝子元素为所述目标拒绝路径中各个路径节点对应的对象子元素;
从所述候选子元素的各个路径选择子元素中去除对应拒绝路径的路径拒绝子元素,得到所述目标相似子元素。
5.根据权利要求4所述的方法,其特征在于,所述根据目标选择路径中的节点选择子元素得到所述目标选择路径的路径选择子元素的步骤,包括:
确定所述目标选择路径中第一目标选择节点对应的所述选择标签,得到目标选择标签;所述第一目标选择节点逐层从所述目标选择路径的路径节点中选择得到;
从所述对象子元素中确定与所述目标选择标签相匹配的子元素,得到所述第一目标选择节点的节点选择子元素;
根据所述目标选择路径中各个路径节点的节点选择子元素得到所述目标选择路径的路径选择子元素。
6.根据权利要求5所述的方法,其特征在于,所述根据目标拒绝路径中的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素的步骤,包括:
根据所述目标拒绝路径中目标拒绝节点对应的所述拒绝标签,得到目标拒绝标签;所述目标拒绝节点从所述目标拒绝路径的路径节点中选择得到且与所述目标选择节点对应;
从所述对象子元素中确定与所述目标拒绝标签相匹配的子元素,得到所述目标拒绝节点对应的节点拒绝子元素;
根据所述目标拒绝路径中各个路径节点的节点拒绝子元素得到所述目标拒绝路径的路径拒绝子元素。
7.根据权利要求5所述的方法,其特征在于,若需要查找单相似子元素,所述根据所述目标选择路径中各个路径节点的节点选择子元素得到所述目标选择路径的路径选择子元素的步骤,包括:
将所述目标选择标签与第二目标选择节点的标签进行拼接,得到候选标签;所述第二目标选择节点为所述第一目标选择节点的祖先节点;所述第二目标选择节点的标签为所述第一目标选择节点的节点选择子元素所对应的选择标签;
若所述候选标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素存在交集,且每个选择元素都有至少一个对象子元素与所述第一目标选择节点的节点选择子元素存在交集,则将所述候选标签添加至第一标签集合中;
若所述第一标签集合中标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素的交集最小,则将所述第一标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
8.根据权利要求7所述的方法,其特征在于,所述将所述第一标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素的步骤,包括:
丢弃所述第一标签集合中设定数量的祖先标签,得到第二标签集合;
若所述第二标签集合以及所述第一标签集合匹配到的对象子元素相同,则将所述第二标签集合中标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
9.根据权利要求7所述的方法,其特征在于,若需要查找多相似子元素,所述根据所述目标选择路径中各个路径节点的节点选择子元素得到所述目标选择路径的路径选择子元素的步骤,包括:
若所述候选标签匹配到的对象子元素与所述第一目标选择节点的节点选择子元素存在交集,且每个选择元素都有至少一个对象子元素与所述第一目标选择节点的节点选择子元素存在交集,则将所述候选标签匹配到的对象子元素确定为所述目标选择路径的路径选择子元素。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述在所述获取对象元素所包含的子元素,作为对象子元素的步骤之前,还包括:
在接收到针对目标网页的元素选择指令时,若确定所述元素选择指令对应有至少两个相互关联的网页元素,确定所述至少两个相互关联的网页元素的共性特征;
从所述目标网页中确定与所述共性特征相匹配的网页元素,作为所述对象元素。
11.一种网页相似子元素的确定装置,其特征在于,所述装置包括:
选择元素获取模块,用于在接收到针对目标网页的子元素选择指令时,从所述目标网页的网页元素中确定对应的选择元素,并从所述选择元素所包含的子元素中确定与所述子元素选择指令对应的选择子元素;
对象元素获取模块,用于获取对象元素所包含的子元素,作为对象子元素,所述对象元素为所述目标网页中与所述选择元素相关联的网页元素;
选择路径确定模块,用于确定所述选择子元素在文档对象模型树中相对于第一祖先元素的路径,得到选择路径;所述选择路径的路径节点对应有选择标签;所述第一祖先元素为所述选择子元素在所述对象元素中对应的上级元素;
候选子元素确定模块,用于根据所述选择路径逐层从所述对象子元素中确定与所述选择标签相匹配的子元素,得到候选子元素;
相似子元素确定模块,用于根据所述候选子元素得到所述选择子元素的目标相似子元素。
12.根据权利要求11所述的装置,其特征在于,所述相似子元素确定模块,包括:
拒绝元素获取子模块,用于在接收到针对目标网页的子元素拒绝指令时,从所述目标网页的网页元素中确定对应的拒绝元素,并从所述拒绝元素所包含的子元素中确定与所述子元素拒绝指令对应的拒绝子元素;
选择路径确定子模块,用于确定所述拒绝子元素在文档对象模型树中相对于第二祖先元素的路径,得到拒绝路径;所述拒绝路径各个层的路径节点对应有拒绝标签;所述第二祖先元素为所述拒绝子元素在所述对象元素中对应的上级元素;
相似子元素确定子模块,用于根据所述拒绝路径从所述候选子元素中逐层去除拒绝子元素,得到所述目标相似子元素。
13.根据权利要求12所述的装置,其特征在于,所述相似子元素确定子模块,包括:
选择路径分组单元,用于根据所述选择标签对所述选择路径进行分组,得到至少一个选择分组路径;同一所述选择分组路径中包含有相同的选择标签;
组选择子元素确定单元,用于从所述对象子元素中分别确定与各个选择分组路径的选择标签相匹配的子元素,得到各个选择分组路径对应的组选择子元素;
拒绝路径分组单元,用于按照所述选择分组路径中的选择标签对拒绝路径进行分组,得到至少一个拒绝分组路径;所述拒绝分组路径与所述选择分组路径中的路径节点对应一致;
组拒绝子元素确定单元,用于从所述对象子元素中分别确定与各个拒绝分组路径的拒绝标签相匹配的子元素,得到各个拒绝分组路径对应的组拒绝子元素;
相似子元素确定单元,用于从所述候选子元素的各个组选择子元素中逐层去除对应拒绝分组路径的组拒绝子元素,得到所述目标相似子元素。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010242914.4A CN111488544B (zh) | 2020-03-31 | 2020-03-31 | 网页相似子元素的确定方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010242914.4A CN111488544B (zh) | 2020-03-31 | 2020-03-31 | 网页相似子元素的确定方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488544A true CN111488544A (zh) | 2020-08-04 |
CN111488544B CN111488544B (zh) | 2023-02-24 |
Family
ID=71798069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010242914.4A Active CN111488544B (zh) | 2020-03-31 | 2020-03-31 | 网页相似子元素的确定方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488544B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300056A1 (en) * | 2008-05-29 | 2009-12-03 | Rong Yao Fu | System and method for adaptively locating dynamic web page elements |
WO2015043352A1 (en) * | 2013-09-26 | 2015-04-02 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for selecting test nodes on webpages |
CN108073589A (zh) * | 2016-11-09 | 2018-05-25 | 北京国双科技有限公司 | 网页页面元素的获取方法及装置 |
CN109582548A (zh) * | 2017-09-28 | 2019-04-05 | 北京国双科技有限公司 | 一种基于无埋点的页面元素圈选方法及装置 |
CN110020332A (zh) * | 2017-07-25 | 2019-07-16 | 北京国双科技有限公司 | 一种基于圈选元素的事件生成方法及装置 |
CN110187880A (zh) * | 2019-05-30 | 2019-08-30 | 北京腾云天下科技有限公司 | 一种同类元素识别方法、装置和计算设备 |
CN110489625A (zh) * | 2019-07-29 | 2019-11-22 | 北京百分点信息科技有限公司 | 一种网页数据采集模板的生成方法和装置 |
-
2020
- 2020-03-31 CN CN202010242914.4A patent/CN111488544B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300056A1 (en) * | 2008-05-29 | 2009-12-03 | Rong Yao Fu | System and method for adaptively locating dynamic web page elements |
WO2015043352A1 (en) * | 2013-09-26 | 2015-04-02 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for selecting test nodes on webpages |
CN108073589A (zh) * | 2016-11-09 | 2018-05-25 | 北京国双科技有限公司 | 网页页面元素的获取方法及装置 |
CN110020332A (zh) * | 2017-07-25 | 2019-07-16 | 北京国双科技有限公司 | 一种基于圈选元素的事件生成方法及装置 |
CN109582548A (zh) * | 2017-09-28 | 2019-04-05 | 北京国双科技有限公司 | 一种基于无埋点的页面元素圈选方法及装置 |
CN110187880A (zh) * | 2019-05-30 | 2019-08-30 | 北京腾云天下科技有限公司 | 一种同类元素识别方法、装置和计算设备 |
CN110489625A (zh) * | 2019-07-29 | 2019-11-22 | 北京百分点信息科技有限公司 | 一种网页数据采集模板的生成方法和装置 |
Non-Patent Citations (4)
Title |
---|
LIMING LUO 等: "Application of Internet Technology and Web Information Extraction Wrapper Based on DOM for Agricultural Data Acquisition", 《2015 INTERNATIONAL CONFERENCE ON NETWORK AND INFORMATION SYSTEMS FOR COMPUTERS》 * |
朱毅华 等: "基于子树相似度计算的网页评论提取算法研究", 《现代图书情报技术》 * |
李贵 等: "基于标签路径的Web结构化数据自动抽取", 《计算机科学》 * |
杜凤媛: "自定义分布式网络爬虫的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111488544B (zh) | 2023-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10180967B2 (en) | Performing application searches | |
Rae et al. | Improving tag recommendation using social networks | |
CN103955529B (zh) | 一种互联网信息搜索聚合呈现方法 | |
JP5721818B2 (ja) | 検索におけるモデル情報群の使用 | |
KR102099208B1 (ko) | 온라인 소셜 네트워크에서 검색 질의의 재기록 | |
US20080077569A1 (en) | Integrated Search Service System and Method | |
US20110202533A1 (en) | Dynamic Search Interaction | |
JP2017157192A (ja) | キーワードに基づいて画像とコンテンツアイテムをマッチングする方法 | |
US20110231386A1 (en) | Indexing and searching employing virtual documents | |
AU2013292585B2 (en) | Context-based object retrieval in a social networking system | |
CN105956148A (zh) | 资源信息的推荐方法和装置 | |
JP6966158B2 (ja) | 検索データを処理するための方法、装置及びプログラム | |
JP6363682B2 (ja) | 画像とコンテンツのメタデータに基づいてコンテンツとマッチングする画像を選択する方法 | |
JP2016522927A (ja) | 可変検索クエリ・バーティカル・アクセス | |
US11249993B2 (en) | Answer facts from structured content | |
US20120278308A1 (en) | Custom search query suggestion tools | |
CN103838862B (zh) | 一种视频搜索的方法、装置及终端 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
US10095788B2 (en) | Context-sensitive deeplinks | |
CN101957825A (zh) | 基于网页中图像、视频内容的图像搜索方法 | |
Tian et al. | Geek talents: Who are the top experts on github and stack overflow? | |
Kiu et al. | TaxoFolk: a hybrid taxonomy–folksonomy classification for enhanced knowledge navigation | |
US9110943B2 (en) | Identifying an image for an entity | |
CN112836126A (zh) | 基于知识图谱的推荐方法、装置、电子设备及存储介质 | |
CN111488544B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027427 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |