CN101859321A - 一种基于html流处理的数据采集方法和系统 - Google Patents
一种基于html流处理的数据采集方法和系统 Download PDFInfo
- Publication number
- CN101859321A CN101859321A CN 201010179377 CN201010179377A CN101859321A CN 101859321 A CN101859321 A CN 101859321A CN 201010179377 CN201010179377 CN 201010179377 CN 201010179377 A CN201010179377 A CN 201010179377A CN 101859321 A CN101859321 A CN 101859321A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- task
- child node
- intercepting
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明属于网页信息抽取技术领域,具体是一种基于HTML数据流处理的数据采集方法和系统。它由多线程收集器和下载控制模板以及数据存储系统构成。多线程收集器保证了工作速度,下载控制模板保证了工作的准确性。本系统可以在通过简单的模板配置,完成对使用人需要的网络数据的采集。实际应用表明本发明具有良好的稳定性,高度的实用性以及高效的效率。
Description
技术领域
本发明属于网页信息抽取技术领域,具体涉及一种数据采集方法和系统。
背景技术
网页信息抽取工作是将网络上海量的数据以某种方式收集起来,这些数据是做研究分析,机器学习,数据挖掘等工作的重要素材。已经有很多解决这个问题的方法,但是大多数停留于理论上。目前,网页信息抽取技术可分为基于网页结构和利用概率模型进行机器学习的方法。
1、利用概率模型学习的方法:
首先通过采集一定数量的网页样本,选定样本类型之后,后根据经验以及一些已有的知识进行特征抽取。然后通过人工标注的方式为分类器提供需要的答案。之后选取概率模型进行机器学习工作,常见的分类器有,SVM,CRF等。通常由于大量的前期工作和假设,目前做到的最好的工作是对特定领域进行抽取,这就限制了其在实际应用中的发展空间。
2.基于网页结构的方法:
此类方法带原理上通常比较简单,大致可以分为两个类型,类型一,遍历下载,此类方法在页面中穷尽链接,然后继续延续链接进行数据下载,这类方法主要的不足之处是无法判定下载范围以及无法对用户需要的信息进行格式化存储。类型二是利用网站的本身结构,这种方法可以解决类型一所面临的问题,但是此类方法主要存在于对指定网站的下载,他要求程序模拟每一个需要下载的网站,这导致了效率的低下。
发明内容
本发明的目的在于提出一种成本低、效率高的网络数据采集方法。
本发明利用同类网站存在共同结构特性的特点,总结规划的通用的模板模型,在降低了人工操作成本的同时,高效的实现了多路信息的同时采集。
本发明是一种基于HTML流处理的数据采集方法。该方法的实施系统由多线程收集器和下载控制模板以及数据存储系统构成。
如上所述,网络数据采集的主要问题就是在保证效率的前提下如何降低人工投入成本进行更加细致的信息采集。本发明利用模板继承的方式处理HTML的数据流来解决这个问题。其步骤包括:通过HTTP协议获取HTML文档数据流,然后利用一些节点来处理传入的数据流,这些节点以树的形式来表示,执行步骤为从树的根节点出发,按深度扩展的顺序往下进行处理,对于同一层的节点按其先后顺序处理;对每一个节点都设置有一定的属性,这些属性的设置是处理和编辑的核心部分;每个节点都传入当前数据流(Stream)和需要进行存储的数据信息,这些信息都不会因为通过其子节点返回之后而改变,控制模板节点的细则如表1所示。
这些节点分为有返回值和无返回值两类,无返回值的节点包括:
Pattern节点,为父节点,所有的其他节点都可以作为它的子节点。它本身并不包含任何属性,其他的所有节点都由它派生而来。
Filter节点,可以把所有的其它节点作为它的子节点,截取上一层数据流中的一部分字符串,作为其子节点的传入数据流,它截取以Head开头,以Tail结尾的字符串,按照Type中的节点截取一段。
Group节点,可以把所有的其它节点作为它的子节点。它将数据流根据分段标签分段,对于分出的每一段数据流给其子节点的节点处理。
Store节点,其子节点只能是有返回值的节点,保存继承得到的以及在其子节点返回的数据流,并将其中的内容保存起来。
Open节点,其子节点只能是有返回值的节点,它打开Url/Intercept节点中截取得到的Url,Open节点可以选择要打开的Url,需要使用的控制模板也可以选择是否将这个Url保存起来。
Replace节点,可以把所有的其它节点作为它的子节点,用来替换一些特定的字符串。
Repeat节点,可以把所有的其它节点作为它的子节点,它用来重复执行一定次数的其子节点,次数可以指定也可以截取,当指定的次数小于0时,将选用截取的次数。
有返回值的节点的返回值都包括name和value,所得的节点将被父亲节点进行处理。有返回值的节点包括:
Intercept节点,这个节点是存储数据的的主要节点,它不包含子节点,作用是截取上一层数据流中的一部分字符串,截取部分与Filter节点的作用相同,不同的是这个节点将截取的数据流返回给父节点。
Count节点,不包含子节点,得到输入数据流种特定的字符串的个数。
Merge节点,子节点只能是有返回值的节点,用来合并这些节点。
图1是本系统的运行流程图,本系统主要由以下几个部分组成:下载任务列表,线程池,下载器,下载控制模板,解析器以及文件存储系统。
首先,从任务队列中获得一个下载任务,如果任务列表为空,则系统运行结束,否则将任务传输到下载线程池;如果线程池有空闲线程则执行任务,否则任务仍在任务列表中等待,直到线程池有空闲线程为止,线程数量可以根据运行的具体环境在配置文件中控制。
如果执行任务成功,则将下载的HTTP数据流输入到解析器,解析器由与任务配套的下载控制模板来控制;如果执行任务失败,则将任务返回到下载任务列表中;成功解析的结构化数据被存储到文件系统之中。如果是最后一个任务,则系统运行完结。
对于每一个网站,可以根据需要来配置这个网站需要的模板,这与其他方法所说的配置模板有所不同,本发明配置模板的目的不仅是为了指示系统的运行路径,更主要的是自由的选取需要进行存储的网络信息。由于定义了表1所示的模板类型,因此在实用中进行操作是十分便利的。
有益效果:
本发明采用下载控制模板的方式,解决了网络数据采集过程中精准度和效率的结合问题,可以用于各种网络信息的自动采集。具有下述优点。
1.模板的设计具有通用性和易读性,可以涵盖所有的数据采集要求。
2.模板的通用性,使模板配置工作简单,模板易读性增强,便于维护。
3.利用数学方法来检验冗余操作,多线程技术分配下载任务,使系统具有非常高的工作效率。
4.允许使用人灵活的配置模板,使本系统具有非常广阔的实用价值。
5.采集范围和类型十分广泛,几乎不受限制。
6.有网络的计算机就可以运行,运行成本低廉。
附图说明
图1系统运行流程图。
图2下载控制模板根入口。
图3设置存储数据的下载控制模板。
图4系统运行后保存于存储系统中的数据。
具体实施方式
以”http:www.youku.com/v”为实施例测试收集的页面的源入口,首先配置下载控制模板根入口(参见图2所示),在固定格式的xml文档中来设置。
使用人根据自己需要设置的存储数据下载控制模板,由这个模板来表示哪些数据是需要本系统进行存储的,以使用人需要存储的内容是每个视频的题目,所在页面的链接,描述以及发表时间为例,配置存储数据的下载控制模板(参见图3,本图为配置的模板中的一部分,是表1所介绍的节点的一个实例)。
解析器通过读取HTML流和图3中的存储数据的下载控制模板内容,解析出使用人需要的数据,存储于数据存储系统中。图4是存储于数据库中的结果。
本发明配置相应页面的下载控制模板,设置系统允许的最大同时下载次数,在有网络环境的计算机中,运行程序,就可以开始进行数据采集。本发明还具备一些常用的数据处理异常功能,如网络切断时的任务列表保存。任务出现异常或意外被中止后的运行恢复等。
控制下载模板节点规则,表1
Claims (3)
1.一种基于HTML流处理的数据采集方法,其特征在于具体步骤如下:通过HTTP协议获取HTML文档数据流之后,利用一些节点来处理传入的数据流,这些节点以树的形式来表示,执行步骤为从树的根节点出发,按深度扩展的顺序往下进行处理,对于同一层的节点按其先后顺序处理;每一个节点都设置有一定的属性;每个节点都传入当前数据流和需要进行存储的数据信息,这些信息不会因为通过其子节点返回之后而改变;通过多线程进行多路并行处理,以及数学概率模型进行下载检验,将处理后的数据保存于存储系统之中。
2.根据权利要求1所述的基于HTML流处理的数据采集方法,其特征在于所述节点分为有返回值和无返回值两类,其中,无返回值的节点包括:
Pattern节点,为父节点,所有的其他节点都作为它的子节点,它本身并不包含任何属性,其他的所有节点都由它派生而来;
Filter节点,把所有的其它节点作为它的子节点,截取上一层数据流中的一部分字符串,作为其子节点的传入数据流,它截取以Head开头,以Tail结尾的字符串,按照Type中的节点截取一段;
Group节点,把所有的其它节点作为它的子节点;它将数据流根据分段标签分段,对于分出的每一段数据流给其子节点的节点处理;
Store节点,其子节点是有返回值的节点,保存继承得到的以及在其子节点返回的数据流,并将其中的内容保存起来;
Open节点,其子节点是有返回值的节点,它打开Url/Intercept节点中截取得到的Url,Open节点选择要打开的Url,需要使用的控制模板选择是否将这个Url保存起来;
Replace节点,可以把所有的其它节点作为它的子节点,用来替换一些特定的字符串;
Repeat节点,把所有的其它节点作为它的子节点,它用来重复执行一定次数的其子节点,次数指定或截取,当指定的次数小于0时,将选用截取的次数;
有返回值的节点的返回值都包括name和value,所得的节点被父亲节点进行处理;有返回值的节点包括:
Intercept节点,是存储数据的的主要节点,它不包含子节点,作用是截取上一层数据流中的一部分字符串,截取部分与Filter节点的作用相同,不同的是这个节点将截取的数据流返回给父节点;
Count节点,不包含子节点,得到输入数据流种特定的字符串的个数;
Merge节点,子节点是有返回值的节点,用来合并这些节点。
3.一种如权利要求1所述的基于HTML流处理的数据采集方法的实施系统,其特征在于,由以下几个部分组成:下载任务列表,线程池,下载器,下载控制模板,解析器以及文件存储系统;
首先,从任务列表中获得一个下载任务,如果任务列表为空,则系统运行结束,否则将任务传输到下载线程池;如果线程池有空闲线程则执行任务,否则任务仍在任务列表中等待,直到线程池有空闲线程为止,线程数量根据运行的具体环境在配置文件中控制;
如果执行任务成功,则将下载器下载的HTTP数据流输入到解析器,解析器由与任务配套的下载控制模板来控制;如果执行任务失败,则将任务返回到下载任务列表中;成功解析的结构化数据被存储到文件存储系统之中;如果是最后一个任务,则系统运行完结。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010179377 CN101859321A (zh) | 2010-05-20 | 2010-05-20 | 一种基于html流处理的数据采集方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010179377 CN101859321A (zh) | 2010-05-20 | 2010-05-20 | 一种基于html流处理的数据采集方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101859321A true CN101859321A (zh) | 2010-10-13 |
Family
ID=42945233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010179377 Pending CN101859321A (zh) | 2010-05-20 | 2010-05-20 | 一种基于html流处理的数据采集方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101859321A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235988A (zh) * | 2013-01-23 | 2013-08-07 | 江苏省电力公司扬州供电公司 | 数据库一体化监管平台及其工作方法以及依据此平台的备份任务流程管理的业务控制方法 |
CN108090104A (zh) * | 2016-11-23 | 2018-05-29 | 百度在线网络技术(北京)有限公司 | 用于获取网页信息的方法和装置 |
CN108170803A (zh) * | 2017-12-28 | 2018-06-15 | 南京烽火软件科技有限公司 | 一种互联网信息分层采集方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064475A1 (en) * | 2002-09-27 | 2004-04-01 | International Business Machines Corporation | Methods for progressive encoding and multiplexing of web pages |
CN101192234A (zh) * | 2007-06-07 | 2008-06-04 | 腾讯科技(深圳)有限公司 | 一种基于网页抽取的搜索系统及搜索方法 |
CN101582075A (zh) * | 2009-06-24 | 2009-11-18 | 大连海事大学 | Web信息抽取系统 |
-
2010
- 2010-05-20 CN CN 201010179377 patent/CN101859321A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064475A1 (en) * | 2002-09-27 | 2004-04-01 | International Business Machines Corporation | Methods for progressive encoding and multiplexing of web pages |
CN101192234A (zh) * | 2007-06-07 | 2008-06-04 | 腾讯科技(深圳)有限公司 | 一种基于网页抽取的搜索系统及搜索方法 |
CN101582075A (zh) * | 2009-06-24 | 2009-11-18 | 大连海事大学 | Web信息抽取系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235988A (zh) * | 2013-01-23 | 2013-08-07 | 江苏省电力公司扬州供电公司 | 数据库一体化监管平台及其工作方法以及依据此平台的备份任务流程管理的业务控制方法 |
CN103235988B (zh) * | 2013-01-23 | 2016-08-03 | 江苏省电力公司扬州供电公司 | 数据库一体化监管平台的工作方法 |
CN108090104A (zh) * | 2016-11-23 | 2018-05-29 | 百度在线网络技术(北京)有限公司 | 用于获取网页信息的方法和装置 |
CN108170803A (zh) * | 2017-12-28 | 2018-06-15 | 南京烽火软件科技有限公司 | 一种互联网信息分层采集方法 |
CN108170803B (zh) * | 2017-12-28 | 2021-12-21 | 南京烽火天地通信科技有限公司 | 一种互联网信息分层采集方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102646129B (zh) | 一种主题相关的分布式网络爬虫系统 | |
Bronzi et al. | Extraction and integration of partially overlapping web sources | |
CN109543086A (zh) | 一种面向多数据源的网络数据采集与展示方法 | |
CN105205105B (zh) | 一种基于storm的数据ETL系统及处理方法 | |
CN107423391B (zh) | 网页结构化数据的信息提取方法 | |
Hogue | Tree pattern inference and matching for wrapper induction on the World Wide Web | |
CN102360368A (zh) | 基于抽取模板可视化定制的Web数据抽取方法 | |
CN104516982A (zh) | 一种基于Nutch的Web信息提取方法和系统 | |
CN102135976B (zh) | 超文本标识语言页面结构化数据提取方法及装置 | |
CN104598536B (zh) | 一种分布式网络信息结构化处理方法 | |
CN104063497A (zh) | 观点处理方法和装置以及搜索方法和装置 | |
CN102591612A (zh) | 一种基于标点连续性的通用网页正文提取方法及其系统 | |
CN107220250A (zh) | 一种模板配置方法及系统 | |
CN102646095A (zh) | 一种基于网页分类信息的对象分类方法和系统 | |
CN102637172A (zh) | 网页分块标注方法与系统 | |
CN107818181A (zh) | 基于Plcient交互式引擎的索引方法及其系统 | |
CN103440343B (zh) | 一种面向领域服务目标的知识库构建方法 | |
CN108650546A (zh) | 弹幕处理方法、计算机可读存储介质及电子设备 | |
CN108228546A (zh) | 一种文本特征提取方法、装置、设备及可读存储介质 | |
CN101859321A (zh) | 一种基于html流处理的数据采集方法和系统 | |
Al-Msie'deen | Tag clouds for object-oriented source code visualization | |
CN108121743A (zh) | 一种通用网页模版的生成和使用方法、系统 | |
CN108345603B (zh) | 一种sql语句解析方法及装置 | |
Mannocci et al. | The Europeana network of ancient Greek and Latin epigraphy data infrastructure | |
CN105740997A (zh) | 一种控制任务流程的方法、装置及数据库管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20101013 |