CN108196874B - 一种网页分析方法、装置及存储介质、程序产品 - Google Patents

一种网页分析方法、装置及存储介质、程序产品 Download PDF

Info

Publication number
CN108196874B
CN108196874B CN201711481065.2A CN201711481065A CN108196874B CN 108196874 B CN108196874 B CN 108196874B CN 201711481065 A CN201711481065 A CN 201711481065A CN 108196874 B CN108196874 B CN 108196874B
Authority
CN
China
Prior art keywords
webpage
data
elements
web page
basic
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
Application number
CN201711481065.2A
Other languages
English (en)
Other versions
CN108196874A (zh
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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201711481065.2A priority Critical patent/CN108196874B/zh
Publication of CN108196874A publication Critical patent/CN108196874A/zh
Application granted granted Critical
Publication of CN108196874B publication Critical patent/CN108196874B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种网页分析方法及装置,用于快速便捷地进行网页分析,该方法包括:将待分析网页数据与预设筛选条件进行匹配,获得与待分析网页数据匹配上的预设筛选条件作为目标条件,并获得各个目标条件在待分析网页数据中对应的数据;根据预设筛选条件与基础网页元素的对应关系,确定目标条件对应的基础网页元素;将任一目标条件在待分析网页数据中对应的数据作为该目标条件对应的基础网页元素的数据;将各个目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出。

Description

一种网页分析方法、装置及存储介质、程序产品
技术领域
本申请涉及数据处理技术领域,具体涉及一种网页分析方法、装置及存储介质、程序产品。
背景技术
随着Internet以及相关技术的发展与成熟,从网页中提取数据已经成为人们获取信息的重要手段。而要从网页中提取数据,就要对网页结构进行分析,通过网页分析获取数据在页面中的具***置,从而把数据从页面中提取出来。
目前,较常用的网页分析方法是基于文档对象模型(Document Object Model,DOM)的网页分析方法。根据DOM规范可知,网页文档中的每个成分都是一个节点:整个网页文档是一个文档节点,每个网页标签是一个元素节点,包含在元素中的文本是文本节点,每一个网页属性是一个属性节点,注释属于注释节点,这些节点彼此之间都存在关系。基于DOM的网页分析过程包括:解析网页的源代码,得到源代码中定义的节点之间的关系,并调用DOM规范给定的接口将上述节点之间的关系转换为DOM树,然后通过查找DOM树中的节点获取所需要的数据。
然而,由于网页源代码中的标签元素和内嵌代码异常丰富,各种样式和布局***,上述基于DOM的网页分析方法实现复杂且极易出错。
发明内容
有鉴于此,本申请实施例提供一种网页分析方法、装置及存储介质、程序产品,以降低网页分析的复杂度和出错率。
为解决上述问题,本申请实施例提供的技术方案如下:
一种网页分析方法,所述方法包括:
将待分析网页数据与预设筛选条件进行匹配,获得与所述待分析网页数据匹配上的预设筛选条件作为目标条件,并获得各个所述目标条件在所述待分析网页数据中对应的数据;
根据所述预设筛选条件与基础网页元素的对应关系,确定所述目标条件对应的基础网页元素;
将任一目标条件在所述待分析网页数据中对应的数据作为该目标条件对应的基础网页元素的数据;
将各个所述目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出。
可选的,所述方法还包括:
根据网页元素之间的层次构成关系,确定与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素;
将与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素作为网页分析结果输出。
可选的,所述根据网页元素之间的层次构成关系,确定与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素,包括:
根据网页元素之间的层次构成关系,将所述目标条件对应的基础网页元素的上一级网页元素作为结果网页元素,将所述结果网页元素的上一级网页元素作为所述结果网页元素,直到所述结果网页元素为顶层网页元素,将全部所述结果网页元素作为与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素。
可选的,所述方法还包括:
将所述目标条件对应的基础网页元素作为获得数据的网页元素;
根据网页元素之间的层次构成关系,当检测到父级网页元素的各个下一级网页元素均为所述获得数据的网页元素,利用所述父级网页元素的各个下一级网页元素的数据生成所述父级网页元素的数据,所述父级网页元素为所述获得数据的网页元素的上一级网页元素;
将所述父级网页元素作为所述获得数据的网页元素,重复执行所述当检测到父级网页元素的各个下一级网页元素均为所述获得数据的网页元素,利用所述父级网页元素的各个下一级网页元素的数据生成所述父级网页元素的数据,直到所述父级网页元素为顶层网页元素;
将各个所述父级网页元素的数据作为网页分析结果输出。
可选的,所述方法还包括:
将所述待分析网页与边界筛选条件进行匹配,获得与所述待分析网页数据匹配上的边界筛选条件作为边界条件,并获得所述边界条件在所述待分析网页数据中对应的数据;
根据所述边界筛选条件与网页元素的对应关系,确定所述边界条件对应的网页元素;
将任一边界条件在所述待分析网页数据中对应的数据作为该边界条件对应的网页元素的数据;
将所述边界条件对应的网页元素作为获得数据的网页元素,重复执行所述当检测到父级网页元素的各个下一级网页元素均为所述获得数据的网页元素,利用所述父级网页元素的各个下一级网页元素的数据生成所述父级网页元素的数据,直到所述父级网页元素为顶层网页元素。
可选的,所述预设筛选条件包括用于描述预设的基础网页元素的数据筛选条件。
一种网页分析装置,所述装置包括:
第一匹配单元,用于将待分析网页数据与预设筛选条件进行匹配,获得与所述待分析网页数据匹配上的预设筛选条件作为目标条件,并获得各个所述目标条件在所述待分析网页数据中对应的数据;
第一确定单元,用于根据所述预设筛选条件与基础网页元素的对应关系,确定所述目标条件对应的基础网页元素;
第二确定单元,用于将任一目标条件在所述待分析网页数据中对应的数据作为该目标条件对应的基础网页元素的数据;
输出单元,用于将各个所述目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出。
可选的,所述装置还包括:
第三确定单元,用于根据网页元素之间的层次构成关系,确定与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素;
所述输出单元,还用于将与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素作为网页分析结果输出。
可选的,所述第三确定单元具体用于:
根据网页元素之间的层次构成关系,将所述目标条件对应的基础网页元素的上一级网页元素作为结果网页元素,将所述结果网页元素的上一级网页元素作为所述结果网页元素,直到所述结果网页元素为顶层网页元素,将全部所述结果网页元素作为与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素。
可选的,所述装置还包括:
第四确定单元,用于将所述目标条件对应的基础网页元素作为获得数据的网页元素;
生成单元,用于根据网页元素之间的层次构成关系,当检测到父级网页元素的各个下一级网页元素均为所述获得数据的网页元素,利用所述父级网页元素的各个下一级网页元素的数据生成所述父级网页元素的数据,所述父级网页元素为所述获得数据的网页元素的上一级网页元素;
第一触发单元,用于将所述父级网页元素作为所述获得数据的网页元素,触发所述生成单元重复执行所述当检测到父级网页元素的各个下一级网页元素均为所述获得数据的网页元素,利用所述父级网页元素的各个下一级网页元素的数据生成所述父级网页元素的数据,直到所述父级网页元素为顶层网页元素;
所述输出单元,还用于将各个所述父级网页元素的数据作为网页分析结果输出。
可选的,所述装置还包括:
第二匹配单元,用于将所述待分析网页与边界筛选条件进行匹配,获得与所述待分析网页数据匹配上的边界筛选条件作为边界条件,并获得所述边界条件在所述待分析网页数据中对应的数据;
第五确定单元,用于根据所述边界筛选条件与网页元素的对应关系,确定所述边界条件对应的网页元素;
第六确定单元,用于将任一边界条件在所述待分析网页数据中对应的数据作为该边界条件对应的网页元素的数据;
第二触发单元,用于将所述边界条件对应的网页元素作为获得数据的网页元素,触发所述生成单元重复执行所述当检测到父级网页元素的各个下一级网页元素均为所述获得数据的网页元素,利用所述父级网页元素的各个下一级网页元素的数据生成所述父级网页元素的数据,直到所述父级网页元素为顶层网页元素。
可选的,所述预设筛选条件包括用于描述预设的基础网页元素的数据筛选条件。
一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的网页分析方法。
一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的网页分析方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例通过将待分析网页数据与预设筛选条件匹配,得到可以与待分析网页数据匹配的预设筛选条件作为目标条件,该目标条件与基础网页元素具有对应关系,从而可以快速获得待分析网页数据中所具有的基础网页元素,同时,在待分析网页数据与预设筛选条件的匹配过程中,还可以获得目标条件在待分析网页数据中对应的数据,由于目标条件对应有基础网页元素,因此目标条件对应的数据即为目标条件对应有基础网页元素的数据,从而获得目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出,实现对网页的分析,在该过程中无需对网页源代码中多层标签嵌套的复杂描述进行分析,从而降低网页分析的复杂度和出错率。
附图说明
图1为本申请实施例中提供的一网页分析方法实施例的流程图;
图2为本申请实施例中提供的一种网页元素之间的层次构成关系的示意图;
图3为本申请实施例中提供的另一种网页元素之间的层次构成关系的示意图;
图4为本申请实施例中提供的又一种网页元素之间的层次构成关系的示意图;
图5为本申请实施例中提供的另一网页分析方法实施例的流程图;
图6为本申请实施例中提供的又一网页分析方法实施例的流程图;
图7为本申请实施例中提供的又一网页分析方法实施例的流程图;
图8为本申请实施例中提供的网页分析方法实现过程的示意图;
图9为本申请实施例中提供的网页分析装置实施例的示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为了提高网页分析的效率,本申请实施例提供了一种网页分析方法及装置,通过将待分析网页数据与预设的筛选条件匹配,可以得到待分析网页数据中与预设的筛选条件匹配的基础网页元素以及这些基础网页元素的数据。同时,通过网页元素之间的层次构成关系,可以获得与得到的基础网页元素具有层次构成关系的上层网页元素,还可以根据得到的基础网页元素的数据,生成这些基础网页元素所能够生成的父级网页元素的数据。另外,还可以根据边界筛选条件,及时发现并跳过异常数据段,直接匹配出存在数据异常的网页元素上一层网页元素的数据。根据本申请实施例提供的网页分析方法,可以实现对网页的分析,在该过程中无需对网页源代码中多层标签嵌套的复杂描述进行分析,从而降低网页分析的复杂度和出错率
下面结合附图,详细说明本发明的各种非限制性实施方式。
参见图1所示,示出了本申请实施例中提供的一种网页分析方法实施例,本实施例可以包括以下步骤:
步骤101:将待分析网页数据与预设筛选条件进行匹配,获得与待分析网页数据匹配上的预设筛选条件作为目标条件,并获得各个目标条件在待分析网页数据中对应的数据。
在本申请实施例中,网页分析即为对网页中的待分析网页数据进行分析,待分析网页数据可以为网页中的全部网页数据,也可以为网页中的部分网页数据,待分析网页数据可以根据实际需求确定,获取待分析网页数据的方法本申请也并不限定。
网页中包括有网页元素,网页元素例如网页对象、网页标签、首部标签、标题标签、关键词标签、网址、域名、访问端口、访问路径等等。网页元素之间具有层次构成关系,例如标题标签以及关键词标签可以构成首部标签,域名、访问端口以及访问路径可以构成网址等。在页元素之间的层次构成关系中,处于最底层的网页元素可以认为是基础网页元素,即基础网页元素可以构成上一级的网页元素,但是并没有网页元素再构成基础网页元素。
基础网页元素对应有数据筛选条件,数据筛选条件可以用正则表达式和/或高级编程语言实现的功能函数描述。数据筛选条件可以描述基础网页元素。例如正则表达式$1~/<title>[^<]*</title>/i,可以描述标题标签这一基础网页元素,与该正则表达式匹配上的待分析网页数据即为网页标签。
在本申请实施例一些可能的实现方式中,预设筛选条件可以包括用于描述预设的基础网页元素的数据筛选条件。即预设筛选条件可以是全部基础网页元素所分别对应的数据筛选条件,也可以是一部分基础网页元素所分别对应的数据筛选条件。预设的基础网页元素可以根据实际需求设置,可以达到按照需求对某些网页元素进行分析的效果。
通过将待分析网页数据与预设筛选条件进行匹配,可以得到有一个或多个预设筛选条件与待分析网页数据匹配成功,则这些与待分析网页数据匹配上的预设筛选条件可以作为目标条件。同时,还可以获得目标条件在待分析网页数据中对应的数据,该数据可以是待分析网页数据中的数据匹配范围,也可以是待分析网页数据中的具体数据值。例如,与目标条件1匹配的待分析网页数据为待分析网页数据中第1个字节到第10个字节,则目标条件1在待分析网页数据中对应的数据为第1个字节到第10个字节这一数据匹配范围,或者为第1个字节到第10个字节内具体的数据。
步骤102:根据预设筛选条件与基础网页元素的对应关系,确定目标条件对应的基础网页元素。
根据前述说明,基础网页元素与数据筛选条件具有一一对应关系,则预设筛选条件也与基础网页元素具有一一对应关系。又由于目标条件属于预设筛选条件,则在本步骤中可以确定每一目标条件分别对应的基础网页元素,目标条件对应的基础网页元素可以认为是待分析网页数据中所包括的基础网页元素,也即网页中所包括的基础网页元素。
步骤103:将任一目标条件在待分析网页数据中对应的数据作为该目标条件对应的基础网页元素的数据。
每一目标条件对应有一基础网页元素,同时每一目标条件又对应有在待分析网页数据中所对应的数据,则该数据对应于该基础网页元素,在本步骤中有可以获得各个目标条件对应的基础网页元素的数据。
步骤104:将各个目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出。
通过上述步骤,可以得到目标条件对应的基础网页元素,以及这些基础网页元素的数据,作为网页分析结果进行输出。
本申请实施例通过将待分析网页数据与预设筛选条件匹配,得到可以与待分析网页数据匹配的预设筛选条件作为目标条件,该目标条件与基础网页元素具有对应关系,从而可以快速获得待分析网页数据中所具有的基础网页元素,同时,在待分析网页数据与预设筛选条件的匹配过程中,还可以获得目标条件在待分析网页数据中对应的数据,由于目标条件对应有基础网页元素,因此目标条件对应的数据即为目标条件对应有基础网页元素的数据,从而获得目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出,实现对网页的分析,在该过程中无需对网页源代码中多层标签嵌套的复杂描述进行分析,从而降低网页分析的复杂度和出错率。
在本申请实施例一些可能的实现方式中,可以预先构建网页元素之间的层次构成关系,网页元素之间的层次构成关系可以通过树形结构标识。
作为一种示例,参见图2所示,图2为本申请提供的网页元素之间的层次构成关系的一种示例图。该示例中,将网页中的所有网页数据作为一个整体定义为顶层网页元素,为方便叙述,将该顶层网页元素记为网页。
网页可以包括网址,以及网页中的具体内容这两部分数据,为叙述方便,将网页中的具体内容记为网页对象。因此,对于网页这一网页元素,下一层次的两个网页元素,分别为网址和网页对象。
网址中可以包括域名、访问端口和访问路径三部分内容,因此,对于网址这一网页元素,下一层次的三个网页元素分别为:域名、访问端口、访问路径;网页对象中可以包括网页标签,内嵌的脚本代码以及网页接入的外部资源三部分内容,因此,对于网页对象这一网页元素,下一层次的三个网页元素,分别为:网页标签、脚本代码和外部资源。
网页标签可以包括定义网页首部的标签(简称首部标签)和定义网页正文的标签(简称正文标签),因此,对于网页标签这一网页元素,下一层次的两个网页元素,分别为:首部标签和正文标签;内嵌的脚本代码中可以包括变量、常量和函数,因此,对于脚本代码这一网页元素,下一层次的三个网页元素,分别为:变量、常量和函数;网页接入的外部资源可以包括文件,图像,视频和音频等,因此,对于外部资源这一网页元素,下一层次的四个网页元素,分别为:文件、图像、视频和音频。
首部标签可以包括标题标签和关键词标签,因此,对于首部标签这一网页元素,下一层次的两个网页元素,分别为:标题标签和关键词标签。
作为另一种示例,参见图3所示,图3为本申请提供的网页元素之间的层次构成关系的另一种示例图。与图2所示示例不同,此示例中,对于网页这一网页元素,下一层次的四个网页元素,分别为:网址、网页标签、脚本代码和外部资源。
作为又一种示例,参见图4所示,图4为本申请提供的网页元素之间的层次构成关系的又一种示例图。与图2、图3所示示例不同,本示例中,对于网页这一网页元素,下一层次的网页元素为网页对象,对于网页对象这一网页元素,下一层次的三个网页元素,分别为:网页标签、脚本代码和外部资源。
通过图4所示示例可知,本申请实施例中,可以只针对部分网页元素建立网页元素之间的层次构成关系。
网页元素之间的层次构成关系可以根据实际情况构建,本申请对此不进行限定。在定义网页元素之间的层次构成关系后,根据上述网页元素之间的层次构成关系构建网页树形结构。
基于上述网页元素之间的层次构成关系,参见图5所示,示出了本申请实施例中提供的一种网页分析方法实施例,在本实施例中基于上述网页分析方法,还可以获得与目标条件对应的基础网页元素具有层次构成关系的上层网页元素作为网页分析结果输出,本实施例可以包括以下步骤:
步骤501:根据网页元素之间的层次构成关系,确定与目标条件对应的基础网页元素具有层次构成关系的上层网页元素。
在网页分析中,在一些场景下还需要分析网页中所包括的基础网页元素的上层网页元素有哪些,该上层网页元素不仅包括与基础网页元素有直接构成关系的网页元素即基础网页元素的上一级网页元素,还包括基础网页元素的上一级网页元素的再上一级网页元素,以此类推。
因此,在本申请实施例一些可能的实现方式中,步骤501的实现可以包括:根据网页元素之间的层次构成关系,将目标条件对应的基础网页元素的上一级网页元素作为结果网页元素,将结果网页元素的上一级网页元素作为结果网页元素,直到结果网页元素为顶层网页元素,将全部结果网页元素作为与目标条件对应的基础网页元素具有层次构成关系的上层网页元素。
也即通过逐层查找网页元素的方式,从目标条件对应的基础网页元素开始逐级查找上一级的网页元素直到顶层网页元素。目标条件对应的基础网页元素即可以认为是网页中所包括的基础网页元素,例如目标条件对应的基础网页元素包括域名、访问端口、访问路径以及标题标签,则可以针对每一个目标条件对应的基础网页元素,分别查找其上层网页元素,例如域名的上层网页元素包括网址以及网页、访问路径以及标题标签的上层网页元素均为网址以及网页,标题标签的上层网页元素包括首部标签、网页标签、网页对象以及网页。
步骤502:将与目标条件对应的基础网页元素具有层次构成关系的上层网页元素作为网页分析结果输出。
在本实施例中,可以通过预先构成的网页元素之间的层次构成关系,通过逐层查找的方式,快速获得到与目标条件对应的基础网页元素具有层次构成关系的上层网页元素作为网页分析结果进行输出,从而在网页分析的过程中还可以得到网页所包括的基础网页元素的上层网页元素情况。
在本申请实施例中,获得了目标条件对应的基础网页元素的数据,又根据网页元素之间的层次构成关系,在满足条件的情况下,还可以获得其他网页元素的数据,该条件可以为父级网页元素的各个下一级网页元素均为获得数据的网页元素,父级网页元素为获得数据的网页元素的上一级网页元素。
例如,通过图1的实施例获得了网页所包括的基础网页元素为域名、访问端口以及访问路径,以及这些基础网页元素的数据,即这些基础网页元素为获得数据的网页元素。根据网页元素之间的层次构成关系,域名、访问端口以及访问路径的上一级网页元素为网址,即网址为获得数据的网页元素的上一级网页元素,则网址作为父级网页元素满足其各个下一级网页元素均为获得数据的网页元素,则根据域名、访问端口以及访问路径的数据,可以生成网址的数据,此时网址这一网页元素也可以被确定为获得数据的网页元素。
参见图6所示,为了获得基础网页元素的满足条件的上层网页元素的数据,本申请实施例还提供另一种网页分析方法实施例,本实施例可以包括以下步骤:
步骤601:将目标条件对应的基础网页元素作为获得数据的网页元素。
在上述实施例中,已经获得了目标条件对应的基础网页元素的数据,则目标条件对应的基础网页元素可以作为获得数据的网页元素。
步骤602:根据网页元素之间的层次构成关系,当检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,利用父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据,父级网页元素为获得数据的网页元素的上一级网页元素。
在本实施例中,可以逐个输入获得数据的网页元素,根据网页元素之间的层次构成关系,检测输入的获得数据的网页元素是否可以构成上一级网页元素,如果不可以继续输入获得数据的网页元素,直到输入的获得数据的网页元素可以构成上一级网页元素,此时可以检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,父级网页元素可以理解为获得数据的网页元素的上一级网页元素。
然后利用父级网页元素的各个下一级网页元素的数据可以生成父级网页元素的数据,例如根据域名、访问端口以及访问路径的数据,可以生成网址的数据,根据网址以及网页对象的数据,可以生成网页的数据等等。
步骤603:将父级网页元素作为获得数据的网页元素。
步骤604:检测父级网页元素是否为顶层网页元素,如果是,则进入步骤605,如果否,则返回步骤602。
即,在获得了父级网页元素的数据后,父级网页元素也可以作为获得数据的网页元素,然后重复执行步骤602当检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,利用父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据,直到父级网页元素为顶层网页元素。
步骤605:将各个父级网页元素的数据作为网页分析结果输出。
在本实施例中,可以根据网页中所包含的基础网页元素的数据,逐级生成上层网页元素的数据,利用网页元素之间的层次构成关系,可以快速实现网页的分析,避免对网页结构中多层嵌套标签的分析,保证了网页分析的灵活性和高效性。
另外,在一些情况下,网页分析过程可能会存在异常,本申请实施例还提供一种可以跳过异常数据段继续进行网页分析的方式。参见图7所示,本申请实施例还提供一种网页分析方法实施例,在图6对应的实施例的基础上,本实施例还可以包括以下步骤:
步骤701:将待分析网页与边界筛选条件进行匹配,获得与待分析网页数据匹配上的边界筛选条件作为边界条件,并获得边界条件在待分析网页数据中对应的数据。
不同网页元素层次之间具有明确的结束边界,边界筛选条件可以描述某一层的网页元素的结束边界,例如网址网页元素的下一级网页元素为域名、访问端口以及访问路径,域名、访问端口以及访问路径这三个网页元素属于同一级的网页元素,具有一个结束边界,可以用边界筛选条件描述该结束边界,该边界筛选条件与该层网页元素的上一级网页元素具有对应关系,例如该边界筛选条件与网址这一网页元素具有对应关系。边界筛选条件可以用正则表达式描述。
通过将待分析网页数据与各个边界筛选条件进行匹配,可以得到匹配成功的边界筛选条件,这些与待分析网页数据匹配上的边界筛选条件可以作为边界条件。同时,还可以获得边界条件在待分析网页数据中对应的数据,该数据可以是待分析网页数据中的数据匹配范围,也可以是待分析网页数据中的具体数据值。边界条件在待分析网页数据中对应的数据可以是该层各个网页元素对应的数据,也即可以认为是与边界条件对应的网页元素的数据。
步骤702:根据边界筛选条件与网页元素的对应关系,确定边界条件对应的网页元素。
根据前述说明,网页元素与边界筛选条件具有一一对应关系,则边界条件也与网页元素具有一一对应关系,则可以确定边界条件对应的网页数据。
步骤703:将任一边界条件在待分析网页数据中对应的数据作为该边界条件对应的网页元素的数据。
则可以将边界条件在待分析网页数据中对应的数据作为该边界条件对应的网页元素的数据。例如边界条件对应的网页元素为网址,则边界条件在待分析网页数据中对应的数据即为网址这一网页元素的数据,该数据可以为待分析网页数据中的数据匹配范围,也可以是待分析网页数据中的具体数据值。例如,网址这一网页元素的数据可以为在待分析网页数据中第30个字节到第40个字节这一数据匹配范围,或者为第30个字节到第40个字节内具体的数据。
在本实施例中,可以直接获得边界条件对应的网页元素的数据,即如果边界条件对应的网页元素的下一级网页元素的数据缺失,也可以获得边界条件对应的网页元素的数据。例如,根据上述实施例的说明,如果想获得网址的数据,需要根据域名、访问端口、访问路径的数据生成网址的数据,但是,如果缺少域名、访问端口、访问路径中任一网页元素的数据,则无法生成网址的数据。为了跳过某些网页元素分析异常,则可以通过边界筛选条件跳出该层网页元素的分析,直接得到上一层网页元素的分析结果。例如,如果缺少域名、访问端口、访问路径中任一一项或多项的数据,在检测到网址对应的边界筛选条件后,也可以直接获得网址的数据。
步骤704:将边界条件对应的网页元素作为获得数据的网页元素,进入步骤602。
即可以将边界条件对应的网页元素作为获得数据的网页元素,重复执行当检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,利用父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据,直到父级网页元素为顶层网页元素。
关于步骤602的说明可以参见上述实施例,在此不再赘述。
在本实施例中,利用网页元素之间的层次构成关系,确定各层网页元素的边界,在每次网页元素分析过程中及时发现异常,并跳过异常数据段,在某些网页元素的数据缺失的情况下,还可以通过边界筛选条件继续分析其他的网页元素,以获得网页分析结果。
在实际应用中,可以通过文法规则定义网页元素之间的层次构成关系,以及数据筛选条件与基础网页元素的对应关系,通过编译文法规则生成词法分析器以及语法分析器,由词法分析器以及语法分析器完成本申请实施例提供的网页分析方法。以下将结合示例,对本申请实施例提供的网页分析方法在实际应用中的实现过程进行说明。
文法规则可以用产生式表示,一般产生式的格式为:
vn:v1(p1)...vk(pk),或者,vn:v1...vk;
其中,“:”为规约符号,以规约符号为界,产生式左部为一个非终结符号vn,产生式右边包含一个或者多个符号v1,...,vk,产生式右边的符号可以带有数据筛选条件的p1,...,pk,非终结符号即可以再进行细分的符号,终结符号为不可以再细分的符号。产生式的语义是:产生式的左部符号是由产生式右部的符号规约而来。
本申请实施例的文法规则中,可以将网页元素抽象为符号,记为网页元素符号,不同的网页元素抽象为不同的网页元素符号。
例如,网页可以抽象为网页元素符号html_TOP,网址可以抽象为网页元素符号html_url,网页对象可以抽象为网页元素符号html_object等等。
利用文法规则,可以定义网页元素之间的层次构成关系,例如参见图2所示的定义网页元素之间的层次构成关系,构成顶层网页元素的文法规则可以为:
HTML_TOP:html_url html_object;
其中,网页元素符号html_url表示网址,网页元素符号html_object表示网页对象,二者组合可以生成网页的网页元素符号HTML_TOP。
构成网址的文法规则可以为:
html_url:domain_name access_port url_path;
其中,网页元素符号domain_name表示域名,网页元素符号access_port表示访问端口,网页元素符号url_path表示访问路径,三者组合可以生成网址的网页元素符号html_url。
上述仅为定义网页元素之间的层次构成关系的文法规则的示例性说明,该示例性说明并没有对定义网页元素之间的层次构成关系进行穷举,对于文法规则本申请实施例也不进行限定。
同时,通过文法规则还可以定义数据筛选条件与基础网页元素的对应关系以及边界筛选条件与网页元素的对应关系。
例如,定义数据筛选条件与基础网页元素的对应关系的文法规则可以为:
html_title:html_data($1~/<title>[^<]*</title>/i);
其中,$1~/<title>[^<]*</title>/i为数据筛选条件,由正则表达式表示,终结符html_data作为html(Hyper Text Markup Language,超级文本标记语言)输入数据流的符号,网页元素符号html_title表示标题标签这一基础网页元素,该文法规则可以表示标题标签与该数据筛选条件的对应关系。
又例如,定义边界筛选条件与网页元素的对应关系的文法规则可以为:
html_object_boundary:html_data($1~/</html>/i);
该文法规则代表$1~/</html>/i这一边界筛选条件与网页对象具有对应关系。
上述仅为定义数据筛选条件与基础网页元素对应关系的文法规则的示例性说明,以及定义边界筛选条件与网页元素对应关系的文法规则的示例性说明,该示例性说明并没有对该类文法规则进行穷举,对于文法规则本申请实施例也不进行限定。
另外,还可以通过网页元素加载规则,确定预设的基础网页元素,以进一步确定预设筛选条件,例如通过网页元素加载规则确定仅对标题标签进行分析。
参见图8所示,基于上述文法规则的定义,可以基于编译器实现本申请实施例公开的网页分析方法。具体的,可以将上述文法规则编译成词法分析器、以及每层网页元素分别对应的语法分析器,然后利用词法分析器、语法分析器完成对待分析网页数据的分析,输出分析结果。
词法分析器的编译过程可以包括:
首先获取文法规则中的产生式进行分析,提取得到词法元素,词法元素即为产生式的右部,例如:“html_data($1~/<title>[^<]*</title>/i)”。
由定义边界筛选条件与网页元素的对应关系的文法规则所提取到的词法元素具有更高的优先级,例如给予高优先级标签L1。
由定义数据筛选条件与基础网页元素的对应关系的文法规则所提取到的词法元素,具有更低的优先级,例如给予高优先级标签L0。
将提取的词法元素中的正则表达式归集并构建有穷自动机,得到集成有有穷自动机的词法分析器。也就是说,集成有上述有穷自动机的词法分析器就是对文法规则进行编译得到的词法分析器。有穷自动机可以为确定的有穷自动机DFA(Deterministic FiniteAutomaton),也可以为不确定的有穷自动机NFA(Nondeterministic Finite Automata)。
语法分析器的编译过程可以包括:
可以基于文法规则定义的网页元素之间的层次构成关系,生成语法分析器。所生成的语法分析器包含一个分析语法状态的下推自动机,该下推自动机包括:控制器、自动机状态栈和网页元素符号栈、自动机状态跳转表(GOTO表)和动作表(ACTION表)、输入和输出。其中,输入是词法分析器提供的符号序列,该序列是按照命中的数据匹配范围排序的。自动机状态栈和网页元素符号栈里保存语法状态,语法状态是由下推自动机产生的,初始状态为S0。Action表,即当前状态下输入一个符号不跳转到新的状态,直接获得查表动作(查表动作只能是规约),Goto表,即当前状态下输入一个符号并跳转到新的状态,然后获得查表动作(查表动作可以是规约、移进或接受)。
以下结合实例继续说明词法分析器以及语法分析器的运行过程,该运行过程可以包括:
步骤1:输入待分析网页数据:
将待分析网页数据携带终结符html_data输入词法分析器。
步骤2:词法分析器解析:
将待分析网页数据与词法分析器中的正则表达式进行匹配。根据匹配命中的正则表达式的优先级标识做如下处理:
当正则表达式的优先级标识为L1:返回包括该正则表达式的词法元素以及数据匹配范围。
匹配到优先级标识为L1的正则表达式,代表匹配到边界筛选条件,返回的词法元素可以与边界条件对应,返回的数据匹配范围可以认为是边界条件在待分析网页数据中对应的数据。
当正则表达式的优先级标识为L0:返回包括该正则表达式的词法元素以及数据的匹配范围。匹配到优先级标识为L0的正则表达式,代表匹配到预设筛选条件,返回的词法元素可以与目标条件对应,返回的数据匹配范围可以认为是目标条件在待分析网页数据中对应的数据。
词法分析器输出的结果为词法元素的序列,html_data(x1),html_data(x2)html_data(x3),html_data(x4),....,取出该序列的一个词法元素作为输入符号提交给基础层的语法分析器。
步骤3:语法分析器解析:
进入该层的语法分析器,将输入符号送入语法分析器的自动机,判断输入符号是否包括优先级为L1的正则表达式,如果包括优先级为L1的正则表达式,则终止当前层次的语法分析,输出与该输入符号对应的网页元素符号,执行步骤4;例如,输入符号html_data($1~/</html>/i),其包含边界筛选条件,即输入符号包括优先级为L1的正则表达式,输出与该输入符号对应的网页元素符号html_object,并进入步骤4。
如果不包括优先级为L1的正则表达式,则判断输入符号是否包括终结符,若是,则查询ACTION表;若否,则查询GOTO表,并根据查表得到的动作执行该动作,若动作为规约且规约生成当前层次的上一级的网页元素符号,则执行步骤4;如得到自动机跳转到下一个状态并获得新的输入符号,当新的输入符号是需要由下层语法分析器分析的输入符号,则将该符号从本层语法分析器输出,则执行步骤5,否则继续分析新的输入符号,直至数据分析完成。
结合实例对语法分析器的运行过程简单说明。
首先语法分析器的状态栈为S0,从词法分析器输入符号html_data($1~/<title>[^<]*</title>/i),该输入符号不包括优先级为L1的正则表达式,且html_data是终结符,查询ACTION表,ACTION表记录以下几项内容:“当前状态,可输入符号,采取的动作,新生成的符号”。查表可知S0状态下,可输入符号html_data($1~/<title>[^<]*</title>/i),采取的动作是“规约”,生成网页元素符号是html_title(该步即可认为是确定目标条件对应的基础网页元素,且可以获得该基础网页元素的数据),将html_title作为该层语法分析器的下一个输入符号。
由于html_title是非终结符号,查询GOTO表,GOTO表记录以下几项内容:“当前状态,可输入符号,跳转到新的状态,采取的动作”,查表可知S0状态下,输入符号html_title,跳转到新的状态是S1,采取的动作是“移进”,从词法分析器获取下一个新的输入符号。
下一个输入符号是“html_data($1~/<meta name="keywords"[^>]*>/i)”,查询ACTION表,得到网页元素符号html_keywords,作为新的输入符号;由于输入符号html_keywords是非终结符,查询GOTO表,当前状态S1跳转到新状态S2,采取的动作是“规约”,规约生成新的网页元素符号html_head(生成新的网页元素符号html_head的过程包括根据网页元素title的数据以及网页元素keywords的数据生成网页元素head的数据,即该步可以认为是根据父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据的过程),将规约生成的网页元素符号html_head作为下一个输入符号。
输入符号html_head是非终结符号,查询GOTO表,状态S2跳转到新状态S3,查表动作是“接受”,表明html_head是当前层次语法分析器的目标符号,则当前层次语法分析器结束,将网页元素符号html_head作为上一层语法分析器的输入符号,进入步骤4。
步骤4:切出到上层语法分析器解析:
切出到步骤3语法分析器输出的网页元素符号所在层次的语法分析器,将该网页元素符号作为输入符号,开始执行步骤3。切出到上层语法分析器例如从网页元素keywords、title所在层次的语法分析器切出到网页元素head所在层次的语法分析器。
步骤5:切入到下层语法分析器解析:
切出到步骤3语法分析器输出的网页元素符号所在层次的语法分析器,将该网页元素符号作为输入符号,开始执行步骤3。切入到下层语法分析器解析例如从网页元素head所在层次的语法分析器切入到网页元素keywords、title所在层次的语法分析器。
本申请实施例用编译器进行网页分析,既能通过定义正则表达式灵活描述网页元素,又能用简单明了的文法规则描述网页元素之间的层次构成关系,将网页分析中的复杂实现交给自动程序化的词法分析器和语法分析器:词法分析器匹配正则表达式,语法分析器用下推自动机确定正则表达式对应的网页元素,分析网页元素之间的关系,保证了网页分析的灵活性和高效性。
通过网页元素之间的层次构成关系,清晰定义了网页元素之间的抽象和归属关系,避免网页结构中多层标签嵌套的复杂描述和分析。
同时,确定了边界筛选条件,在每层网页分析过程中出现异常后可以及时发现并跳过异常数据段,且异常数据的影响被限定在本层次语法分析之内。
另外通过网页元素加载规则设置预设筛选条件,达到文法规则一次定义,按需使用分析的效果。
参见图9所示,本申请实施例还提供一种网页分析装置实施例,可以包括:
第一匹配单元901,用于将待分析网页数据与预设筛选条件进行匹配,获得与待分析网页数据匹配上的预设筛选条件作为目标条件,并获得各个目标条件在待分析网页数据中对应的数据;
第一确定单元902,用于根据预设筛选条件与基础网页元素的对应关系,确定目标条件对应的基础网页元素;
第二确定单元903,用于将任一目标条件在待分析网页数据中对应的数据作为该目标条件对应的基础网页元素的数据;
输出单元904,用于将各个目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出。
在本申请实施例一些可能的实现方式中,该装置还可以包括:
第三确定单元,用于根据网页元素之间的层次构成关系,确定与目标条件对应的基础网页元素具有层次构成关系的上层网页元素;
输出单元,还用于将与目标条件对应的基础网页元素具有层次构成关系的上层网页元素作为网页分析结果输出。
在本申请实施例一些可能的实现方式中,第三确定单元具体用于:
根据网页元素之间的层次构成关系,将目标条件对应的基础网页元素的上一级网页元素作为结果网页元素,将结果网页元素的上一级网页元素作为结果网页元素,直到结果网页元素为顶层网页元素,将全部结果网页元素作为与目标条件对应的基础网页元素具有层次构成关系的上层网页元素。
在本申请实施例一些可能的实现方式中,该装置还可以包括:
第四确定单元,用于将目标条件对应的基础网页元素作为获得数据的网页元素;
生成单元,用于根据网页元素之间的层次构成关系,当检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,利用父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据,父级网页元素为获得数据的网页元素的上一级网页元素;
第一触发单元,用于将父级网页元素作为获得数据的网页元素,触发生成单元重复执行当检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,利用父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据,直到父级网页元素为顶层网页元素;
输出单元,还用于将各个父级网页元素的数据作为网页分析结果输出。
在本申请实施例一些可能的实现方式中,该装置还可以包括:
第二匹配单元,用于将待分析网页与边界筛选条件进行匹配,获得与待分析网页数据匹配上的边界筛选条件作为边界条件,并获得边界条件在待分析网页数据中对应的数据;
第五确定单元,用于根据边界筛选条件与网页元素的对应关系,确定边界条件对应的网页元素;
第六确定单元,用于将任一边界条件在待分析网页数据中对应的数据作为该边界条件对应的网页元素的数据;
第二触发单元,用于将边界条件对应的网页元素作为获得数据的网页元素,触发生成单元重复执行当检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,利用父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据,直到父级网页元素为顶层网页元素。
在本申请实施例一些可能的实现方式中,预设筛选条件可以包括用于描述预设的基础网页元素的数据筛选条件。
这样,本申请实施例通过将待分析网页数据与预设筛选条件匹配,得到可以与待分析网页数据匹配的预设筛选条件作为目标条件,该目标条件与基础网页元素具有对应关系,从而可以快速获得待分析网页数据中所具有的基础网页元素,同时,在待分析网页数据与预设筛选条件的匹配过程中,还可以获得目标条件在待分析网页数据中对应的数据,由于目标条件对应有基础网页元素,因此目标条件对应的数据即为目标条件对应有基础网页元素的数据,从而获得目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出,实现对网页的分析,在该过程中无需对网页源代码中多层标签嵌套的复杂描述进行分析,从而降低网页分析的复杂度和出错率。
在本申请实施例中还提供一种计算机可读存储介质,该机算机可读存储介质中存储有指令,当指令在终端设备上运行时,使得终端设备执行上述任一实施例提供的网页分析方法。
在本申请实施例中还提供一种计算机程序产品,该计算机程序产品在终端设备上运行时,使得终端设备执行上述任一实施例提供的网页分析方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种网页分析方法,其特征在于,所述方法包括:
将待分析网页数据与预设筛选条件进行匹配,获得与所述待分析网页数据匹配上的预设筛选条件作为目标条件,并获得各个所述目标条件在所述待分析网页数据中对应的数据;所述预设筛选条件与基础网页元素具有一一对应关系,所述基础网页元素为在网页元素之间的层次构成关系中处于最底层的网页元素;
根据所述预设筛选条件与基础网页元素的对应关系,确定所述目标条件对应的基础网页元素;
将任一目标条件在所述待分析网页数据中对应的数据作为该目标条件对应的基础网页元素的数据;
将各个所述目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出;
将所述目标条件对应的基础网页元素作为获得数据的网页元素;根据网页元素之间的层次构成关系,当检测到父级网页元素的各个下一级网页元素均为所述获得数据的网页元素,利用所述父级网页元素的各个下一级网页元素的数据生成所述父级网页元素的数据,所述父级网页元素为所述获得数据的网页元素的上一级网页元素;将所述父级网页元素作为所述获得数据的网页元素,重复执行所述当检测到父级网页元素的各个下一级网页元素均为所述获得数据的网页元素,利用所述父级网页元素的各个下一级网页元素的数据生成所述父级网页元素的数据,直到所述父级网页元素为顶层网页元素;
将所述待分析网页与边界筛选条件进行匹配,获得与所述待分析网页数据匹配上的边界筛选条件作为边界条件,并获得所述边界条件在所述待分析网页数据中对应的数据;根据所述边界筛选条件与网页元素的对应关系,确定所述边界条件对应的网页元素;将任一边界条件在所述待分析网页数据中对应的数据作为该边界条件对应的网页元素的数据;将所述边界条件对应的网页元素作为获得数据的网页元素,重复执行所述当检测到父级网页元素的各个下一级网页元素均为所述获得数据的网页元素,利用所述父级网页元素的各个下一级网页元素的数据生成所述父级网页元素的数据,直到所述父级网页元素为顶层网页元素;将各个所述父级网页元素的数据作为网页分析结果输出。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据网页元素之间的层次构成关系,确定与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素;
将与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素作为网页分析结果输出。
3.根据权利要求2所述的方法,其特征在于,所述根据网页元素之间的层次构成关系,确定与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素,包括:
根据网页元素之间的层次构成关系,将所述目标条件对应的基础网页元素的上一级网页元素作为结果网页元素,将所述结果网页元素的上一级网页元素作为所述结果网页元素,直到所述结果网页元素为顶层网页元素,将全部所述结果网页元素作为与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素。
4.根据权利要求1所述的方法,其特征在于,所述预设筛选条件包括用于描述预设的基础网页元素的数据筛选条件。
5.一种网页分析装置,其特征在于,所述装置包括:
第一匹配单元,用于将待分析网页数据与预设筛选条件进行匹配,获得与所述待分析网页数据匹配上的预设筛选条件作为目标条件,并获得各个所述目标条件在所述待分析网页数据中对应的数据;所述预设筛选条件与基础网页元素具有一一对应关系,所述基础网页元素为在网页元素之间的层次构成关系中处于最底层的网页元素;
第一确定单元,用于根据所述预设筛选条件与基础网页元素的对应关系,确定所述目标条件对应的基础网页元素;
第二确定单元,用于将任一目标条件在所述待分析网页数据中对应的数据作为该目标条件对应的基础网页元素的数据;
输出单元,用于将各个所述目标条件对应的基础网页元素以及该目标条件对应的基础网页元素的数据作为网页分析结果输出;
第四确定单元,用于将目标条件对应的基础网页元素作为获得数据的网页元素;
生成单元,用于根据网页元素之间的层次构成关系,当检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,利用父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据,父级网页元素为获得数据的网页元素的上一级网页元素;
第一触发单元,用于将父级网页元素作为获得数据的网页元素,触发生成单元重复执行当检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,利用父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据,直到父级网页元素为顶层网页元素;
第二匹配单元,用于将待分析网页与边界筛选条件进行匹配,获得与待分析网页数据匹配上的边界筛选条件作为边界条件,并获得边界条件在待分析网页数据中对应的数据;
第五确定单元,用于根据边界筛选条件与网页元素的对应关系,确定边界条件对应的网页元素;
第六确定单元,用于将任一边界条件在待分析网页数据中对应的数据作为该边界条件对应的网页元素的数据;
第二触发单元,用于将边界条件对应的网页元素作为获得数据的网页元素,触发生成单元重复执行当检测到父级网页元素的各个下一级网页元素均为获得数据的网页元素,利用父级网页元素的各个下一级网页元素的数据生成父级网页元素的数据,直到父级网页元素为顶层网页元素;
所述输出单元,还用于将各个父级网页元素的数据作为网页分析结果输出。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第三确定单元,用于根据网页元素之间的层次构成关系,确定与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素;
所述输出单元,还用于将与所述目标条件对应的基础网页元素具有层次构成关系的上层网页元素作为网页分析结果输出。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-4任一项所述的网页分析方法。
8.一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行权利要求1-4任一项所述的网页分析方法。
CN201711481065.2A 2017-12-29 2017-12-29 一种网页分析方法、装置及存储介质、程序产品 Active CN108196874B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711481065.2A CN108196874B (zh) 2017-12-29 2017-12-29 一种网页分析方法、装置及存储介质、程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711481065.2A CN108196874B (zh) 2017-12-29 2017-12-29 一种网页分析方法、装置及存储介质、程序产品

Publications (2)

Publication Number Publication Date
CN108196874A CN108196874A (zh) 2018-06-22
CN108196874B true CN108196874B (zh) 2021-03-16

Family

ID=62586766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711481065.2A Active CN108196874B (zh) 2017-12-29 2017-12-29 一种网页分析方法、装置及存储介质、程序产品

Country Status (1)

Country Link
CN (1) CN108196874B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148957B (zh) * 2019-06-26 2024-07-30 北京百度网讯科技有限公司 网页访问数据分析方法、装置、设备及可读存储介质
CN111949916B (zh) * 2020-08-20 2024-04-09 深信服科技股份有限公司 一种网页分析方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440315A (zh) * 2013-08-27 2013-12-11 北京工业大学 一种基于主题的Web页面清洗方法
CN104199096A (zh) * 2014-09-12 2014-12-10 吉林大学 一种地震数据体层位面提取方法及装置
CN105095525A (zh) * 2015-09-28 2015-11-25 北京奇虎科技有限公司 获取网页页面数据的方法及装置
CN106599246A (zh) * 2016-12-20 2017-04-26 维沃移动通信有限公司 一种显示内容的拦截方法、移动终端及控制服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730013B2 (en) * 2005-10-25 2010-06-01 International Business Machines Corporation System and method for searching dates efficiently in a collection of web documents
CN101719124A (zh) * 2008-10-09 2010-06-02 李晶心 基于正则匹配的无限层次多路径采集***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440315A (zh) * 2013-08-27 2013-12-11 北京工业大学 一种基于主题的Web页面清洗方法
CN104199096A (zh) * 2014-09-12 2014-12-10 吉林大学 一种地震数据体层位面提取方法及装置
CN105095525A (zh) * 2015-09-28 2015-11-25 北京奇虎科技有限公司 获取网页页面数据的方法及装置
CN106599246A (zh) * 2016-12-20 2017-04-26 维沃移动通信有限公司 一种显示内容的拦截方法、移动终端及控制服务器

Also Published As

Publication number Publication date
CN108196874A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
US8566789B2 (en) Semantic-based query techniques for source code
RU2610241C2 (ru) Способ и система синтеза текста на основе извлеченной информации в виде rdf-графа с использованием шаблонов
US7165216B2 (en) Systems and methods for converting legacy and proprietary documents into extended mark-up language format
US20070234288A1 (en) Type inference system and method
US20110202331A1 (en) Method and software for extracting chemical data
US8209599B2 (en) Method and system for handling references in markup language documents
US20070073680A1 (en) Semantic analysis apparatus, semantic analysis method and semantic analysis program
US8606806B2 (en) Static typing of xquery expressions in lax validation content
US8850309B2 (en) Optimized methods and devices for the analysis, processing and evaluation of expressions of the XPath type on data of the binary XML type
CN107015839B (zh) 一种实现前端事件代理的方法及装置
US10891117B2 (en) Method and system for using subroutine graphs for formal language processing
CN104331438A (zh) 对小说网页内容选择性抽取方法和装置
CN108196874B (zh) 一种网页分析方法、装置及存储介质、程序产品
EP2711838A1 (en) Documentation parser
Anderson et al. Supporting analysis of SQL queries in PHP AiR
Atsumi et al. An XML C source code interchange format for CASE tools
Arusoaie et al. Automating abstract syntax tree construction for context free grammars
CN111949916A (zh) 一种网页分析方法、装置、设备及存储介质
CN111381814A (zh) 生成代码文件的语法树的方法、装置及电子设备
CN111381827A (zh) 生成代码文件的语法树的方法、装置及电子设备
Schönberg et al. Verifying the consistency of web-based technical documentations
CN110618809B (zh) 一种前端网页输入约束提取方法和装置
van der Spek The overture project: Designing an open source tool set
JP2004178011A (ja) 文書変換装置及び文書変換方法
CN114138425A (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