CN106372042B - 一种文档内容获取方法和装置 - Google Patents

一种文档内容获取方法和装置 Download PDF

Info

Publication number
CN106372042B
CN106372042B CN201610799872.8A CN201610799872A CN106372042B CN 106372042 B CN106372042 B CN 106372042B CN 201610799872 A CN201610799872 A CN 201610799872A CN 106372042 B CN106372042 B CN 106372042B
Authority
CN
China
Prior art keywords
resolved
document
node
mark
content
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
CN201610799872.8A
Other languages
English (en)
Other versions
CN106372042A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201610799872.8A priority Critical patent/CN106372042B/zh
Publication of CN106372042A publication Critical patent/CN106372042A/zh
Application granted granted Critical
Publication of CN106372042B publication Critical patent/CN106372042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars

Abstract

本申请实施例提供了一种文档内容获取方法和装置,涉及网络文档解析技术领域。所述方法包括:读取待解析文档和CSS文档解析表达式;解析所述CSS文档表达式对应的树状层级结构;根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容。解决了复杂性的不同需要循环调用解析代码的时候,会产生极其复杂的嵌套逻辑,致使代码的可读性很差,开发和维护的复杂度很高的问题,提高了解析效率,提升了代码的可读性和可维护性。

Description

一种文档内容获取方法和装置
技术领域
本申请涉及网络文档解析技术领域,特别是涉及一种文档内容获取方法和一种文档内容获取装置。
背景技术
随着网络技术的普及以及移动互联网设备的普及,网络上存在着巨量的由移动互联网设备终端用户产生的数据,其中不仅包括用户存储在网络上的身份信息等数据,还包括由用户发表在网络上的文字信息。为了提供更好的网络服务,在很多情况下需要在用户提供的巨量信息中针对特定的目的进行信息提取。
目前,提取网络信息主要通过网络爬虫获取文档,将这些文档转换为规范化的数据的常用方法有正则表达式的匹配、基于CSS表达式的解析等,然而使用这些方法来提取文档中的期望数据时,需要编辑大量复杂的代码对文档内容依次进行解析,并且针对不同内容的提取要更改解析代码,这样,根据解析过程的复杂性的不同需要循环调用解析代码的时候,会产生极其复杂的嵌套逻辑,致使代码的可读性很差,开发和维护的复杂度很高。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种文档内容获取方法和相应的一种文档内容获取装置。
为了解决上述问题,本申请公开了一种文档内容获取方法,包括:读取待解析文档和CSS文档解析表达式;所述CSS文档解析表达式包括:以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点及各级子节点分别构建的解析语句;解析所述CSS文档表达式对应的树状层级结构;其中,对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点的解析语句,将其解析为包括数组结构标识的父节点;对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,将其解析为所述父节点的子节点;根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容。
优选地,CSS文档解析表达式包括:以待解析父级对象、数组结构标识、待解析属性结构标识、特定赋值符标识构建的针对父节点的解析语句;以待解析父级对象、数组结构标识、待解析子节点标签对象、待解析属性标识、特定赋值符标识构建的针对子节点的解析语句;以待解析父级对象、数组结构标识、待解析子节点标签对象、特定赋值符标识构建的针对子节点的解析语句。
优选地,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容,包括:对于所述父节点,按序遍历所述待解析文档,当查找到所述待解析父级对象时,从所述对应所述待解析父级对象所在节点,获取对应所述父节点的待解析属性结构标识中的属性对象的属性值,并通过特定赋值符标识将所述属性值赋予第一标识;在所述查找到的待解析父级对象所在节点之下,查找相应子节点的待解析子节点标签对象的待解析属性标识内的属性对象的属性值,并通过特定赋值符标识将所述属性值赋予第二标识,以及查找相应子节点的待解析子节点标签对象的内容数据,并通过特定赋值符标识将所述内容数据赋予第三标识。
优选地,当所述数组结构标识中的字符格式包括单个字母时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:
以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取所有的相应节点的内容;
当所述数组结构标识中的字符格式包括数字时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:
以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取与所述数字对应个数的父级节点及其各层级子节点的内容;
当所述数组结构标识中的字符格式包括i:skip(*)时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:以该节点及之下的各层级子节点为基础,在循环从所述待解析文档中获取相应节点的内容时,跳过所述*所对应的父级节点及其各层子节点;当所述数组结构标识中的字符格式包括x:y时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:以该节点及之下的各层级子节点为基础,在循环从所述待解析文档中获取相应节点的内容时,如果父级节点下存在y个兄弟节点,则获取其中的第x个兄弟节点的内容。
优选地,所述CSS文档解析表达式还包括:以待解析对象、特殊赋值符构建的解析语句。
优选地,所述待解析属性结构标识中包括:字符型属性对象和/或正则表达式型属性对象。
优选地,所述根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤之后,还包括:以数组标识、数组序号组合序列的形式对所述内容进行标识以供存储。为了解决上述问题,本申请还公开了一种词项的权重标注装置,包括:
优选地,所述以数组标识、数组序号组合序列的形式对所述内容进行标识以供存储的步骤之后,还包括:将所存储的以数组标识、数组序号组合序列的形式标识的内容进行输出。
优选地,所述将所存储的以数组标识、数组序号组合序列的形式标识的内容进行输出的步骤,包括:通过直接赋值符标识,将指定内容输出和/或存储。
本申请公开了一种文档内容获取装置,包括:
CSS文档解析表达式读取模块,应用读取待解析文档和CSS文档解析表达式;所述CSS文档解析表达式包括:以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点及各级子节点分别构建的解析语句;
CSS文档表达式树状层级结构解析模块,用于解析所述CSS文档表达式对应的树状层级结构;其中,对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点的解析语句,将其解析为包括数组结构标识的父节点;对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,将其解析为所述父节点的子节点;
文档解析模块,用于根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容。
本申请实施例包括以下优点:
本申请实施例,根据读取待解析文档和CSS文档解析表达式;解析所述CSS文档表达式对应的树状层级结构,其中,对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点的解析语句,将其解析为包括数组结构标识的父节点;对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,将其解析为所述父节点的子节点,根据所述树状层级结构对待解析文档进行解析,循环从所述待解析文档中获取相应节点的内容。
通过上述过程可以实现通过书写简单的CSS解析表达式来解析文档,并且可以循环使用,对于被解析文档的树形结构也可以对每一层的内容进行自动解析,解决了复杂性的不同需要循环调用解析代码的时候,会产生极其复杂的嵌套逻辑,致使代码的可读性很差,开发和维护的复杂度很高的问题,提高了解析效率,提升了代码的可读性和可维护性。
附图说明
图1是本申请实施例提供的一种文档内容获取方法实施例的步骤流程图;
图1A是本申请实施例提供的待解析评论文档html示例图;
图2是本申请实施例提供的另一种文档内容获取方法实施例的步骤流程图;
图2A是本申请实施例提供的待解析评论网页内容示意图;
图3是本申请实施例提供的再一种文档内容获取方法实施例的步骤流程图;
图3A是本申请实施例提供的待解析表格的网页内容示意图;
图4是是本申请实施例提供的一种文档内容获取装置实施例的结构框图;
图5是是本申请实施例提供的另一种文档内容获取装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图1,示出了本申请的一种文档内容获取方法实施例的步骤流程图,具体可以包括如下步骤:
步骤110,读取待解析文档和CSS文档解析表达式;所述CSS文档解析表达式包括:以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点及各级子节点分别构建的解析语句。
本发明实施例中,当解析器获取待解析文档文件后,会读取CSS文档解析表达式,本发明实施例中的CSS文档解析表达式可以通过自定义的标识符实现对待解析文档的循环解析,以及对解析结果直接赋值存储,上述自定义的标识符包括了数组结构标识、待解析属性结构标识和特定赋值符标识。在实际应用中,数组结构标识为“[]”,待解析属性结构标识为“{}”,特定赋值符标识为“=>”,当然,自定义标识可以根据用户的需求和待解析文档的结构或者内容进行修改,本发明实施例对此不加以限制。
步骤120,解析所述CSS文档解析表达式对应的树状层级结构;其中,对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点的解析语句,将其解析为包括数组结构标识的父节点;对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,将其解析为所述父节点的子节点。
本发明实施例中,根据用户定义的CSS文档表达式,生成对应该表达式的树状层级结构,其中,数组结构标识、待解析属性结构标识和特定赋值符标识对应树状层级结构中的父节点,数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,生成树状层级结构中的子节点。所生成的树状层级结构与待解析文档的树状层级结构相对应,根据CSS文档解析表达式每一条语句对应的待解析文档中的对象,循环逐层解析该对象子节点中的内容,并获取对应节点中需要提取的内容。例如,用户自定义的CSS解析表达式如下所示:
#comments.comment-item[i]{data-cid}=>id
#comments.comment-item[i]p=>content
其中,“[i]”为数组结构标识,表示循环,在解析这个语句的时候,在待解析文档中所有的“.comment-item”标签的内容都会被读取,如图1A描述的是待解析的评论文档的HTML结构,其中带有“comment-item”类别的<div>中包含“data-cid”属性,“comment-item”类别下包含“.comment-vote”、“.comment-info”,还包括<a>标签、<p>标签,其中<a>标签下展示的是该评论的url以及评论人名称,<p>标签下展示的是评论内容。根据图1A的描述,当在解析该评论文档时,首先将上述提到的CSS解析表达式解析为对应的树状层级结构,其中#comments.comment-item对应的评论html文档中所有包含.comment-item的节点,将上述节点解析为树状层级结构中的父节点,<p>中包含的内容是.comment-item的节点下的子节点,所以#comments.comment-item[i]p解析为树状层级结构中的子节点。
步骤130,根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容。
本发明实施例中,根据步骤120的描述,当树状层级结构的一节点包括数组结构标识时,也就是在#comments.comment-item[i]包含的[i]为数组结构标识,则在解析上述评论的html文档时,只要读取到包含.comment-item内容的行,就解析其当前节点以及其包含的子节点的内容,通过数组结构标识[i]可以实现循环解析所有.comment-item内容的目的。
在本发明实施例中,通过读取待解析文档和CSS文档解析表达式;解析所述CSS文档表达式对应的树状层级结构;根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容。实现了通过自定义新的CSS解析表达式的语法,实现循环解析文档内容中相应节点的目的,提高了解析效率,提升了代码的可读性和可维护性。
实施例二
参照图2,示出了本申请的一种文档内容获取方法实施例的步骤流程图,具体可以包括如下步骤:
步骤210,读取待解析文档和以待解析父级对象、数组结构标识、待解析属性结构标识、特定赋值符标识构建的针对父节点的解析语句。
本发明实施例中,用户自定义的CSS文档解析表达式包括以待解析父级对象、数组结构标识、待解析属性结构标识、特定赋值符标识构建的针对父节点的解析语句,其中待解析的父级对象为待解析文档中对应的根节点,依次根据数组结构标识[]、待解析属性结构标识{}、特定赋值符标识=>构建的解析表达式可以为#comments.comment-item[i]{data-cid}=>id,如图2A所示为待解析评论文档的网页展示页面,而图1A描述的是该网页展示页面的html格式的文档,当读取待解析评论文档的html格式文档后,读取CSS解析式#comments.comment-item[i]{data-cid}=>id,其中#comments.comment-item[i]对应html文档中对应每一条包含.comment-item的节点以及其对应的子节点内容。
步骤220,以待解析父级对象、数组结构标识、待解析子节点标签对象、待解析属性标识、特定赋值符标识构建的针对子节点的解析语句。
本发明实施例中,用户自定义的CSS文档解析表达式包括以待解析父级对象、数组结构标识、待解析子节点标签对象、待解析属性标识、特定赋值符标识构建的针对子节点的解析语句,其中待解析的父级对象为待解析文档中对应的根节点,依次根据数组结构标识[]、待解析属性结构标识{}、特定赋值符标识=>,以及待解析子节点对象的解析语句为#comments.comment-item[i]{data-cid}=>id,其中.comment-item[i]对应html文档中对应每一条包含.comment-item的节点以及其对应的子节点内容,{data-cid}表示包含“data-cid”属性的节点内容,图1A中可以看出,包含{data-cid}标签的节点内容为评论对应的ID号,“=>id”表示将#comments.comment-item[i]{data-cid}表达式读取的待解析文档中对应节点的内容赋值于id,也就是html文档中对应每一条包含.comment-item的节点的评论的ID号码赋值于id并存储。
步骤230,以待解析父级对象、数组结构标识、待解析子节点标签对象、特定赋值符标识构建的针对子节点的解析语句。
本发明实施例中,用户自定义的CSS文档解析表达式包括以待解析父级对象、数组结构标识、待解析子节点标签对象、特定赋值符标识构建的针对子节点的解析语句,其中待解析的父级对象为待解析文档中对应的根节点,依次根据数组结构标识[]、特定赋值符标识=>,例如解析式#comments.comment-item[i]p=>content,其中.comment-item[i]对应html文档中对应每一条包含.comment-item的节点以及其对应的子节点内容,p对应的包含p标签的节点内容,在图1A中可以看出该节点内容为评论的具体文字内容,“=>comment”,表示将#comments.comment-item[i]p表达式读取的待解析文档中对应节点的内容赋值于comment,也就是html文档中对应每一条包含.comment-item的节点下,对应子节点包含p标签的评论的文字内容赋值于comment并存储。
步骤240,解析所述CSS文档表达式对应的树状层级结构;其中,对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点的解析语句,将其解析为包括数组结构标识的父节点;对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,将其解析为所述父节点的子节点;所述待解析属性结构标识中包括:字符型属性对象和/或正则表达式型属性对象。
本发明实施例中,根据用户定义的CSS文档表达式,生成对应该表达式的树状层级结构,其中,数组结构标识、待解析属性结构标识和特定赋值符标识对应树状层级结构中的父节点,数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,生成树状层级结构中的子节点。所生成的树状层级结构与待解析文档的树状层级结构相对应,根据CSS文档解析表达式每一条语句对应的待解析文档中的对象,循环逐层解析该对象子节点中的内容,并获取对应节点中需要提取的内容。例如,用户自定义的CSS解析表达式如下所示:
#comments.comment-item[i]{data-cid}=>id
#comments.comment-item[i]p=>content
其中,如图1A描述的是待解析的评论文档的HTML结构,其中带有“comment-item”类别的<div>中包含“data-cid”属性,“comment-item”类别下包含“.comment-vote”、“.comment-info”,还包括<a>标签、<p>标签,其中<a>标签下展示的是该评论的url以及评论人名称,<p>标签下展示的是评论内容。根据图1A的描述,当在解析该评论文档时,首先将上述提到的CSS解析表达式解析为对应的树状层级结构,其中#comments.comment-item对应的评论html文档中所有包含.comment-item的节点,将上述节点解析为树状层级结构中的父节点,<p>中包含的内容是.comment-item的节点下的子节点,如此根据数组结构标识[]、待解析属性结构标识{}、特定赋值符标识=>构建成的解析表达式,对待解析文档中的各对应节点的内容逐一进行循环解析,并将解析结果进行存储。此外,待解析属性结构标识{}中还可以包括:字符型属性对象和/或正则表达式型属性对象,例如CSS解析表达式:
#comments.comment-item[i]span.rating{class:matches(allstar(\\d{2}))}=>vote
其中,{class:matches(allstar(\\d{2}))}属性中还包括了正则表达式matches(allstar(\\d{2}),可以对待解析文档内容进行修改,在此例中,结合图2A和图1A的描述,#comments.comment-item[i]span.rating语句解析评论对应的评分,而页面中的评分是根据星标显示,在提取结果中想要让星标转换为可读数字,可以使用正则表达式可以将星标转换为数字,如此,上述CSS解析表达式的解析结果为星标对应的正则计算结果。
步骤250,对于所述父节点,按序遍历所述待解析文档,当查找到所述待解析父级对象时,从所述对应所述待解析父级对象所在节点,获取对应所述父节点的待解析属性结构标识中的属性对象的属性值,并通过特定赋值符标识将所述属性值赋予第一标识。
本发明实施例中,根据步骤210-250的描述,按序遍历所述待解析文档,针对CSS解析表达式对应的父级对象所在节点,读取父节点的待解析属性结构标识{}中的属性对象的属性值,例如根据#comments.comment-item[i]{data-cid}=>id解析如图1A所示的html文档,首先读取所有包含.comment-item的节点内容,然后读取每个.comment-item节点内容中对应的内容中属性data-cid对应的具体内容,并将该内容进行正则计算,得出最终的结果,并将结果通过“=>”赋值给id并存储。
步骤260,在所述查找到的待解析父级对象所在节点之下,查找相应子节点的待解析子节点标签对象的待解析属性标识内的属性对象的属性值,并通过特定赋值符标识将所述属性值赋予第二标识,以及查找相应子节点的待解析子节点标签对象的内容数据,并通过特定赋值符标识将所述内容数据赋予第三标识。
本发明实施例中,根据步骤250的描述,当根据CSS解析表达式查找到父节点下相应子节点对应的标签对象的待解析属性标识内的属性对象的属性值时,例如下面的根据CSS解析表达式#comments.comment-item[i]span.rating{class:matches(allstar(\\d{2}))}=>vote解析如图1A所示的html文档,首先读取所有包含.comment-item的节点内容,然后读取每个.comment-item节点内容下子节点中<span>对应的内容中rating对应的类别,并将该内容进行正则计算,得出最终的结果,并将结果通过“=>”赋值给vote并存储。除此之外还可以利用特殊赋值符“=>”,将文档中相应子节点的待解析子节点标签对象的内容数据直接赋值给用户自定义的标识,这里可以是第一标识、第二标识或第三标识,例如可以通过CSS解析表达式"h1=>title"查找到父节点下相应子节点对应<h1>的所有内容,并直接赋值给用户自定义标识title。
在本发明实施例中,首先读取分别以待解析父级对象、数组结构标识、待解析子节点标签对象、待解析属性标识、特定赋值符标识构建的解析语句,然后根据上述解析语句逐一对待解析对象的中相应层级结构进行循环解析,然后将解析内容通过特定赋值符赋值于特定的标识,实现了通过自定义新的CSS解析表达式的语法,实现循环解析文档内容中相应节点的目的,并实现了利用CSS解析表达式直接赋值的目的。
实施例三
参照图3,示出了本申请的一种文档内容获取方法实施例的步骤流程图,具体可以包括如下步骤:
步骤310,以待解析父级对象、数组结构标识、待解析属性结构标识、特定赋值符标识构建的针对父节点的解析语句。
此步骤与实施例二中的步骤210相同,在此不再详述。
步骤320,以待解析父级对象、数组结构标识、待解析子节点标签对象、待解析属性标识、特定赋值符标识构建的针对子节点的解析语句。
此步骤与实施例二中的步骤220相同,在此不再详述。
步骤330,以待解析父级对象、数组结构标识、待解析子节点标签对象、特定赋值符标识构建的针对子节点的解析语句。
此步骤与实施例二中的步骤230相同,在此不再详述。
步骤340,解析所述CSS文档表达式对应的树状层级结构;其中,对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点的解析语句,将其解析为包括数组结构标识的父节点;对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,将其解析为所述父节点的子节点。
此步骤与实施例二中的步骤240相同,在此不再详述。
步骤350,当所述数组结构标识中的字符格式包括单个字母时,以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取所有的相应节点的内容。
本发明实施例中,在CSS解析表达式中添加自定义标识时,可以通过在数组结构标识“[]”中添加相应的内容而实现不同的功能,而当数组结构标识“[]”中为单个字母时,如[i]、[j]、[k]是可以实现以当前节点及之下各级子节点为基础的循环解析的功能,而其中i、j、k分别表示待解析文档中带有不同的标签的对象或者针对不同规则进行的循环解析,例如,针对奖牌榜发布页面的解析过程中,用户如果想获取奖牌榜前十名的人物信息,那么针对牌榜发布页面的html的解析式中会出现数组结构标识“[]”,对前十名的奖牌获得者的展示内容进行循环解析,而众所周知在牌榜发布页面上,前三名的网页表现形式与其他获奖者的并不相同,一般情况下前三名会做一个强调或者突出的显示效果,所以这种突出的显示效果体现在对应的html文档中会呈现不同的标签,所以针对前十名的获奖者信息的提前就要分别提取前三名和第三名到第十名的获奖者信息,那么就可以分别使用两条带有数组结构标识“[]”的CSS解析表达式,分别在其中添加不同的字母以分别针对前三名和第三名到第十名的获奖者信息在html表达式中的不同标签和属性,当然在具体实现的时候,CSS解析表达式还要结合待解析子节点标签对象、待解析属性标识等自定义标识。
在实际应用中,在根据数组结构标识“[]”实现循环解析功能时,是通过用户自定义的数组结构标识“[]”调用在后台提前编辑好的可以实现循环解析功能的代码,所以针对用户自定义的不同标识,都是通过在计算机读取CSS解析表达式时调用相应的代码以实现不同的功能,而上述代码都是由用户提前编辑和处理的,所以针对不同的自定义标识实现的具体功能可以根据用户的需求而做相应的更改,本发明实施例对此不加以限制。
步骤360,当所述数组结构标识中的字符格式包括数字时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取与所述数字对应个数的父级节点及其各层级子节点的内容。
本发明实施例中,在CSS解析表达式中添加自定义标识时,可以通过在数组结构标识“[]”中添加相应的内容而实现不同的功能,而当数组结构标识“[]”中为数字时,如[4]表示的是,在实现以当前节点及之下各级子节点为基础的循环解析的功能时,读取当前节点之后的第四个同级节点以及相应子节点的内容,例如图1A中所示的评论页面的html格式文档中,如果使用CSS解析表达式#comments.comment-item[4]{data-cid},那么该解析式只读取第四个评论对应的“data-cid”属性的内容。
步骤370,当所述数组结构标识中的字符格式包括i:skip(*)时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:以该节点及之下的各层级子节点为基础,在循环从所述待解析文档中获取相应节点的内容时,跳过所述*所对应的父级节点及其各层子节点。
本发明实施例中,在CSS解析表达式中添加自定义标识时,可以通过在数组结构标识“[]”中添加相应的内容而实现不同的功能,而当数组结构标识“[]”中为i:skip(*)时,表示跳过指定行的循环功能,*一般为数字,例如图1A中所示的评论页面的html格式文档中,如果使用CSS解析表达式#comments.comment-item[i:skip(4)]{data-cid},那么该解析式在读取所有评论对应的“data-cid”属性的内容时,会跳过第四个评论。
在实际应用中,数组结构标识“[]”中为i:break(regular)时,表示在当前节点为止跳出循环。
步骤380,当所述数组结构标识中的字符格式包括x:y时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:以该节点及之下的各层级子节点为基础,在循环从所述待解析文档中获取相应节点的内容时,如果父级节点下存在y个兄弟节点,则获取其中的第x个兄弟节点的内容。
本发明实施例中,在CSS解析表达式中添加自定义标识时,可以通过在数组结构标识“[]”中添加相应的内容而实现不同的功能,而当数组结构标识“[]”中为x:y时,一般x:y为数字,可以实现分支判断读取待解析文档的功能,尤其使用在待解析文档为表格内容时,例如解析如图3A所示的表格内容时,如果想要单独提取表格中第四列的内容,在数组结构标识“[]”使用[4:9;2:7]可以实现,其中在上述表格对应的html格式文档中,“惊天魔盗团2”对应父节点,所以4:9对应是所有电影名称下第一行的第四列的表格内容,而2:7对应所有电影名称下第二行和第三行第四列的内容,所以通过在解析表达式中添加[4:9;2:7]可以单独提取表格中第四列的内容。
优选的,所述CSS文档解析表达式还包括:以待解析对象、特殊赋值符构建的解析语句。
在本发明实施例中,在CSS文档解析表达式中还可以通过添加以待解析对象、特殊赋值符构建的解析语句,例如“h1=>title”语句,可以将待解析对象h1通过特殊赋值符“=>”赋值于自定义标识title。
优选的,所述根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤之后,还包括:
以数组标识、数组序号组合序列的形式对所述内容进行标识以供存储。
本发明实施例中,当通过包含数组结构标识的CSS解析表达式读取待解析文档中相应节点的内容后,最终解析结果会以数组标识、数组序号组合序列的形式存储,例如,在图1A所示的待解析评论页面的html格式的文档中,使用#comments.comment-item[i]span.rating{class:matches(allstar(\\d{2}))}=>vote语句对上述html格式的文档解析的结果存储为i2.vote=40,其中i表示解析出它的表达式中含有一个[i],2表示该循环项的第2个,对于多级表达式的情况,如:div[i]span[i]=>value的场景,解析后的结果存储为i2i3.value=XXX形式。
优选的,所述以数组标识、数组序号组合序列的形式对所述内容进行标识以供存储的步骤之后,还包括:
将所存储的以数组标识、数组序号组合序列的形式标识的内容进行输出。
本发明实施例中,将得到的解析内容按照CSS解析表达式读取待解析文档数据的顺序按照一一对应的关系进行展示,其中每一个解析结果对应解析过程中按照解析式生成的树状结构的对应关系进行展示,如下:
#comments.comment-item[i]{data-cid}=>id",//评论id
#comments.comment-item[i]span.rating{class:matches(allstar(\\d{2}))}=>vote",//评分
#comments.comment-item[i]p=>content",//评论内容
h1=>title
解析表达式针对图1A所示的待解析文档的解析结果根据解析表达式对应的树状结构表示为title值、id值、vote值、content值,且每个id值分别于其对应的vote值、content值以及title值一一对应。
优选的,所述将所存储的以数组标识、数组序号组合序列的形式标识的内容进行输出的步骤,包括:
通过直接赋值符标识,将指定内容输出和/或存储。
本发明实施例中,在输出解析结果时,如果用户想在输出的结果页面上展示待解析文档中没有的内容,可以通过在解析表达式中添加直接赋值符标识来实现,例如可以通过在解析表达式中添加“输出结果为:”==>value的表达式,在解析结果的输出页面上添加“输出结果为:”字段,而此字段是不存在于待解析文档内容中的。当然,在实际应用中,也可以将解析结果存储在数据库中或者其他用户指定的存储路径中。
在本发明实施例中,首先读取分别以待解析父级对象、数组结构标识、待解析子节点标签对象、待解析属性标识、特定赋值符标识构建的解析语句,然后根据上述解析语句逐一对待解析对象的中相应层级结构进行循环解析,然后将解析内容通过特定赋值符赋值于特定的标识,实现了通过自定义新的CSS解析表达式的语法,实现循环解析文档内容中相应节点的目的,并实现了利用CSS解析表达式直接赋值的目的,提高了解析效率,提升了代码的可读性和可维护性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
实施例四
参照图4,示出了本申请的一种词项的权重标注装置实施例的结构框图,具体可以包括如下模块:
所述文档内容获取装置400,包括:CSS文档解析表达式读取模块401,CSS文档表达式树状层级结构解析模块402,文档解析模块403。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
参照图5所示,CSS文档解析表达式读取模块401,用于读取待解析文档和CSS文档解析表达式;所述CSS文档解析表达式包括:以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点及各级子节点分别构建的解析语句;可选的,CSS文档解析表达式读取模块401,可以包括:父节点解析语句构建子模块4011,用于以待解析父级对象、数组结构标识、待解析属性结构标识、特定赋值符标识构建的针对父节点的解析语句;第一种解析语句构建子模块4012,用于以待解析父级对象、数组结构标识、待解析子节点标签对象、待解析属性标识、特定赋值符标识构建的针对子节点的解析语句;第二种解析语句构建子模块4013,用于以待解析父级对象、数组结构标识、待解析子节点标签对象、特定赋值符标识构建的针对子节点的解析语句。第三种解析语句构建子模块4014,用于以待解析对象、特殊赋值符构建的解析语句。
CSS文档表达式树状层级结构解析模块402,用于解析所述CSS文档表达式对应的树状层级结构;其中,对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点的解析语句,将其解析为包括数组结构标识的父节点;对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,将其解析为所述父节点的子节点;
文档解析模块403,用于根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容。可选的,文档解析模块403,可以包括:父节点遍历子模块4031,用于对于所述父节点,按序遍历所述待解析文档,当查找到所述待解析父级对象时,从所述对应所述待解析父级对象所在节点,获取对应所述父节点的待解析属性结构标识中的属性对象的属性值,并通过特定赋值符标识将所述属性值赋予第一标识;子节点遍历子模块4032,用于在所述查找到的待解析父级对象所在节点之下,查找相应子节点的待解析子节点标签对象的待解析属性标识内的属性对象的属性值,并通过特定赋值符标识将所述属性值赋予第二标识,以及查找相应子节点的待解析子节点标签对象的内容数据,并通过特定赋值符标识将所述内容数据赋予第三标识。可选的,当所述数组结构标识中的字符格式包括单个字母时,文档解析模块403,还可以包括:获取子节点内容子模块4033,用于以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取所有的相应节点的内容;
可选的,当所述数组结构标识中的字符格式包括数字时,文档解析模块403,还可以包括:获取子节点数字对应内容子模块4034,用于以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取与所述数字对应个数的父级节点及其各层级子节点的内容;
可选的,当所述数组结构标识中的字符格式包括i:skip(*)时,文档解析模块403,还可以包括:跳跃获取子节点内容子模块4035,用于以该节点及之下的各层级子节点为基础,在循环从所述待解析文档中获取相应节点的内容时,跳过所述*所对应的父级节点及其各层子节点;
可选的,当所述数组结构标识中的字符格式包括x:y时,文档解析模块403,还可以包括:获取兄弟节点内容子模块4036,用于以该节点及之下的各层级子节点为基础,在循环从所述待解析文档中获取相应节点的内容时,如果父级节点下存在y个兄弟节点,则获取其中的第x个兄弟节点的内容。
解析内容存储模块404,用于以数组标识、数组序号组合序列的形式对所述内容进行标识以供存储。
解析内容输出模块405,用于将所存储的以数组标识、数组序号组合序列的形式标识的内容进行输出。可选的,解析内容输出模块405,可以包括:直接赋值符标识输出子模块,用于通过直接赋值符标识,将指定内容输出和/或存储。
在本发明实施例中,首先读取分别以待解析父级对象、数组结构标识、待解析子节点标签对象、待解析属性标识、特定赋值符标识构建的解析语句,然后根据上述解析语句逐一对待解析对象的中相应层级结构进行循环解析,然后将解析内容通过特定赋值符赋值于特定的标识,实现了通过自定义新的CSS解析表达式的语法,实现循环解析文档内容中相应节点的目的,并实现了利用CSS解析表达式直接赋值的目的,提高了解析效率,提升了代码的可读性和可维护性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种词项的权重标注方法和一种词项的权重标注装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种文档内容获取方法,其特征在于,包括:
读取待解析文档和CSS文档解析表达式;所述CSS文档解析表达式包括:以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点及各级子节点分别构建的解析语句;
解析所述CSS文档表达式对应的树状层级结构;其中,对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点的解析语句,将其解析为包括数组结构标识的父节点;对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,将其解析为所述父节点的子节点;
根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容。
2.根据权利要求1所述的方法,其特征在于,所述CSS文档解析表达式包括:
以待解析父级对象、数组结构标识、待解析属性结构标识、特定赋值符标识构建的针对父节点的解析语句;
以待解析父级对象、数组结构标识、待解析子节点标签对象、待解析属性标识、特定赋值符标识构建的针对子节点的解析语句;
以待解析父级对象、数组结构标识、待解析子节点标签对象、特定赋值符标识构建的针对子节点的解析语句。
3.根据权利要求2所述的方法,其特征在于,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:
对于所述父节点,按序遍历所述待解析文档,当查找到所述待解析父级对象时,从对应所述待解析父级对象所在节点,获取对应所述父节点的待解析属性结构标识中的属性对象的属性值,并通过特定赋值符标识将所述属性值赋予第一标识;
在查找到的待解析父级对象所在节点之下,查找相应子节点的待解析子节点标签对象的待解析属性标识内的属性对象的属性值,并通过特定赋值符标识将所述属性值赋予第二标识,以及查找相应子节点的待解析子节点标签对象的内容数据,并通过特定赋值符标识将所述内容数据赋予第三标识。
4.根据权利要求1所述的方法,其特征在于,
当所述数组结构标识中的字符格式包括单个字母时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:
以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取所有的相应节点的内容;
当所述数组结构标识中的字符格式包括数字时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:
以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取与所述数字对应个数的父级节点及其各层级子节点的内容;
当所述数组结构标识中的字符格式包括i:skip(*)时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:
以该节点及之下的各层级子节点为基础,在循环从所述待解析文档中获取相应节点的内容时,跳过所述*所对应的父级节点及其各层子节点;
当所述数组结构标识中的字符格式包括x:y时,所述以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤,包括:
以该节点及之下的各层级子节点为基础,在循环从所述待解析文档中获取相应节点的内容时,如果父级节点下存在y个兄弟节点,则获取其中的第x个兄弟节点的内容。
5.根据权利要求1所述的方法,其特征在于,所述CSS文档解析表达式还包括:
以待解析对象、特殊赋值符构建的解析语句。
6.根据权利要求2所述的方法,其特征在于,所述待解析属性结构标识中包括:字符型属性对象和/或正则表达式型属性对象。
7.根据权利要求1所述的方法,其特征在于,所述根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容的步骤之后,还包括:
以数组标识、数组序号组合序列的形式对所述内容进行标识以供存储。
8.根据权利要求7所述的方法,其特征在于,所述以数组标识、数组序号组合序列的形式对所述内容进行标识以供存储的步骤之后,还包括:
将所存储的以数组标识、数组序号组合序列的形式标识的内容进行输出。
9.根据权利要求8所述的方法,其特征在于,所述将所存储的以数组标识、数组序号组合序列的形式标识的内容进行输出的步骤,包括:
通过直接赋值符标识,将指定内容输出和/或存储。
10.一种文档内容获取装置,其特征在于,所述装置包括:
CSS文档解析表达式读取模块,用于读取待解析文档和CSS文档解析表达式;所述CSS文档解析表达式包括:以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点及各级子节点分别构建的解析语句;
CSS文档表达式树状层级结构解析模块,用于解析所述CSS文档表达式对应的树状层级结构;其中,对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的父节点的解析语句,将其解析为包括数组结构标识的父节点;对于以数组结构标识、待解析属性结构标识和特定赋值符标识,针对指定文档对象的子节点的解析语句,将其解析为所述父节点的子节点;
文档解析模块,用于根据所述树状层级结构对待解析文档进行解析;其中,当所述树状层级结构的一节点包括数组结构标识,则以该节点及之下的各层级子节点为基础,循环从所述待解析文档中获取相应节点的内容。
CN201610799872.8A 2016-08-31 2016-08-31 一种文档内容获取方法和装置 Active CN106372042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610799872.8A CN106372042B (zh) 2016-08-31 2016-08-31 一种文档内容获取方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610799872.8A CN106372042B (zh) 2016-08-31 2016-08-31 一种文档内容获取方法和装置

Publications (2)

Publication Number Publication Date
CN106372042A CN106372042A (zh) 2017-02-01
CN106372042B true CN106372042B (zh) 2019-09-24

Family

ID=57899127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610799872.8A Active CN106372042B (zh) 2016-08-31 2016-08-31 一种文档内容获取方法和装置

Country Status (1)

Country Link
CN (1) CN106372042B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674082B (zh) * 2019-09-24 2023-03-14 北京字节跳动网络技术有限公司 移除在线文档的方法、装置、电子设备及计算机可读介质
CN111190818B (zh) * 2019-12-24 2023-07-21 中国平安财产保险股份有限公司 前端代码分析方法、装置、计算机设备及存储介质
CN113676437B (zh) * 2020-05-14 2023-08-18 中国移动通信集团云南有限公司 参数获取方法、参数设置方法以及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1896992A (zh) * 2006-06-15 2007-01-17 Ut斯达康通讯有限公司 基于应用定制解析xml文档的方法及装置
CN101425079A (zh) * 2008-11-29 2009-05-06 中兴通讯股份有限公司 Nv数据处理方法和装置
CN101630326A (zh) * 2009-08-21 2010-01-20 北京红旗贰仟软件技术有限公司 依据RelaxNG标准生成文档解析器的方法
CN101685447A (zh) * 2008-09-28 2010-03-31 国际商业机器公司 在Web页面片段剪切和混搭中处理CSS的方法和系统
CN103186611A (zh) * 2011-12-30 2013-07-03 北大方正集团有限公司 一种压缩、解压及查询文档的方法、装置
CN103645986A (zh) * 2013-11-29 2014-03-19 北京广利核系统工程有限公司 一种编译器的可视化语法树的生成方法和重构方法
CN104598462A (zh) * 2013-10-30 2015-05-06 深圳市国信互联科技有限公司 提取结构化数据的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1896992A (zh) * 2006-06-15 2007-01-17 Ut斯达康通讯有限公司 基于应用定制解析xml文档的方法及装置
CN101685447A (zh) * 2008-09-28 2010-03-31 国际商业机器公司 在Web页面片段剪切和混搭中处理CSS的方法和系统
CN101425079A (zh) * 2008-11-29 2009-05-06 中兴通讯股份有限公司 Nv数据处理方法和装置
CN101630326A (zh) * 2009-08-21 2010-01-20 北京红旗贰仟软件技术有限公司 依据RelaxNG标准生成文档解析器的方法
CN103186611A (zh) * 2011-12-30 2013-07-03 北大方正集团有限公司 一种压缩、解压及查询文档的方法、装置
CN104598462A (zh) * 2013-10-30 2015-05-06 深圳市国信互联科技有限公司 提取结构化数据的方法及装置
CN103645986A (zh) * 2013-11-29 2014-03-19 北京广利核系统工程有限公司 一种编译器的可视化语法树的生成方法和重构方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Modeling and analysis of Internet worm propagation;SU Fei 等;《The Journal of China Universities of Posts and Telecommunications》;20100831;第17卷(第4期);第63-68页 *
基于DOM的XML解析与应用;蔚晓娟 等;《计算机技术与发展》;20070430;第17卷(第4期);第86-88、139页 *
基于网络爬虫的Web服务抓取解析器的设计与实现;陈晓慧 等;《地理信息世界》;20100630;第64-68页 *
如何使用CSS格式XML文档;刘蕴;《民营科技》;20121231(第3期);第4-5页 *
浅析CSS样式在网页设计中的应用;吴晓燕;《四川文理学院学报》;20090331;第19卷(第2期);第46-48页 *

Also Published As

Publication number Publication date
CN106372042A (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
CN101025738B (zh) 一种免模板动态网站生成方法
CN101464905B (zh) 一种网页信息抽取的系统及方法
CN101957816B (zh) 基于多页面比较的网页元数据自动抽取方法和系统
CN105243086B (zh) 一种车辆信息查询方法和装置
CN102279894B (zh) 基于语义的查找、集成和提供评论信息的方法及搜索系统
CN107423391B (zh) 网页结构化数据的信息提取方法
CN102681994B (zh) 一种网页信息抽取方法及系统
CN103365992B (zh) 一种基于一维线性空间实现Trie树的词典检索方法
CN108196880A (zh) 软件项目知识图谱自动构造方法与系统
CN103914513A (zh) 一种实体输入方法和装置
CN104598462B (zh) 提取结构化数据的方法及装置
CN106372042B (zh) 一种文档内容获取方法和装置
CN107193843A (zh) 一种基于ac自动机和后缀表达式的字符串筛选方法及装置
CN102193798B (zh) 基于Internet的OpenAPI自动获取方法
CN111382192B (zh) 一种数据列表展示方法、装置和电子设备
CN102760150A (zh) 基于属性重现和标签路径的网页抽取方法
CN103778238A (zh) 一种从维基百科半结构化数据自动构建分类树的方法
CN103744987B (zh) 基于dom树匹配的视频网站媒资聚合方法和系统
CN103870495B (zh) 用于从网站中提取信息的方法和装置
CN110222251A (zh) 一种基于网页分割和搜索算法的服务包装方法
CN104462504A (zh) 基于搜索中提供推理过程数据的方法和装置
CN101639840A (zh) 网络信息语义结构识别方法和装置
CN101996190B (zh) 一种从网页中抽取信息的方法及装置
Al-Ghuribi et al. A comprehensive survey on web content extraction algorithms and techniques
Pazienza et al. Pearl: Projection of annotations rule language, a language for projecting (uima) annotations over rdf knowledge bases

Legal Events

Date Code Title Description
C06 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