CN105335516A - 一种通用采集系统的构建方法 - Google Patents
一种通用采集系统的构建方法 Download PDFInfo
- Publication number
- CN105335516A CN105335516A CN201510739293.XA CN201510739293A CN105335516A CN 105335516 A CN105335516 A CN 105335516A CN 201510739293 A CN201510739293 A CN 201510739293A CN 105335516 A CN105335516 A CN 105335516A
- Authority
- CN
- China
- Prior art keywords
- configuration
- acquisition
- page
- xpath
- construction method
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000000605 extraction Methods 0.000 claims abstract description 7
- 239000000284 extract Substances 0.000 claims description 20
- 238000001914 filtration Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 230000014509 gene expression Effects 0.000 claims description 12
- 230000013011 mating Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000010453 quartz Substances 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 241000270322 Lepidosauria Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
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/951—Indexing; Web crawling techniques
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 Transfer Between Computers (AREA)
Abstract
本发明公开了一种通用采集系统的构建方法,包括以下四个步骤:入口地址采集配置、翻页地址采集配置、详情页地址采集配置和字段抽取配置,各采集配置步骤之间为顺序进行,即前一个采集配置步骤的输出作为后一个采集配置步骤的输入。该一种通用采集系统的构建方法与现有技术相比,设计了多线程并发机制,任务之间通过数据库进行交互协作,能够进行简单的分布式采集;实现了对多大多数的网站的配置采集和分布式采集,简化了网站采集的繁琐的开发工作,实用性强,适用范围广泛,易于推广。
Description
技术领域
本发明涉及数据采集技术领域,具体地说是一种实用性强、通用采集系统的构建方法。
背景技术
互联网数据的采集,是结合内部数据与互联网数据产生价值的基础和前提。由于网页语法的灵活性,不同的网站的网页结构差别很大,即使是同一个网页也可能使用不同的模板。对不同的网站进行数据采集时,由于采集的位置及数据展现方式的不同,很难进行自动化的通用采集,定制化的通用采集是必须的。
在对网页进行处理和抽取的过程中通常会将网页形成DOM树。DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示。
HtmlUnit是一款常用的Java语言的页面分析工具,可以下载网页,解析网页形成DOM树,并且可以定位到网页上的任意节点的内容。Xpath即XML路径语言,它是一种用来确定XML文档中的位置的语言。Xpath基于XML的树状结构,提供在数据结构中寻找节点的能力。Xpath中可以配置选择的节点的路径,通过节点的属性进行筛选。配置Xpath,可以对网页中的数据进行任意的抽取。
Quartz是一个Java编写的开源作业调度框架,能够对数百个甚至上千个作业进行调度。对Quartz进行简单配置就能实现定时任务的开发。
基于此,现提供一种通用采集系统的构建方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、通用采集系统的构建方法。
一种通用采集系统的构建方法,包括以下四个步骤:入口地址采集配置、翻页地址采集配置、详情页地址采集配置和字段抽取配置,各采集配置步骤之间为顺序进行,即前一个采集配置步骤的输出作为后一个采集配置步骤的输入。
所述四个步骤中,前后的采集配置步骤之间通过操作同一个数据库中的表,实现串联关系,且当前一个采集步骤结束之前,后一个采集步骤不能结束。
所述入口地址配置方式包括以下三种:根据搜索词语配置入口地址集合、根据链接块位置配置入口地址集合、根据前置任务配置入口地址集合。
所述根据搜索词语配置入口地址集合是指配置包括地址前缀、地址后缀、搜索词集合、搜索词编码方式的参数,然后根据这些参数拼接形成入口地址;
根据链接块位置配置入口地址集合是指配置网页地址、链接块的Xpath路径,下载网页后根据Xpath抽取出入口地址;
根据前置任务配置入口地址集合是指配置前置任务的任务名称、子步骤名称,从前置任务的某个子步骤的输出结果中获取入口地址。
所述翻页地址采集配置方式包括以下两种:根据Xpath发现下一页,根据参数规则发现下一页。
所述根据Xpath发现下一页即为配置下一页的Xpath的路径,其具体过程为:根据入口网页内容和下一页的Xpath路径抽取出下一页的地址;
根据参数规则发现下一页的具体过程为:获取参数名称、参数变化量,根据入口地址,从中抽取出变化的参数名称及值,进行改变;当不存在参数名称时,则默认选择url中的最后一个数字进行改变。
所述翻页地址采集配置过程中,根据日期进行过滤和根据页面个数进行翻页过滤。
所述详情页地址采集配置是根据Xpath进行抽取,且在进行详情页采集的过程中,根据标题进行过滤和根据条数进行过滤。
所述字段抽取配置方式包括以下三种:根据标签进行匹配,根据正则表达式进行匹配和根据xpath进行匹配。
所述根据标签进行匹配是指配置所抽取内容的前标签、后标签,将前后标签中间的内容抽取出来;
根据正则表达式进行匹配是指配置正则表达式、组号,根据正则表达式匹配网页内容,将对应的组号中的内容抽取出来;
根据xpath进行匹配是指配置xpath路径、是否取出HTML,如果包含HTML,则将xpath中的所有内容抽取出来,否则仅仅取出节点的文字内容。
本发明的一种通用采集系统的构建方法,具有以下优点:
该发明的一种通用采集系统的构建方法,通用的网站配置采集系统,节约数据采集所需要的人力成本,同时降低数据采集的技术门槛;设计了多线程并发机制,任务之间通过数据库进行交互协作,能够进行简单的分布式采集;实现了对大多数的网站的配置采集和分布式采集,简化了网站采集的繁琐的开发工作;设计了多个支持模块,包括定时器、爬虫代理、网页DOM树生成、网页清洗等,使得整个采集体统能够灵活配置,达到通用的效果,实用性强,适用范围广泛,易于推广。
附图说明
附图1为本发明的采集步骤之间的协作示意图。
附图2为每个采集步骤的执行流程图。
附图3为通用采集系统功能架构设计图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明的提供一种通用采集系统的构建方法,互联网上的信息组织方式主要分为两种:导航式和搜索式、导航式的网页,通过导航栏不断进入下一级导航,然后进入最终的页面。当数据量较大时,会把同一类的数据进行列表展示。因此,综合两种方式,该采集系统把一个采集任务分成四个步骤::入口地址采集配置、翻页地址采集配置、详情页地址采集配置和字段抽取配置,各采集配置步骤之间为顺序进行,即前一个采集配置步骤的输出作为后一个采集配置步骤的输入。
当然并不是所有的采集任务都完全具备这四个步骤,也有的网站的入口地址可能是多级导航后才获取。当缺少其中的一个步骤时,该步骤会复制前一个步骤的输出结果作为该任务的输出。当采集任务需要多于这四个步骤时,可以将该采集任务拆分成多个子采集任务,然后配置子采集任务之间的前后关系。
所述入口地址配置方式包括以下三种:根据搜索词语配置入口地址集合、根据链接块位置配置入口地址集合、根据前置任务配置入口地址集合。
所述根据搜索词语配置入口地址集合是指配置包括地址前缀、地址后缀、搜索词集合、搜索词编码方式的参数,然后根据这些参数拼接形成入口地址;
根据链接块位置配置入口地址集合是指配置网页地址、链接块的Xpath路径,下载网页后根据Xpath抽取出入口地址;
根据前置任务配置入口地址集合是指配置前置任务的任务名称、子步骤名称,从前置任务的某个子步骤的输出结果中获取入口地址。
所述翻页地址采集配置方式包括以下两种:根据Xpath发现下一页,根据参数规则发现下一页。
所述根据Xpath发现下一页即为配置下一页的Xpath的路径,其具体过程为:根据入口网页内容和下一页的Xpath路径抽取出下一页的地址;
根据参数规则发现下一页的具体过程为:获取参数名称、参数变化量,根据入口地址,从中抽取出变化的参数名称及值,进行改变;当不存在参数名称时,则默认选择url中的最后一个数字进行改变。
在进行翻页的过程中,经常需要对页面进行过滤。因此需要进行翻页过滤,常用的翻页过滤方式有:根据日期进行过滤和根据页面个数进行过滤。
所述详情页地址采集配置是根据Xpath进行抽取。在进行详情页采集的过程中,经常需要对页面进行过滤。因此需要进行详情页的过滤,常用的过滤方式有:根据标题进行过滤和根据条数进行过滤。
所述字段抽取配置方式包括以下三种:根据标签进行匹配,根据正则表达式进行匹配和根据xpath进行匹配。
所述根据标签进行匹配是指配置所抽取内容的前标签、后标签,将前后标签中间的内容抽取出来;
根据正则表达式进行匹配是指配置正则表达式、组号,根据正则表达式匹配网页内容,将对应的组号中的内容抽取出来;
根据xpath进行匹配是指配置xpath路径、是否取出HTML,如果包含HTML,则将xpath中的所有内容抽取出来,否则仅仅取出节点的文字内容。
通用采集系统中的每个采集任务有多个采集步骤,各采集步骤之间有串联的关系,前一个采集步骤的输出作为后一个采集步骤的输入。前后的采集步骤之间通过操作同一个数据库中的表,实现串联关系。另外前一个采集步骤结束之前,后一个采集步骤不能结束,因为前一个采集步骤仍可能在生成数据,通过查询日志数据表中采集步骤的运行状态实现。当然最好使用类似Kafka的消息中间件能实现这种通信效果。每个采集步骤也是一个任务,采集步骤之间的协作示意图如图1所示。
附图1中描述了一个采集任务的子步骤之间的协作关系,每个子步骤在执行时也是一个任务,整体采集任务负责子任务的调度和管理。子任务之间通过数据库中的表进行通信。例如,列表地址采集任务在执行时,需要写入日志表,同时从日志表中查询翻页地址采集任务的状态。列表地址采集任务读取翻页地址采集任务的输出表,而翻页地址表中维护了每一条数据是否被列表地址采集任务处理的标记。
为了提高采集效率,每个采集步骤都是多线程的,每个子线程锁住并读取一批数据进行处理,每个采集步骤的执行流程图如附图2所示。
一个完整的采集系统还需要其他模块的支持,例如定时系统等。通用采集系统功能架构设计图如图3所示,由于该技术在现有技术中较为常见,故不再赘述。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种通用采集系统的构建方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (10)
1.一种通用采集系统的构建方法,其特征在于,包括以下四个步骤:入口地址采集配置、翻页地址采集配置、详情页地址采集配置和字段抽取配置,各采集配置步骤之间为顺序进行,即前一个采集配置步骤的输出作为后一个采集配置步骤的输入。
2.根据权利要求1所述的一种通用采集系统的构建方法,其特征在于,所述四个步骤中,前后的采集配置步骤之间通过操作同一个数据库中的表,实现串联关系,且当前一个采集步骤结束之前,后一个采集步骤不能结束。
3.根据权利要求2所述的一种通用采集系统的构建方法,其特征在于,所述入口地址配置方式包括以下三种:根据搜索词语配置入口地址集合、根据链接块位置配置入口地址集合、根据前置任务配置入口地址集合。
4.根据权利要求3所述的一种通用采集系统的构建方法,其特征在于,所述根据搜索词语配置入口地址集合是指配置包括地址前缀、地址后缀、搜索词集合、搜索词编码方式的参数,然后根据这些参数拼接形成入口地址;
根据链接块位置配置入口地址集合是指配置网页地址、链接块的Xpath路径,下载网页后根据Xpath抽取出入口地址;
根据前置任务配置入口地址集合是指配置前置任务的任务名称、子步骤名称,从前置任务的某个子步骤的输出结果中获取入口地址。
5.根据权利要求2所述的一种通用采集系统的构建方法,其特征在于,所述翻页地址采集配置方式包括以下两种:根据Xpath发现下一页,根据参数规则发现下一页。
6.根据权利要求5所述的一种通用采集系统的构建方法,其特征在于,所述根据Xpath发现下一页即为配置下一页的Xpath的路径,其具体过程为:根据入口网页内容和下一页的Xpath路径抽取出下一页的地址;
根据参数规则发现下一页的具体过程为:获取参数名称、参数变化量,根据入口地址,从中抽取出变化的参数名称及值,进行改变;当不存在参数名称时,则默认选择url中的最后一个数字进行改变。
7.根据权利要求6所述的一种通用采集系统的构建方法,其特征在于,所述翻页地址采集配置过程中,根据日期进行过滤和根据页面个数进行翻页过滤。
8.根据权利要求2所述的一种通用采集系统的构建方法,其特征在于,所述详情页地址采集配置是根据Xpath进行抽取,且在进行详情页采集的过程中,根据标题进行过滤和根据条数进行过滤。
9.根据权利要求2所述的一种通用采集系统的构建方法,其特征在于,所述字段抽取配置方式包括以下三种:根据标签进行匹配,根据正则表达式进行匹配和根据xpath进行匹配。
10.根据权利要求9所述的一种通用采集系统的构建方法,其特征在于,所述根据标签进行匹配是指配置所抽取内容的前标签、后标签,将前后标签中间的内容抽取出来;
根据正则表达式进行匹配是指配置正则表达式、组号,根据正则表达式匹配网页内容,将对应的组号中的内容抽取出来;
根据xpath进行匹配是指配置xpath路径、是否取出HTML,如果包含HTML,则将xpath中的所有内容抽取出来,否则仅仅取出节点的文字内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510739293.XA CN105335516A (zh) | 2015-11-04 | 2015-11-04 | 一种通用采集系统的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510739293.XA CN105335516A (zh) | 2015-11-04 | 2015-11-04 | 一种通用采集系统的构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105335516A true CN105335516A (zh) | 2016-02-17 |
Family
ID=55286043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510739293.XA Pending CN105335516A (zh) | 2015-11-04 | 2015-11-04 | 一种通用采集系统的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105335516A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760545A (zh) * | 2016-03-17 | 2016-07-13 | 湖南中周至尚信息技术有限公司 | 基于可配置规则的网站数据搜索方法 |
CN107092632A (zh) * | 2017-02-09 | 2017-08-25 | 北京小度信息科技有限公司 | 数据处理方法及装置 |
CN109885754A (zh) * | 2019-02-18 | 2019-06-14 | 浪潮软件集团有限公司 | 一种互联网非结构化文本数据的采集方法 |
CN111274217A (zh) * | 2020-01-10 | 2020-06-12 | 深圳前海环融联易信息科技服务有限公司 | 数据采集的方法、装置、计算机设备以及存储介质 |
CN111651324A (zh) * | 2020-06-02 | 2020-09-11 | 上海泛微网络科技股份有限公司 | 一种日志收集方法、装置 |
CN111752696A (zh) * | 2020-06-25 | 2020-10-09 | 武汉众邦银行股份有限公司 | 一种基于rpc及线程锁的分布式定时任务调度方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383320B1 (en) * | 1999-11-05 | 2008-06-03 | Idom Technologies, Incorporated | Method and apparatus for automatically updating website content |
CN101576891A (zh) * | 2008-05-05 | 2009-11-11 | 北京瑞佳晨科技有限公司 | 一种解析网页表格对象节点的方法 |
CN101957816A (zh) * | 2009-07-13 | 2011-01-26 | 上海谐宇网络科技有限公司 | 基于多页面比较的网页元数据自动抽取方法和系统 |
CN102096705A (zh) * | 2010-12-31 | 2011-06-15 | 南威软件股份有限公司 | 一种文章采集的方法 |
CN102254046A (zh) * | 2011-08-18 | 2011-11-23 | 深圳市融创天下科技股份有限公司 | 一种网页数据采集方法、系统 |
-
2015
- 2015-11-04 CN CN201510739293.XA patent/CN105335516A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383320B1 (en) * | 1999-11-05 | 2008-06-03 | Idom Technologies, Incorporated | Method and apparatus for automatically updating website content |
CN101576891A (zh) * | 2008-05-05 | 2009-11-11 | 北京瑞佳晨科技有限公司 | 一种解析网页表格对象节点的方法 |
CN101957816A (zh) * | 2009-07-13 | 2011-01-26 | 上海谐宇网络科技有限公司 | 基于多页面比较的网页元数据自动抽取方法和系统 |
CN102096705A (zh) * | 2010-12-31 | 2011-06-15 | 南威软件股份有限公司 | 一种文章采集的方法 |
CN102254046A (zh) * | 2011-08-18 | 2011-11-23 | 深圳市融创天下科技股份有限公司 | 一种网页数据采集方法、系统 |
Non-Patent Citations (1)
Title |
---|
KEVEN1006: "图片如何采集:八爪鱼采集器图文攻略", 《HTTPS://JINGYAN.BAIDU.COM/ARTICLE/ED2A5D1F3224D609F7BE1753.HTML》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760545A (zh) * | 2016-03-17 | 2016-07-13 | 湖南中周至尚信息技术有限公司 | 基于可配置规则的网站数据搜索方法 |
CN107092632A (zh) * | 2017-02-09 | 2017-08-25 | 北京小度信息科技有限公司 | 数据处理方法及装置 |
CN109885754A (zh) * | 2019-02-18 | 2019-06-14 | 浪潮软件集团有限公司 | 一种互联网非结构化文本数据的采集方法 |
CN111274217A (zh) * | 2020-01-10 | 2020-06-12 | 深圳前海环融联易信息科技服务有限公司 | 数据采集的方法、装置、计算机设备以及存储介质 |
CN111651324A (zh) * | 2020-06-02 | 2020-09-11 | 上海泛微网络科技股份有限公司 | 一种日志收集方法、装置 |
CN111651324B (zh) * | 2020-06-02 | 2023-09-01 | 上海泛微网络科技股份有限公司 | 一种日志收集方法、装置 |
CN111752696A (zh) * | 2020-06-25 | 2020-10-09 | 武汉众邦银行股份有限公司 | 一种基于rpc及线程锁的分布式定时任务调度方法 |
CN111752696B (zh) * | 2020-06-25 | 2023-09-12 | 武汉众邦银行股份有限公司 | 一种基于rpc及线程锁的分布式定时任务调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105335516A (zh) | 一种通用采集系统的构建方法 | |
CN101968817B (zh) | 网页模板配置方法 | |
CN102184184B (zh) | 一种网页动态信息获取方法 | |
CN101370024B (zh) | 信息的分布式采集方法及系统 | |
CN101650715B (zh) | 一种筛选网页上链接的方法和装置 | |
CN101441629A (zh) | 一种非结构化网页信息的自动采集方法 | |
CN102254009B (zh) | 一种网页表格数据抽取的方法 | |
CN102662969B (zh) | 一种基于网页结构语义的互联网信息对象定位方法 | |
EP2938044B1 (en) | System, method, apparatus, and server for displaying network medium information | |
CN102129479B (zh) | 一种基于概率潜在语义分析模型的万维网服务发现方法 | |
CN106547749B (zh) | 网页数据采集的方法和装置 | |
CN103761330A (zh) | 基于模版配置实现互联网信息自动提取的系统及方法 | |
CN103226599A (zh) | 一种精确提取网页内容的方法及系统 | |
CN104598536B (zh) | 一种分布式网络信息结构化处理方法 | |
CN106570750B (zh) | 基于浏览器插件的自动报税方法、系统及浏览器插件 | |
CN102254027A (zh) | 批量获取网页内容的方法 | |
CN104572934B (zh) | 一种基于dom的网页关键内容抽取方法 | |
CN101957866A (zh) | 网络文本信息集成方法和装置 | |
CN103853770B (zh) | 一种抽取论坛网页中帖子内容的方法及系统 | |
CN107220297A (zh) | 面向软件项目的多源异构数据自动收集方法及系统 | |
CN101763432A (zh) | 一种轻量级网页动态视图快速构建方法 | |
CN106021580A (zh) | Impala 基于Hadoop集群日志分析方法和系统 | |
CN103198078B (zh) | 一种互联网新闻事件报道趋势分析方法及系统 | |
CN103440315A (zh) | 一种基于主题的Web页面清洗方法 | |
CN105183843A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160217 |