一种基于HTML网页的数据抽取系统.pdf

上传人:1*** 文档编号:4903101 上传时间:2018-11-26 格式:PDF 页数:6 大小:305.33KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310200116.5

申请日:

2013.05.27

公开号:

CN103309954A

公开日:

2013.09.18

当前法律状态:

撤回

有效性:

无权

法律详情:

登录超时

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

复旦大学

发明人:

王新; 陈功锁; 权恒星

地址:

200433 上海市杨浦区邯郸路220号

优先权:

专利代理机构:

上海正旦专利代理有限公司 31200

代理人:

陆飞;盛志范

PDF下载: PDF下载
内容摘要

本发明属于计算机网络技术领域,具体为一种基于html网页的数据抽取系统。其由xml解析器,html引擎以及数据管理器三个模块组成。本发明的优点在于:只需要在xml文件中描述html网页中哪些节点信息需要抓取,以及xml中其他一些配置信息,就可以快速的抓取所需要的数据,其方法简单、快捷。

权利要求书

权利要求书
1.   一种基于html网页的数据抽取系统,其特征在于:其由xml解析器,html引擎以及数据管理器三个模块组成;其中:
所述xml解析器模块负责解析sysconfig.xml文件,得到系统初始化参数、页面的url地址和目标节点的描述信息;
所述html引擎模块首先验证sysconfig.xml文件配置信息的有效性,如果有效则继续执行,否则提示用户检查xml文件配置信息;xml文件配置通过验证之后,根据配置信息中的页面链接地址,获取该页面的html文档,然后再调用html解析器来解析html文档,根据sysconfig.xml中配置的目标节点选择器描述信息,获得html中目标元素,从而获得该元素的数据;
所述数据管理模块主要是负责数据的持久化工作,根据用户在sysconfig.xml中配置的数据保存方式,选择相应的数据管理器来完成数据的持久化工作;
所述系统进行数据抽取的工作流程如下:
首先,html引擎模块根据xml解析器模块获得的html页面url地址,通过http get请求获取目标网页文档;
接着xml解析器模块根据xml文件中的配置目标节点选择器,描述具有相同html页面结构的目标节点;
再经过我们的html 引擎模块解析,得到我们想要的目标节点的结构化数据;
最后由数据管理器模块根据配置文件中配置的数据保存方式将其保存在相应的介质中。

2.   根据权利要求1所述的基于html网页的数据抽取系统,其特征在于:所述目标节点选择器,包括元素选择器、属性选择器以及选择器;其中,所述元素选择器为CSS 选择器;所述属性选择器,使用 XPath 表达式来选择带有给定属性的元素;所述CSS 选择器,用于改变 HTML 元素的 CSS 属性。

3.   根据权利要求1所述的基于html网页的数据抽取系统,其特征在于:数据管理器模块中所述数据保存方式包括文本文件,excel文件以及数据库。

说明书

说明书一种基于html网页的数据抽取系统
技术领域
本发明属于计算机网络技术领域,具体的说,涉及一种基于html网页的数据抽取系统。首先通过http get请求获取目标网页文档,然后通过在配置文件中使用我们定义的标记描述目标节点,最后经过我们的html engine解析,得到我们想要的目标数据。
背景技术
伴随着中国经济的快速发展,互联网正在悄然发生着突飞猛进的变化。电子商务网站,门户网站,博客,微博等各种类型的信息都发布在互联网上。虽然互联网上充斥着非常非常多的信息,但是同时我们也注意到,这些信息大多是非结构化数据,有时候为了科学研究或者其他需要,我们希望从互联网上获取数据,并将它们转化为结构化数据保存,利用这些结构化数据验证我们的模型。
传统的获得结构化数据的做法是先通过html get请求获得该页面资源,然后针对每一个具有相同页面结构的html页面编写一个html解析器,再获得目标节点的数据,保存在相应的介质中。但是这样的做法会带来一些问题,如我们需要解析的页面非常多,且这些页面的页面结构大多不一样,那么需要编写的html页面解析器就会非常的多。当需要解析的页面非常多时,这种方法是比较低下的,且效率不高,实现起来比较麻烦。
    出于上述方面的考虑,我们提出了一种基于html网页的数据抽取系统。该系统通过利用我们的规则,描述具有相同页面结构的html的目标节点,然后由html引擎解析配置文件,从而得到我们想要的目标节点的结构化数据。通过这种方式,我们不需要为每个具有不同页面结构的html网页编写页面解析器,而只需要在我们的配置文件中,描述清楚这类具有相同页面结构的html网页的目标节点信息,这大大的减少了html网页解析器的用量,提高了效率。
发明内容
本发明主要提出了一种通用的html网页数据抽取系统。通过在xml配置文件中描述具有相同页面结构的目标节点,然后由html 引擎来统一处理所有的html页面。
本发明提出的一种基于html网页的数据抽取系统,该系统由三个模块组成,分别是xml解析器模块,html引擎模块以及数据管理器模块,关于三个模块的功能描述如下:
一:xml解析器模块
xml解析器模块负责解析sysconfig.xml文件,得到系统初始化参数、页面的url地址以及目标节点的描述信息;
xml解析器模块获得pages节点下的所有,page信息,在page信息中描述具有相同页面结构的一组url链接地址信息。 
二:html引擎模块
html引擎模块首先验证sysconfig.xml文件配置信息的有效性,如果有效则继续执行,否则提示用户检查xml文件配置信息。Xml文件配置通过验证之后,根据配置信息中的页面链接地址,获取该页面的html文档,然后再调用html解析器来解析html文档,根据sysconfig.xml中定义的目标节点获取规则,获得html中目标元素,从而获得该元素的数据。
html引擎模块为系统的核心模块,主要完成xml文件的验证,验证xml配置信息是否正确,尤其是xml文件中关于html页面目标抓取节点的描述是否有效。如果验证未能通过则提示用户修正xml文件。
通过上述验证之后,根据xml解析器模块获得的html页面url地址,经httpget请求得到该页面的html字符串,再由html解析器将html字符串转化为具有dom树结构的html文档,根据sysconfig.xml中配置的目标节点选择器描述信息,最终得到dom树中的目标节点,从而得到所需的数据。
三:数据管理器模块
数据管理模块主要是负责数据的持久化工作,根据用户在sysconfig.xml中配置的数据保存方式,选择相应的数据管理器来完成数据的持久化工作。
数据管理器模块提供多种不同的数据持久化方式,包括文本文件,excel文件以及数据库等等,根据上述html数据抓取引擎获得的数据以及sysconfig.xml中配置的数据保存方式,最终由数据管理器完成数据的持久化工作。
数据管理器模块提供了一组统一的接口供上层应用程序调用,如文件的打开,文件的读取,文件的写入,以及文件的关闭。上层应用程序通过该接口完成数据的读取和写入,从而完成数据的持久化工作。
本发明中,系统进行数据抽取的工作流程如下:
首先,html引擎模块根据xml解析器模块获得的html页面url地址,通过http get请求获取目标网页文档;
接着xml解析器模块根据xml配置文件中的目标节点选择器,描述具有相同html页面结构的目标节点;
再经过我们的html 引擎模块解析,得到我们想要的目标节点的结构化数据;
最后由数据管理器模块根据配置文件中配置的数据保存方式将其保存在相应的介质中。
 本发明的有益效果在于:为获得、保存结构化数据,我们不再需要为每个具有不同页面结构的html网页编写页面解析器,而只需要在我们的配置文件中,描述清楚这类具有相同页面结构的html网页的目标节点信息,这大大的减少了html网页解析器的用量,提高了效率。数据抽取系统只需要在xml 文件中描述html网页中哪些节点信息需要抓取,以及xml中其他一些配置信息,就可以快速的抓取您所需要的数据。这种方法简单、快捷。 
具体实施方式
本发明提出的数据抽取系统,从功能上主要分为xml解析器,html引擎以及数据管理器三个部分。
一、xml解析器
通过xml解析器解析sysconfig.xml文件,得到在sysconfig.xml中配置系统启动参数、具有相同页面结构的页面链接地址url以及目标节点的描述信息。
以下为一个示例sysconfig.xml文件:
<?xml version="1.0" encoding="UTF‑8"?>
<sysconfig>
   <pages>
      <page>
         <pageMode>
            <url></url>
            <url></url>
            <url></url>
         </pageMode>
         <pageDescriptors>
            <pageDescriptor>
                <key></key>
                <value></value>
            </pageDescriptor>
         </pageDescriptors>
      </page>
      <page>…</page>
   </pages>
</sysconfig>
在page节点下定义具有相同页面结构的html页面配置信息,在pageMode下的 url定义具有相同页面结构的一组html页面url链接地址,在pageDescriptor下定义html页面中需要抓取数据的目标节点的描述信息,其中key表示数据保存时的字段名称,value表示按照我们定义的规则对目标节点的描述信息。
目标节点选择器的描述规则如下:
通过定义目标节点选择器规则来描述html页面中目标节点。
· 元素选择器
使用 CSS 选择器来选取 HTML 元素,如:
"p" 选取 <p> 元素。
"p.intro" 选取所有 class="intro" 的 <p> 元素。
"p#demo" 选取 id="demo" 的第一个 <p> 元素。
·属性选择器
使用 XPath 表达式来选择带有给定属性的元素,如:
"[href]" 选取所有带有 href 属性的元素。
"[href='#']" 选取所有带有 href 值等于 "#" 的元素。
"[href!='#']" 选取所有带有 href 值不等于 "#" 的元素。
"[href$='.TIF']" 选取所有 href 值以 ".TIF" 结尾的元素。
· CSS 选择器
CSS 选择器可用于改变 HTML 元素的 CSS 属性。
二、html引擎
根据xml解析器对xml文件的解析,html engine会得到一组page信息,然后依次对这组page信息做如下处理:
依次遍历pageMode下的url地址,根据url地址,构造http get请求,得到html文档,然后根据目标节点的描述信息,通过html engine解析得到结构化数据。
三、数据管理器
根据html引擎得到的结构化数据,由数据管理器根据用户配置的数据保存方式,再调用具体的数据管理器来保存这些结构化数据。
本发明中,首先,html引擎模块根据xml解析器模块获得的html页面url地址,通过http get请求获取目标网页文档,接着xml解析器模块根据xml配置文件中的目标节点选择器,描述具有相同html页面结构的目标节点;再经过我们的html 引擎模块解析,得到我们想要的目标节点的结构化数据;最后由数据管理器模块根据配置文件中配置的数据保存方式将其保存在相应的介质中。

一种基于HTML网页的数据抽取系统.pdf_第1页
第1页 / 共6页
一种基于HTML网页的数据抽取系统.pdf_第2页
第2页 / 共6页
一种基于HTML网页的数据抽取系统.pdf_第3页
第3页 / 共6页
点击查看更多>>
资源描述

《一种基于HTML网页的数据抽取系统.pdf》由会员分享,可在线阅读,更多相关《一种基于HTML网页的数据抽取系统.pdf(6页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103309954 A (43)申请公布日 2013.09.18 CN 103309954 A *CN103309954A* (21)申请号 201310200116.5 (22)申请日 2013.05.27 G06F 17/30(2006.01) (71)申请人 复旦大学 地址 200433 上海市杨浦区邯郸路 220 号 (72)发明人 王新 陈功锁 权恒星 (74)专利代理机构 上海正旦专利代理有限公司 31200 代理人 陆飞 盛志范 (54) 发明名称 一种基于 html 网页的数据抽取系统 (57) 摘要 本发明属于计算机网络技术领域, 具体为一 种基于h。

2、tml网页的数据抽取系统。 其由 xml解析 器, html 引擎以及数据管理器三个模块组成。本 发明的优点在于 : 只需要在 xml 文件中描述 html 网页中哪些节点信息需要抓取, 以及 xml 中其他 一些配置信息, 就可以快速的抓取所需要的数据, 其方法简单、 快捷。 (51)Int.Cl. 权利要求书 1 页 说明书 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书4页 (10)申请公布号 CN 103309954 A CN 103309954 A *CN103309954A* 1/1 页 2 1. 一种基于 html 网页的数据抽取系统,。

3、 其特征在于 : 其由 xml 解析器, html 引擎以及 数据管理器三个模块组成 ; 其中 : 所述 xml 解析器模块负责解析 sysconfig.xml 文件, 得到系统初始化参数、 页面的 url 地址和目标节点的描述信息 ; 所述html引擎模块首先验证sysconfig.xml文件配置信息的有效性, 如果有效则继续 执行, 否则提示用户检查 xml 文件配置信息 ; xml 文件配置通过验证之后, 根据配置信息中 的页面链接地址, 获取该页面的 html 文档, 然后再调用 html 解析器来解析 html 文档, 根据 sysconfig.xml 中配置的目标节点选择器描述信息。

4、, 获得 html 中目标元素, 从而获得该元 素的数据 ; 所述数据管理模块主要是负责数据的持久化工作, 根据用户在 sysconfig.xml 中配置 的数据保存方式, 选择相应的数据管理器来完成数据的持久化工作 ; 所述系统进行数据抽取的工作流程如下 : 首先, html引擎模块根据xml解析器模块获得的html页面url地址, 通过http get请 求获取目标网页文档 ; 接着 xml 解析器模块根据 xml 文件中的配置目标节点选择器, 描述具有相同 html 页面 结构的目标节点 ; 再经过我们的 html 引擎模块解析, 得到我们想要的目标节点的结构化数据 ; 最后由数据管理器。

5、模块根据配置文件中配置的数据保存方式将其保存在相应的介质 中。 2. 根据权利要求 1 所述的基于 html 网页的数据抽取系统, 其特征在于 : 所述目标节点 选择器, 包括元素选择器、 属性选择器以及选择器 ; 其中, 所述元素选择器为 CSS 选择器 ; 所述属性选择器, 使用 XPath 表达式来选择带有给定属性的元素 ; 所述 CSS 选择器, 用于 改变 HTML 元素的 CSS 属性。 3. 根据权利要求 1 所述的基于 html 网页的数据抽取系统, 其特征在于 : 数据管理器模 块中所述数据保存方式包括文本文件, excel 文件以及数据库。 权 利 要 求 书 CN 103。

6、309954 A 2 1/4 页 3 一种基于 html 网页的数据抽取系统 技术领域 0001 本发明属于计算机网络技术领域, 具体的说, 涉及一种基于 html 网页的数据抽取 系统。首先通过 http get 请求获取目标网页文档, 然后通过在配置文件中使用我们定义的 标记描述目标节点, 最后经过我们的 html engine 解析, 得到我们想要的目标数据。 背景技术 0002 伴随着中国经济的快速发展, 互联网正在悄然发生着突飞猛进的变化。电子商务 网站, 门户网站, 博客, 微博等各种类型的信息都发布在互联网上。虽然互联网上充斥着非 常非常多的信息, 但是同时我们也注意到, 这些信。

7、息大多是非结构化数据, 有时候为了科学 研究或者其他需要, 我们希望从互联网上获取数据, 并将它们转化为结构化数据保存, 利用 这些结构化数据验证我们的模型。 0003 传统的获得结构化数据的做法是先通过html get请求获得该页面资源, 然后针对 每一个具有相同页面结构的html页面编写一个html解析器, 再获得目标节点的数据, 保存 在相应的介质中。 但是这样的做法会带来一些问题, 如我们需要解析的页面非常多, 且这些 页面的页面结构大多不一样, 那么需要编写的 html 页面解析器就会非常的多。当需要解析 的页面非常多时, 这种方法是比较低下的, 且效率不高, 实现起来比较麻烦。 0。

8、004 出于上述方面的考虑, 我们提出了一种基于 html 网页的数据抽取系统。该系统通 过利用我们的规则, 描述具有相同页面结构的html的目标节点, 然后由html引擎解析配置 文件, 从而得到我们想要的目标节点的结构化数据。 通过这种方式, 我们不需要为每个具有 不同页面结构的 html 网页编写页面解析器, 而只需要在我们的配置文件中, 描述清楚这类 具有相同页面结构的html网页的目标节点信息, 这大大的减少了html网页解析器的用量, 提高了效率。 发明内容 0005 本发明主要提出了一种通用的 html 网页数据抽取系统。通过在 xml 配置文件中 描述具有相同页面结构的目标节点。

9、, 然后由 html 引擎来统一处理所有的 html 页面。 0006 本发明提出的一种基于 html 网页的数据抽取系统, 该系统由三个模块组成, 分别 是 xml 解析器模块, html 引擎模块以及数据管理器模块, 关于三个模块的功能描述如下 : 一 : xml 解析器模块 xml 解析器模块负责解析 sysconfig.xml 文件, 得到系统初始化参数、 页面的 url 地址 以及目标节点的描述信息 ; xml 解析器模块获得 pages 节点下的所有 ,page 信息, 在 page 信息中描述具有相同页 面结构的一组 url 链接地址信息。 0007 二 : html 引擎模块 。

10、html 引擎模块首先验证 sysconfig.xml 文件配置信息的有效性, 如果有效则继续执 行, 否则提示用户检查 xml 文件配置信息。Xml 文件配置通过验证之后, 根据配置信息中的 说 明 书 CN 103309954 A 3 2/4 页 4 页面链接地址, 获取该页面的 html 文档, 然后再调用 html 解析器来解析 html 文档, 根据 sysconfig.xml 中定义的目标节点获取规则, 获得 html 中目标元素, 从而获得该元素的数 据。 0008 html引擎模块为系统的核心模块, 主要完成xml文件的验证, 验证xml配置信息是 否正确, 尤其是 xml 文。

11、件中关于 html 页面目标抓取节点的描述是否有效。如果验证未能通 过则提示用户修正 xml 文件。 0009 通过上述验证之后, 根据 xml 解析器模块获得的 html 页面 url 地址, 经 httpget 请求得到该页面的 html 字符串, 再由 html 解析器将 html 字符串转化为具有 dom 树结构的 html文档, 根据sysconfig.xml中配置的目标节点选择器描述信息, 最终得到dom树中的目 标节点, 从而得到所需的数据。 0010 三 : 数据管理器模块 数据管理模块主要是负责数据的持久化工作, 根据用户在 sysconfig.xml 中配置的数 据保存方式。

12、, 选择相应的数据管理器来完成数据的持久化工作。 0011 数据管理器模块提供多种不同的数据持久化方式, 包括文本文件, excel 文件以及 数据库等等, 根据上述html数据抓取引擎获得的数据以及sysconfig.xml中配置的数据保 存方式, 最终由数据管理器完成数据的持久化工作。 0012 数据管理器模块提供了一组统一的接口供上层应用程序调用, 如文件的打开, 文 件的读取, 文件的写入, 以及文件的关闭。上层应用程序通过该接口完成数据的读取和写 入, 从而完成数据的持久化工作。 0013 本发明中, 系统进行数据抽取的工作流程如下 : 首先, html引擎模块根据xml解析器模块获。

13、得的html页面url地址, 通过http get请 求获取目标网页文档 ; 接着 xml 解析器模块根据 xml 配置文件中的目标节点选择器, 描述具有相同 html 页面 结构的目标节点 ; 再经过我们的 html 引擎模块解析, 得到我们想要的目标节点的结构化数据 ; 最后由数据管理器模块根据配置文件中配置的数据保存方式将其保存在相应的介质 中。 0014 本发明的有益效果在于 : 为获得、 保存结构化数据, 我们不再需要为每个具有不同 页面结构的 html 网页编写页面解析器, 而只需要在我们的配置文件中, 描述清楚这类具有 相同页面结构的html网页的目标节点信息, 这大大的减少了h。

14、tml网页解析器的用量, 提高 了效率。 数据抽取系统只需要在xml 文件中描述html网页中哪些节点信息需要抓取, 以及 xml 中其他一些配置信息, 就可以快速的抓取您所需要的数据。这种方法简单、 快捷。 具体实施方式 0015 本发明提出的数据抽取系统, 从功能上主要分为 xml 解析器, html 引擎以及数据 管理器三个部分。 0016 一、 xml 解析器 通过 xml 解析器解析 sysconfig.xml 文件, 得到在 sysconfig.xml 中配置系统启动参 数、 具有相同页面结构的页面链接地址 url 以及目标节点的描述信息。 说 明 书 CN 103309954 A。

15、 4 3/4 页 5 0017 以下为一个示例 sysconfig.xml 文件 : 在page节点下定义具有相同页面结构的html页面配置信息, 在pageMode下的 url定 义具有相同页面结构的一组 html 页面 url 链接地址, 在 pageDescriptor 下定义 html 页面 中需要抓取数据的目标节点的描述信息, 其中 key 表示数据保存时的字段名称, value 表示 按照我们定义的规则对目标节点的描述信息。 0018 目标节点选择器的描述规则如下 : 通过定义目标节点选择器规则来描述 html 页面中目标节点。 0019 元素选择器 使用 CSS 选择器来选取 H。

16、TML 元素, 如 : “p“ 选取 元素。 0020 “p.intro“ 选取所有 class=“intro“ 的 元素。 0021 “p#demo“ 选取 id=“demo“ 的第一个 元素。 0022 属性选择器 使用 XPath 表达式来选择带有给定属性的元素, 如 : “href“ 选取所有带有 href 属性的元素。 0023 “href=#“ 选取所有带有 href 值等于 “#“ 的元素。 0024 “href!=#“ 选取所有带有 href 值不等于 “#“ 的元素。 0025 “href$=.jpg“ 选取所有 href 值以 “.jpg“ 结尾的元素。 0026 CSS 。

17、选择器 CSS 选择器可用于改变 HTML 元素的 CSS 属性。 说 明 书 CN 103309954 A 5 4/4 页 6 0027 二、 html 引擎 根据 xml 解析器对 xml 文件的解析, html engine 会得到一组 page 信息, 然后依次对 这组 page 信息做如下处理 : 依次遍历pageMode下的url地址, 根据url地址, 构造http get请求, 得到html文档, 然后根据目标节点的描述信息, 通过 html engine 解析得到结构化数据。 0028 三、 数据管理器 根据 html 引擎得到的结构化数据, 由数据管理器根据用户配置的数据保存方式, 再调 用具体的数据管理器来保存这些结构化数据。 0029 本发明中, 首先, html 引擎模块根据 xml 解析器模块获得的 html 页面 url 地址, 通过 http get 请求获取目标网页文档, 接着 xml 解析器模块根据 xml 配置文件中的目标节 点选择器, 描述具有相同 html 页面结构的目标节点 ; 再经过我们的 html 引擎模块解析, 得 到我们想要的目标节点的结构化数据 ; 最后由数据管理器模块根据配置文件中配置的数据 保存方式将其保存在相应的介质中。 说 明 书 CN 103309954 A 6 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1