CN104217036A - 一种网页内容提取方法和设备 - Google Patents
一种网页内容提取方法和设备 Download PDFInfo
- Publication number
- CN104217036A CN104217036A CN201410524135.8A CN201410524135A CN104217036A CN 104217036 A CN104217036 A CN 104217036A CN 201410524135 A CN201410524135 A CN 201410524135A CN 104217036 A CN104217036 A CN 104217036A
- Authority
- CN
- China
- Prior art keywords
- dom document
- document elements
- template
- dom
- resolver
- 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
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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
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
本发明实施例公开了一种网页内容提取方法,包括:获取待提取网页对应的文档对象模型DOM文档;获取所述DOM文档对应的解析模板;所述解析模板中包括需要提取的DOM文档元素、所述DOM文档元素的类型、所述DOM文档元素在所述DOM文档中的位置以及输出结果格式;针对所述解析模板中包括的任一需要提取的DOM文档元素,根据所述解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器;根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素;以解析模板中定义的输出结果格式输出提取结果。本发明实施例还公开了一种网页内容提取设备。采用本发明,可以提高网页内容提取效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种网页内容提取方法和设备。
背景技术
开发业务中,很多情况下都需要从其他网站爬取资讯进行整合、分析。互联网每个网站都有自己的web页面,网页结构布局差异很大,解析web页面并提取内容是一个繁琐而耗时的工作。
现有技术中没有一种比较合理的网页内容提取方案。
发明内容
本发明实施例所要解决的技术问题在于,提供一种网页内容提取方法和设备,以提高页面内容提取效率。
为了解决上述技术问题,本发明实施例提供了一种网页内容提取方法,包括:
获取待提取网页对应的文档对象模型DOM文档;
获取所述DOM文档对应的解析模板;所述解析模板中包括需要提取的DOM文档元素、所述DOM文档元素的类型、所述DOM文档元素在所述DOM文档中的位置以及输出结果格式;
针对所述解析模板中包括的任一需要提取的DOM文档元素,根据所述解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器;
根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素;
以解析模板中定义的输出结果格式输出提取结果。
其中,所述解析模板中还包括字符串正则表达式;
所述根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素之后,以解析模板中定义的输出结果格式输出提取结果之前,还包括:
根据所述字符串正则表达式对提取到的DOM文档元素进行筛选,以得到筛选后的提取结果;
所述以解析模板中定义的输出结果格式输出提取结果,包括:
将所述筛选后的提取结果以解析模块中定义的输出结果格式输出。
其中,所述解析模板中还包括解析结果默认值;
所述以解析模板中定义的输出结果格式输出提取结果,包括:
当根据所述解析器从DOM文档元素在所述DOM文档中的位置中提取DOM文档元素的结果为空时,以解析模板中定义的输出结果格式输出所述解析结果默认值。
其中,所述解析模板为json格式的模板文件。
其中,所述DOM文档元素的类型包括以下之一:
字符串、整形、日期、列表。
相应地,本发明实施例还提供了一种网页内容提取设备,包括:
第一获取模块,用于获取待提取网页对应的文档对象模型DOM文档;
第二获取模块,用于获取所述DOM文档对应的解析模板;所述解析模板中包括需要提取的DOM文档元素、所述DOM文档元素的类型、所述DOM文档元素在所述DOM文档中的位置以及输出结果格式;
确定模块,用于针对所述解析模板中包括的任一需要提取的DOM文档元素,根据所述解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器;
提取模块,用于根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素;
输出模块,用于以解析模板中定义的输出结果格式输出提取结果。
其中,所述解析模板中还包括字符串正则表达式;
所述设备还包括:
筛选模块,用于在所述提取模块根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素之后,根据所述字符串正则表达式对提取到的DOM文档元素进行筛选,以得到筛选后的提取结果;
所述输出模块具体用于,将所述筛选后的提取结果以解析模块中定义的输出结果格式输出。
其中,所述解析模板中还包括解析结果默认值;
所述输出模块还用于,当所述提取模块根据所述解析器从DOM文档元素在所述DOM文档中的位置中提取DOM文档元素的结果为空时以解析模板中定义的输出结果格式输出所述解析结果默认值。
其中,所述解析模板为json格式的模板文件。
其中,所述DOM文档元素的类型包括以下之一:
字符串、整形、日期、列表。
实施本发明实施例,具有如下有益效果:
通过获取待提取网页对应的文档对象模型DOM文档,并获取该DOM文档对应的解析模板,进而针对解析模板中包括的任一需要提取的DOM文档元素,根据解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器,并根据该解析器从该DOM文档元素在DOM文档中的位置中提取该DOM文档元素,进而以解析模板中定义的输出结果格式输出提取结果,提高了网页内容提取的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网页内容提取方法的流程示意图;
图1A为本发明实施例的一种json格式的模板文件的示意图;
图2为本发明实施例提供的另一种网页内容提取方法的流程示意图;
图3为本发明实施例提供的另一种网页内容提取方法的流程示意图;
图4为本发明实施例提供的一种网页内容提取设备的结构示意图;
图5为本发明实施例提供的另一种网页内容提取设备的结构示意图;
图6为本发明实施例提供的另一种网页内容提取设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种网页内容提取方法的流程示意图,可以包括以下步骤:
步骤101、获取待提取网页对应的DOM文档。
本发明实施例中,当需要进行网页内容提取时,可以先获取该待提取网页对应的DOM(Document Object Model,文档对象模型)文档。
步骤102、获取该DOM文档对应的解析模板。
本发明实施例中,获取到待提取网页对应的DOM文档之后,可以进一步获取该DOM文档对应的解析模板。
本发明实施例中,DOM文档对应的解析模板中可以包括但不限于:
需要提取的DOM文档元素、DOM文档元素的类型、该DOM文档元素在该DOM文档中的位置以及输出结果格式。
例如,需要提取的DOM文档元素可以为title(标题)、author(作者)、keywords(关键词)等,其可以由实际提取需求确定,即需要提取网页的何种内容,就可以在解析模板中定义相应的DOM文档元素;DOM文档元素的类型可以包括字符串(string)、整形(int)、日期(date)、列表(list)等;输出结果格式可以为html(Hypertext Markup Language,超文本标记语言)、文本、html标签的属性值等。
作为一种可选的实施方式,该DOM文档对应的解析模板可以为json(基于JavaScript语言的轻量级的数据交换格式)格式的模板文件,其定义方法可以通过以下步骤实现:
步骤11)、定义一个json格式文档,以“key(键)/value(值)”的形式定义要解析的DOM文档字段;
步骤12)、定义要解析的DOM文档字段,以名称作为key,如title、author、keywords等,查询对象作为value;其中,查询对象主要有如下属性:
查询类型(即需要提取的DOM文档字段的类型,如字符串、整形、日期、列表等)、css查询表达式(即需要提取的DOM文档字段在DOM文档中的位置)、输出结果格式(如html、文本、html标签的属性值等),其示意图可以参考图1A。
步骤103、针对该解析模板中包括的任一需要提取的DOM文档元素,根据该解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器。
本发明实施例中,获取到DOM文档对应的解析模板后,可以遍历该解析模板,确定需要提取的DOM文档元素,针对该解析模板中包括的任一需要提取的DOM文档元素,根据该解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器。
例如,若需要提取的DOM文档元素的类型为字符串类型,则对应的解析器为字符串类型的解析器;若需要提取的DOM文档元素的类型为整形类型,则对应的解析器为整形类型的解析器;若需要提取的DOM文档元素的类型为日期类型,则对应的解析器为日期类型的解析器;若需要提取的DOM文档元素的类型为列表类型,则对应的解析器为列表类型的解析器。
以解析模板为上述json格式的模板文件(json文档,下同)为例,获取到DOM文档对应的json文档后,可以遍历该json文档的key,将value解析通过反射的方式对应到相应的查询对象,得到查询对象的查询类型,进而得到查询类型对应的解析器,如字符串类型解析器、整形类型解析器、日期类型解析器、列表类型解析器等。其中,当解析器为列表类型解析器时,需要对DOM文档中多个重复字段循环遍历,得到json数组的数据结构。
步骤104、根据解析器从该DOM文档元素在DOM文档中的位置中提取该DOM文档元素。
本发明实施例中,当确定了需要提取的DOM文档元素的解析器时,可以根据该解析器从DOM文档元素在DOM文档中的位置中提取该DOM文档元素。
以图1A所示的json文档为例,根据该json文档可知,需要提取的DOM文档元素为“title”,该DOM文档元素的类型为“string”,即字符串,该DOM文档元素在DOM文档中的位置为“div.article h1”。
基于该json文档,首先可以根据该需要提取的DOM文档元素的类型,确定该DOM文档元素的解析器,即字符串类型的解析器;然后利用该字符串类型的解析器,从DOM文档中“div.article h1”位置解析出需要提取的DOM文档元素。
步骤105、以解析模板中定义的输出结果格式输出提取结果。
本发明实施例中,根据解析器从该DOM文档元素在DOM文档中的位置中提取到DOM文档元素后,可以将该DOM文档元素按照解析模板中定义的输出结果格式输出。
仍以图1A所示的json文档为例,根据该json文档可知,预先定义的输出结果格式为text(文本)。
基于该json文档,从DOM文档指定位置解析得到DOM文档元素后,可以将解析得到的DOM文档元素按照文本格式输出。
如图2所示,为本发明实施例提供的另一种网页内容提取方法的流程示意图,可以包括以下步骤:
步骤201、获取待提取网页对应的DOM文档。
本发明实施例中,当需要进行网页内容提取时,可以先获取该待提取网页对应的DOM文档。
步骤202、获取该DOM文档对应的解析模板。
本发明实施例中,获取到待提取网页对应的DOM文档之后,可以进一步获取该DOM文档对应的解析模板。
本发明实施例中,DOM文档对应的解析模板中可以除了可以包括需要提取的DOM文档元素、DOM文档元素的类型、该DOM文档元素在该DOM文档中的位置以及输出结果格式之外,还可以包括字符串正则表达式,该字符串正则表达式用于在从需要提取的DOM文档元素在DOM文档中的位置处提取到该DOM文档元素时,对提取到的DOM文档元素进行过滤。
作为一种可选的实施方式,该DOM文档对应的解析模板可以为json(基于JavaScript语言的轻量级的数据交换格式)格式的模板文件,其定义方法可以通过以下步骤实现:
步骤21)、定义一个json格式文档,以“key(键)/value(值)”的形式定义要解析的DOM文档字段;
步骤22)、定义要解析的DOM文档字段,以名称作为key,如title、author、keywords等,查询对象作为value;其中,查询对象主要有如下属性:
查询类型(即需要提取的DOM文档字段的类型,如字符串、整形、日期、列表等)、css查询表达式(即需要提取的DOM文档字段在DOM文档中的位置)、输出结果格式(如html、文本、html标签的属性值等),以及字符串正则表达式。
举例来说,假设需要提取的DOM文档元素为发布日期(publish time)中的年份,由于通过css查询表达式只能在DOM文档中定位发布日期这整个字段,而无法直接定位发布日期中的年份,因此,为了提取发布日期中的年份,可以先通过css查询表达式定位到DOM文档中的发布日期,并将该发布日期提取出来,然后通过字符串正则表达式对该发布日期进行过滤,以得到发布日期中的年份。
步骤203、针对该解析模板中包括的任一需要提取的DOM文档元素,根据该解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器。
本发明实施例中,获取到DOM文档对应的解析模板后,可以遍历该解析模板,确定需要提取的DOM文档元素,针对该解析模板中包括的任一需要提取的DOM文档元素,根据该解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器。
例如,若需要提取的DOM文档元素的类型为字符串类型,则对应的解析器为字符串类型的解析器;若需要提取的DOM文档元素的类型为整形类型,则对应的解析器为整形类型的解析器;若需要提取的DOM文档元素的类型为日期类型,则对应的解析器为日期类型的解析器;若需要提取的DOM文档元素的类型为列表类型,则对应的解析器为列表类型的解析器。
以解析模板为上述json格式的模板文件(json文档,下同)为例,获取到DOM文档对应的json文档后,可以遍历该json文档的key,将value解析通过反射的方式对应到相应的查询对象,得到查询对象的查询类型,进而得到查询类型对应的解析器,如字符串类型解析器、整形类型解析器、日期类型解析器、列表类型解析器等。其中,当解析器为列表类型解析器时,需要对DOM文档中多个重复字段循环遍历,得到json数组的数据结构。
步骤204、根据解析器从该DOM文档元素在DOM文档中的位置中提取该DOM文档元素。
本发明实施例中,当确定了需要提取的DOM文档元素的解析器时,可以根据该解析器从DOM文档元素在DOM文档中的位置中提取该DOM文档元素。
以图1A所示的json文档为例,根据该json文档可知,需要提取的DOM文档元素为“title”,该DOM文档元素的类型为“string”,即字符串,该DOM文档元素在DOM文档中的位置为“div.article h1”。
基于该json文档,首先可以根据该需要提取的DOM文档元素的类型,确定该DOM文档元素的解析器,即字符串类型的解析器;然后利用该字符串类型的解析器,从DOM文档中“div.article h1”位置解析出需要提取的DOM文档元素。
步骤205、根据解析模板中定义的字符串正则表达式对提取到的DOM文档元素进行筛选,以得到筛选后的提取结果。
本发明实施例中,当根据DOM文档元素在DOM文档中的位置提到到需要提取的DOM文档元素之后,在将提取结果输出之前,还可以根据解析模板中定义的字符串正则表达式对提取到的DOM文档进行筛选。
例如,假设从DOM文档中提取的DOM文档元素为日期格式的元素,如2014-7-22,而实际需要提取的是具体年份,则可以通过预先定义的字符串正则表达式对该日期格式的数据进行筛选,以得到需要提取的数据,即年份(2014)。
步骤206、以解析模板中定义的输出结果格式输出提取结果。
本发明实施例中,根据解析器从该DOM文档元素在DOM文档中的位置中提取到DOM文档元素后,可以将该DOM文档元素按照解析模板中定义的输出结果格式输出。
仍以图1A所示的json文档为例,根据该json文档可知,预先定义的输出结果格式为text(文本)。
基于该json文档,从DOM文档指定位置解析得到DOM文档元素后,可以将解析得到的DOM文档元素按照文本格式输出。
如图3所示,为本发明实施例提供的另一种网页内容提取方法的流程示意图,可以包括以下步骤:
步骤301、获取待提取网页对应的DOM文档。
本发明实施例中,当需要进行网页内容提取时,可以先获取该待提取网页对应的DOM文档。
步骤302、获取该DOM文档对应的解析模板。
本发明实施例中,获取到待提取网页对应的DOM文档之后,可以进一步获取该DOM文档对应的解析模板。
本发明实施例中,DOM文档对应的解析模板中,除了可以包括需要提取的DOM文档元素、DOM文档元素的类型、该DOM文档元素在该DOM文档中的位置以及输出结果格式之外,还可以包括解析结果默认值,该解析结果默认值用于在根据解析模板从DOM文档中提取到的DOM文档元素为空时,作为提取结果输出。
作为一种可选的实施方式,该DOM文档对应的解析模板可以为json(基于JavaScript语言的轻量级的数据交换格式)格式的模板文件,其定义方法可以通过以下步骤实现:
步骤31)、定义一个json格式文档,以“key(键)/value(值)”的形式定义要解析的DOM文档字段;
步骤32)、定义要解析的DOM文档字段,以名称作为key,如title、author、keywords等,查询对象作为value;其中,查询对象主要有如下属性:
查询类型(即需要提取的DOM文档字段的类型,如字符串、整形、日期、列表等)、css查询表达式(即需要提取的DOM文档字段在DOM文档中的位置)、输出结果格式(如html、文本、html标签的属性值等),以及解析结果默认值。
步骤303、针对该解析模板中包括的任一需要提取的DOM文档元素,根据该解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器。
本发明实施例中,获取到DOM文档对应的解析模板后,可以遍历该解析模板,确定需要提取的DOM文档元素,针对该解析模板中包括的任一需要提取的DOM文档元素,根据该解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器。
例如,若需要提取的DOM文档元素的类型为字符串类型,则对应的解析器为字符串类型的解析器;若需要提取的DOM文档元素的类型为整形类型,则对应的解析器为整形类型的解析器;若需要提取的DOM文档元素的类型为日期类型,则对应的解析器为日期类型的解析器;若需要提取的DOM文档元素的类型为列表类型,则对应的解析器为列表类型的解析器。
以解析模板为上述json格式的模板文件(json文档,下同)为例,获取到DOM文档对应的json文档后,可以遍历该json文档的key,将value解析通过反射的方式对应到相应的查询对象,得到查询对象的查询类型,进而得到查询类型对应的解析器,如字符串类型解析器、整形类型解析器、日期类型解析器、列表类型解析器等。其中,当解析器为列表类型解析器时,需要对DOM文档中多个重复字段循环遍历,得到json数组的数据结构。
步骤304、根据解析器从该DOM文档元素在DOM文档中的位置中提取该DOM文档元素。
本发明实施例中,当确定了需要提取的DOM文档元素的解析器时,可以根据该解析器从DOM文档元素在DOM文档中的位置中提取该DOM文档元素。
以图1A所示的json文档为例,根据该json文档可知,需要提取的DOM文档元素为“title”,该DOM文档元素的类型为“string”,即字符串,该DOM文档元素在DOM文档中的位置为“div.article h1”。
基于该json文档,首先可以根据该需要提取的DOM文档元素的类型,确定该DOM文档元素的解析器,即字符串类型的解析器;然后利用该字符串类型的解析器,从DOM文档中“div.article h1”位置解析出需要提取的DOM文档元素。
步骤305、当根据解析器从DOM文档元素在DOM文档中的位置中提取DOM文档元素的结果为空时,以解析模板中定义的输出结果格式输出所述解析结果默认值。
本发明实施例中,当根据确定的解析器从DOM文档中提取DOM文档元素的结果为空时,如,解析模板中定义的DOM文档元素在DOM文档中的位置发生错误,可以按照解析模板中定义的输出结果格式输出解析模板中定义的解析结果默认值。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过获取待提取网页对应的文档对象模型DOM文档,并获取该DOM文档对应的解析模板,进而针对解析模板中包括的任一需要提取的DOM文档元素,根据解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器,并根据该解析器从该DOM文档元素在DOM文档中的位置中提取该DOM文档元素,进而以解析模板中定义的输出结果格式输出提取结果,提高了网页内容提取的效率,此外,通过定义解析模板的方式,将解析的元素进行了抽象和封装,提高了解析内容的可扩展性、易维护性。
基于上述方法实施例相同的技术构思,本发明实施例还提供了一种网页内容提取设备,可以应用于上述方法实施例中。
如图4所示,为本发明实施例提供的一种网页内容提取设备的结构示意图,可以包括:
第一获取模块401,用于获取待提取网页对应的文档对象模型DOM文档;
第二获取模块402,用于获取所述DOM文档对应的解析模板;所述解析模板中包括需要提取的DOM文档元素、所述DOM文档元素的类型、所述DOM文档元素在所述DOM文档中的位置以及输出结果格式;
确定模块403,用于针对所述解析模板中包括的任一需要提取的DOM文档元素,根据所述解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器;
提取模块404,用于根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素;
输出模块405,用于以解析模板中定义的输出结果格式输出提取结果。
在可选实施例中,所述解析模板中还可以包括字符串正则表达式;
相应地,请一并参阅图5,图5是本发明实施例公开的另一种网页内容提取设备的结构示意图。其中,图5所示的网页内容提取设备是由图4所示的网页内容提取设备进行优化得到的,与图4所示的网页内容提取设备相比,图5所示的网页内容提取设备还可以包括:
筛选模块406,用于在所述提取模块404根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素之后,根据所述字符串正则表达式对提取到的DOM文档元素进行筛选,以得到筛选后的提取结果;
所述输出模块405可以具体用于,将所述筛选后的提取结果以解析模块中定义的输出结果格式输出。
在可选实施例中,所述解析模板中还可以包括解析结果默认值;
相应地,所述输出模块405还可以用于,当所述提取模块404根据所述解析器从DOM文档元素在所述DOM文档中的位置中提取DOM文档元素的结果为空时以解析模板中定义的输出结果格式输出所述解析结果默认值。
在可选实施例中,所述解析模板为json格式的模板文件。
在可选实施例中,所述DOM文档元素的类型可以包括以下之一:
字符串、整形、日期、列表。
图6是本发明实施例中提供的另一种网页内容提取设备的结构示意图。如图6所示,该网页内容提取设备包括:至少一个处理器601,例如CPU,至少一个用户接口603,存储器604,至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。其中,用户接口603可以包括显示屏(Display)、键盘(Keyboard),可选用户接口603还可以包括标准的有线接口、无线接口。存储器604可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器604可选的还可以是至少一个位于远离前述处理器601的存储装置。其中存储器604中存储一组程序代码,且处理器601调用存储器604中存储的程序代码,用于执行以下操作:
获取待提取网页对应的文档对象模型DOM文档;
获取所述DOM文档对应的解析模板;所述解析模板中包括需要提取的DOM文档元素、所述DOM文档元素的类型、所述DOM文档元素在所述DOM文档中的位置以及输出结果格式;
针对所述解析模板中包括的任一需要提取的DOM文档元素,根据所述解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器;
根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素;
以解析模板中定义的输出结果格式输出提取结果。
在可选实施例中,所述解析模板中还可以包括字符串正则表达式;
相应地,所述处理器601调用存储器604中存储的程序代码根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素之后,以解析模板中定义的输出结果格式输出提取结果之前,还可以执行以下操作:
根据所述字符串正则表达式对提取到的DOM文档元素进行筛选,以得到筛选后的提取结果;
相应地,所述处理器601调用存储器604中存储的程序代码以解析模板中定义的输出结果格式输出提取结果,可以具体包括:
将所述筛选后的提取结果以解析模块中定义的输出结果格式输出。
在可选实施例中,所述解析模板中还可以包括解析结果默认值;
相应地,所述处理器601调用存储器604中存储的程序代码以解析模板中定义的输出结果格式输出提取结果,可以具体包括:
当根据所述解析器从DOM文档元素在所述DOM文档中的位置中提取DOM文档元素的结果为空时,以解析模板中定义的输出结果格式输出所述解析结果默认值。
在可选实施例中,所述解析模板为json格式的模板文件。
在可选实施例中,所述DOM文档元素的类型可以包括以下之一:
字符串、整形、日期、列表。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种网页内容提取方法,其特征在于,包括:
获取待提取网页对应的文档对象模型DOM文档;
获取所述DOM文档对应的解析模板;所述解析模板中包括需要提取的DOM文档元素、所述DOM文档元素的类型、所述DOM文档元素在所述DOM文档中的位置以及输出结果格式;
针对所述解析模板中包括的任一需要提取的DOM文档元素,根据所述解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器;
根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素;
以解析模板中定义的输出结果格式输出提取结果。
2.如权利要求1所述的方法,其特征在于,所述解析模板中还包括字符串正则表达式;
所述根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素之后,以解析模板中定义的输出结果格式输出提取结果之前,还包括:
根据所述字符串正则表达式对提取到的DOM文档元素进行筛选,以得到筛选后的提取结果;
所述以解析模板中定义的输出结果格式输出提取结果,包括:
将所述筛选后的提取结果以解析模块中定义的输出结果格式输出。
3.如权利要求1所述的方法,其特征在于,所述解析模板中还包括解析结果默认值;
所述以解析模板中定义的输出结果格式输出提取结果,包括:
当根据所述解析器从DOM文档元素在所述DOM文档中的位置中提取DOM文档元素的结果为空时,以解析模板中定义的输出结果格式输出所述解析结果默认值。
4.如权利要求1-3任一项所述的方法,其特征在于,所述解析模板为json格式的模板文件。
5.如权利要求1-3任一项所述的方法,其特征在于,所述DOM文档元素的类型包括之一:
字符串、整形、日期、列表。
6.一种网页内容提取设备,其特征在于,包括:
第一获取模块,用于获取待提取网页对应的文档对象模型DOM文档;
第二获取模块,用于获取所述DOM文档对应的解析模板;所述解析模板中包括需要提取的DOM文档元素、所述DOM文档元素的类型、所述DOM文档元素在所述DOM文档中的位置以及输出结果格式;
确定模块,用于针对所述解析模板中包括的任一需要提取的DOM文档元素,根据所述解析模板中包括的该DOM文档元素类型,确定该DOM文档元素的解析器;
提取模块,用于根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素;
输出模块,用于以解析模板中定义的输出结果格式输出提取结果。
7.如权利要求6所述的设备,其特征在于,所述解析模板中还包括字符串正则表达式;
所述设备还包括:
筛选模块,用于在所述提取模块根据所述解析器从该DOM文档元素在所述DOM文档中的位置中提取该DOM文档元素之后,根据所述字符串正则表达式对提取到的DOM文档元素进行筛选,以得到筛选后的提取结果;
所述输出模块具体用于,将所述筛选后的提取结果以解析模块中定义的输出结果格式输出。
8.如权利要求6所述的设备,其特征在于,所述解析模板中还包括解析结果默认值;
所述输出模块还用于,当所述提取模块根据所述解析器从DOM文档元素在所述DOM文档中的位置中提取DOM文档元素的结果为空时以解析模板中定义的输出结果格式输出所述解析结果默认值。
9.如权利要求6-8任一项所述的设备,其特征在于,所述解析模板为json格式的模板文件。
10.如权利要求6-8任一项所述的设备,其特征在于,所述DOM文档元素的类型包括以下之一:
字符串、整形、日期、列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410524135.8A CN104217036B (zh) | 2014-10-08 | 2014-10-08 | 一种网页内容提取方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410524135.8A CN104217036B (zh) | 2014-10-08 | 2014-10-08 | 一种网页内容提取方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104217036A true CN104217036A (zh) | 2014-12-17 |
CN104217036B CN104217036B (zh) | 2019-01-15 |
Family
ID=52098525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410524135.8A Active CN104217036B (zh) | 2014-10-08 | 2014-10-08 | 一种网页内容提取方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104217036B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528857A (zh) * | 2016-11-30 | 2017-03-22 | 政和科技股份有限公司 | 信息采集方法 |
CN106649392A (zh) * | 2015-11-03 | 2017-05-10 | 任子行网络技术股份有限公司 | 一种基于所见即所得技术获取信息的方法及装置 |
CN108171600A (zh) * | 2018-01-19 | 2018-06-15 | 深圳前海大数金融服务有限公司 | 征信报告解析方法、服务器及存储介质 |
CN108563677A (zh) * | 2018-03-05 | 2018-09-21 | 五八有限公司 | 数据显示方法、装置、电子设备及存储介质 |
CN108804140A (zh) * | 2018-06-15 | 2018-11-13 | 中国建设银行股份有限公司 | 一种批量指令解析方法、装置及设备 |
CN108874977A (zh) * | 2018-06-08 | 2018-11-23 | 东软集团股份有限公司 | 页面数据提取方法、装置、存储介质及电子设备 |
CN110020302A (zh) * | 2017-11-16 | 2019-07-16 | 富士通株式会社 | 提取网页内容的方法和网页内容提取装置 |
CN110489625A (zh) * | 2019-07-29 | 2019-11-22 | 北京百分点信息科技有限公司 | 一种网页数据采集模板的生成方法和装置 |
CN111506588A (zh) * | 2020-04-10 | 2020-08-07 | 创景未来(北京)科技有限公司 | 一种提取电子文档关键信息的方法及装置 |
CN111797336A (zh) * | 2020-07-07 | 2020-10-20 | 北京明略昭辉科技有限公司 | 一种网页解析方法、装置、电子设备及介质 |
CN112487319A (zh) * | 2020-11-26 | 2021-03-12 | 清创网御(合肥)科技有限公司 | 一种基于dom树路径匹配的文章解析方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254751B (zh) * | 2021-06-24 | 2021-09-21 | 北森云计算有限公司 | 一种复杂网页结构化信息精确提取方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300111A1 (en) * | 2001-04-09 | 2009-12-03 | Aol Llc, A Delaware Limited Liability Company | Server-based browser system |
CN101944094A (zh) * | 2009-07-06 | 2011-01-12 | 富士通株式会社 | 网页信息提取方法和装置 |
CN102651002A (zh) * | 2011-02-28 | 2012-08-29 | 腾讯科技(深圳)有限公司 | 一种网页信息抽取方法及其系统 |
CN103473338A (zh) * | 2013-09-22 | 2013-12-25 | 北京奇虎科技有限公司 | 网页内容抽取方法和网页内容抽取系统 |
-
2014
- 2014-10-08 CN CN201410524135.8A patent/CN104217036B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300111A1 (en) * | 2001-04-09 | 2009-12-03 | Aol Llc, A Delaware Limited Liability Company | Server-based browser system |
CN101944094A (zh) * | 2009-07-06 | 2011-01-12 | 富士通株式会社 | 网页信息提取方法和装置 |
CN102651002A (zh) * | 2011-02-28 | 2012-08-29 | 腾讯科技(深圳)有限公司 | 一种网页信息抽取方法及其系统 |
CN103473338A (zh) * | 2013-09-22 | 2013-12-25 | 北京奇虎科技有限公司 | 网页内容抽取方法和网页内容抽取系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649392A (zh) * | 2015-11-03 | 2017-05-10 | 任子行网络技术股份有限公司 | 一种基于所见即所得技术获取信息的方法及装置 |
CN106528857A (zh) * | 2016-11-30 | 2017-03-22 | 政和科技股份有限公司 | 信息采集方法 |
CN110020302A (zh) * | 2017-11-16 | 2019-07-16 | 富士通株式会社 | 提取网页内容的方法和网页内容提取装置 |
CN108171600A (zh) * | 2018-01-19 | 2018-06-15 | 深圳前海大数金融服务有限公司 | 征信报告解析方法、服务器及存储介质 |
CN108563677A (zh) * | 2018-03-05 | 2018-09-21 | 五八有限公司 | 数据显示方法、装置、电子设备及存储介质 |
CN108874977A (zh) * | 2018-06-08 | 2018-11-23 | 东软集团股份有限公司 | 页面数据提取方法、装置、存储介质及电子设备 |
CN108874977B (zh) * | 2018-06-08 | 2020-11-27 | 东软集团股份有限公司 | 页面数据提取方法、装置、存储介质及电子设备 |
CN108804140A (zh) * | 2018-06-15 | 2018-11-13 | 中国建设银行股份有限公司 | 一种批量指令解析方法、装置及设备 |
CN110489625A (zh) * | 2019-07-29 | 2019-11-22 | 北京百分点信息科技有限公司 | 一种网页数据采集模板的生成方法和装置 |
CN111506588A (zh) * | 2020-04-10 | 2020-08-07 | 创景未来(北京)科技有限公司 | 一种提取电子文档关键信息的方法及装置 |
CN111797336A (zh) * | 2020-07-07 | 2020-10-20 | 北京明略昭辉科技有限公司 | 一种网页解析方法、装置、电子设备及介质 |
CN112487319A (zh) * | 2020-11-26 | 2021-03-12 | 清创网御(合肥)科技有限公司 | 一种基于dom树路径匹配的文章解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104217036B (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104217036A (zh) | 一种网页内容提取方法和设备 | |
US9652441B2 (en) | System and method for creation of templates | |
KR102345001B1 (ko) | 특허 문서 작성 장치, 방법, 컴퓨터 프로그램, 컴퓨터로 판독 가능한 기록매체, 서버 및 시스템 | |
US20170357631A1 (en) | Analysis of documents using rules | |
US8959116B2 (en) | Storage of a document using multiple representations | |
EP1564652A2 (en) | Method and apparatus for visually emphasizing numerical data contained within an electronic document | |
KR20080042852A (ko) | 사용자 인터페이스를 위한 표시 기반 확장성 | |
AU2012207560A1 (en) | Storage of a document using multiple representations | |
AU2009238294A1 (en) | Data transformation based on a technical design document | |
US11675870B2 (en) | Automating mapping between content schema and rendered pages | |
US20070204215A1 (en) | Device for analyzing log files generated by process automation tools | |
US20160117412A1 (en) | Recursive extraction and narration of nested tables | |
US20110191381A1 (en) | Interactive System for Extracting Data from a Website | |
CN110489625A (zh) | 一种网页数据采集模板的生成方法和装置 | |
CN111797336A (zh) | 一种网页解析方法、装置、电子设备及介质 | |
EP1830274A1 (en) | Server device and name space issuing method | |
KR100522186B1 (ko) | 동적으로 홈페이지를 제작하는 방법 및 이 방법을 웹에서구현하는 장치 | |
CN104572874A (zh) | 一种网页信息的抽取方法及装置 | |
US20080005085A1 (en) | Server Device and Search Method | |
CN116204692A (zh) | 网页数据提取方法、装置、电子设备及存储介质 | |
Neubert | Leveraging SKOS to Trace the Overhaul of the STW Thesaurus for Economics | |
CN114154092B (zh) | 用于对网页进行翻译的方法及其相关产品 | |
CN110618809B (zh) | 一种前端网页输入约束提取方法和装置 | |
CN111046302A (zh) | 一种网页内容提取的方法及装置 | |
But | Generating CAIA technical reports and slide presentations using LATEX |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510000, Guangdong Province, Guangzhou, Panyu District Town, Huambo business district, Wanda Plaza, block B1, 28 floor Applicant after: Guangzhou Huaduo Network Technology Co., Ltd. Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08, Applicant before: Guangzhou Huaduo Network Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |