CN109388768A - 一种基于附加分支处理服务的采集方法和系统 - Google Patents
一种基于附加分支处理服务的采集方法和系统 Download PDFInfo
- Publication number
- CN109388768A CN109388768A CN201811008673.6A CN201811008673A CN109388768A CN 109388768 A CN109388768 A CN 109388768A CN 201811008673 A CN201811008673 A CN 201811008673A CN 109388768 A CN109388768 A CN 109388768A
- Authority
- CN
- China
- Prior art keywords
- branch
- added branch
- added
- service
- standard
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于附加分支处理服务的采集方法和系统,包括:获取采集任务,该采集任务具有多个处理步骤和分支号;依次执行该采集任务中的处理步骤,并在每一个处理步骤执行前,根据该分支号判断是否调用该附加分支处理服务,若是,则通过调用该附加分支处理服务执行附加处理流程,并替代将要执行的处理步骤,否则执行将要执行的处理步骤。由此,本发明采用附加分支的技术,能够应对信源的各种复杂情况。且针对附加分支单独开发,容易崩溃的情况,采用服务化方法执行附加分支,并且附加分支运行器可以在崩溃自动重启,可以避免附加分支崩溃带来的采集器崩溃问题。
Description
技术领域
本发明涉及互联网信息获取领域,并特别涉及一种基于附加分支处理服务的采集方法和系统。
背景技术
随着互联网的高速发展,出现了很多新闻、论坛和博客等特定的网站。这些网站经常是一种平台,它可以接受并且管理用户提交的内容,而且有很强的交互性,平台本身并不提供内容。比如西祠胡同、水木清华和新浪新闻。
在无数用户的参与下,互联网变成一个公开的重要的信息源,包含着很多有价值的信息。出于各种需求,很多系统需要采集和抽取其中的信息,比如新闻的标题、正文和发布时间等。
在实现时,这些系统中一般对特定通道的网站专门的采集器对其进行采集,如新闻采集器和论坛采集器。这种系统一般应用在搜索引擎、网络监管等多种领域。
在采集过程中,经常发现在同一类网站(例如论坛)中,大多数论坛是有相同的采集流程,但实际上,有一些网站存在着不同的特征,导致采集方法不一样,系统对异常的网站的处理较差。
现有技术对采集流程的每一步限制过严,导致系统只能处理满足其算法假设的信源,这是问题的原因所在。
发明内容
在本方法中,使用附加分支的方法处理异常问题。附加分支是指针对某个信源的某步处理进行替换,替换在以服务的方式在程序外部执行。这样,利用附加分支即可对该信源进行采集。
现有方法是基于固定流程的,如果只用固定流程,很难保证对特殊的网站能够处理,也很难保证对未来的采集任务一定会能够处理,甚至在一些大网站里也有特殊的版块,也需要特殊的采集抽取方法。
因此,在现有方法的基础上,对采集的每个基本步骤进行改进,既可以用原来的处理方法,也可以自己写一个特殊处理模块来覆盖原方法,这个特殊的处理模块就是一个附加分支,每个步骤针对不同的信源,可以有不同的处理,用附加分支号进行区分。
附加分支一般是另行开发的C语言动态链接库,为避免附加分支存在崩溃情况,影响采集程序,同时也为了能够实时更新附加分支,附加分支在服务中运行。
具体地说,本发明公开了一种基于附加分支处理服务的采集方法,其中包括:
步骤1、获取采集任务,该采集任务具有标准处理步骤的标准分支号以及和该标准分支号对应的附加分支号;
步骤2、根据标准分支号依次执行该采集任务中的标准处理步骤,并在每一个标准处理步骤执行前,根据该标准分支号对应的附加分支号判断是否调用该附加分支处理服务,若是,则通过调用该附加分支处理服务执行附加处理流程,并替代将要执行的标准处理步骤,否则执行将要执行的标准处理步骤。
所述的基于附加分支处理服务的采集方法,其中该附加处理流程以处理模块的形式存于附加分支运行器中,该附加分支处理服务检测该附加分支运行器的运行状况,若发现该附加分支运行器在运行过程中发生崩溃,则自动重启该附加分支运行器。
所述的基于附加分支处理服务的采集方法,其中该步骤2中通过调用该附加分支处理服务执行附加处理流程,具体包括:
该附加分支处理服务将该附加分支号和输入数据转发给该附加分支运行器,附加分支运行器找到对应的处理模块,调用该处理模块对输入数据进行处理,并将结果返回,以继续执行该采集任务中的下一个处理步骤。
所述的基于附加分支处理服务的采集方法,其中还包括:
步骤3、管理员将新生成的处理模块,打包成动态库文件,将其存储在数据库中,该附加分支运行器根据预设周期同该数据库同步一次,以加载新的动态库文件。
所述的基于附加分支处理服务的采集方法,其中还包括:该附加分支处理服务保存预设时间内产生的数据,以为该管理员提供监控界面,监控服务的运行状态。
本发明还公开了一种基于附加分支处理服务的采集系统,其中包括:
任务获取模块,获取采集任务,该采集任务具有标准处理步骤的标准分支号以及和该标准分支号对应的附加分支号;
服务执行模块,根据标准分支号依次执行该采集任务中的标准处理步骤,并在每一个标准处理步骤执行前,根据该标准分支号对应的附加分支号判断是否调用该附加分支处理服务,若是,则通过调用该附加分支处理服务执行附加处理流程,并替代将要执行的标准处理步骤,否则执行将要执行的标准处理步骤。
所述的基于附加分支处理服务的采集系统,其中该附加处理流程以处理模块的形式存于附加分支运行器中,该附加分支处理服务检测该附加分支运行器的运行状况,若发现该附加分支运行器在运行过程中发生崩溃,则自动重启该附加分支运行器。
所述的基于附加分支处理服务的采集系统,其中该服务执行模块中通过调用该附加分支处理服务执行附加处理流程,具体包括:
该附加分支处理服务将该附加分支号和输入数据转发给该附加分支运行器,附加分支运行器找到对应的处理模块,调用该处理模块对输入数据进行处理,并将结果返回,以继续执行该采集任务中的下一个处理步骤。
所述的基于附加分支处理服务的采集系统,其中还包括:
同步模块,管理员将新生成的处理模块,打包成动态库文件,将其存储在数据库中,该附加分支运行器根据预设周期同该数据库同步一次,以加载新的动态库文件。
所述的基于附加分支处理服务的采集系统,其中还包括:该附加分支处理服务保存预设时间内产生的数据,以为该管理员提供监控界面,监控服务的运行状态。
由此本发明可以对复杂特殊的版块进行处理,而又不影响整个采集程序的执行。
附图说明
图1为附加分支处理服务示意图;
图2采集常规处理流程:
图3处理后的支持分支处理的流程。
具体实施方式
具体地说,本发明公开了一种基于附加分支处理服务的采集方法,其中包括:
步骤1、获取采集任务,该采集任务具有标准处理步骤的标准分支号以及和该标准分支号对应的附加分支号;
步骤2、根据标准分支号依次执行该采集任务中的标准处理步骤,并在每一个标准处理步骤执行前,根据该标准分支号对应的附加分支号判断是否调用该附加分支处理服务,若是,则通过调用该附加分支处理服务执行附加处理流程,并替代将要执行的标准处理步骤,否则执行将要执行的标准处理步骤。
所述的基于附加分支处理服务的采集方法,其中该附加处理流程以处理模块的形式存于附加分支运行器中,该附加分支处理服务检测该附加分支运行器的运行状况,若发现该附加分支运行器在运行过程中发生崩溃,则自动重启该附加分支运行器。
所述的基于附加分支处理服务的采集方法,其中该步骤2中通过调用该附加分支处理服务执行附加处理流程,具体包括:
该附加分支处理服务将该附加分支号和输入数据转发给该附加分支运行器,附加分支运行器找到对应的处理模块,调用该处理模块对输入数据进行处理,并将结果返回,以继续执行该采集任务中的下一个处理步骤。
所述的基于附加分支处理服务的采集方法,其中还包括:
步骤3、管理员将新生成的处理模块,打包成动态库文件,将其存储在数据库中,该附加分支运行器根据预设周期同该数据库同步一次,以加载新的动态库文件。
所述的基于附加分支处理服务的采集方法,其中还包括:该附加分支处理服务保存预设时间内产生的数据,以为该管理员提供监控界面,监控服务的运行状态。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
基本定义:
分支点:程序的某个功能可能有不确定性,该点可以认为是一个分支点,例如抽取正文可以是一个分支点。
附加分支:某个功能(分支点)的某种具体实现,例如抽取正文的某种具体方法。
分支点参数:某个分支点在调用附加分支时会有参数传输,例如:如果是抽取正文,就会传输网页内容和URL。由采集程序定义参数列表。附加分支中可以使用该参数。
附加分支处理服务:
该服务如图1所示,是用来执行附加分支的服务。该服务的基本要素如下:
1.输入:输入字段包括:
附加分支号:一个标识附加分支的号码。它对应一段附加分支的实现代码;
标准分支号:一个标识分支点的号码,它对应采集程序的某种具体功能(例如获取网页,抽取或查重):
参数:例如url,网页内容的等,由分支点定义:
ID:唯一标识。
2.输出:输出字段包括:
附加分支处理结果:用json表达,一般是网页内容,抽取结果(例如正文和发布时间);
ID:唯一标识。
3服务内部结构:
该服务有一个交互前端和多个运行器组成
交互前端:
功能:接收请求,并将请求转发到一个空闲的附件分支运行器中。
运行器:
功能:能够自动加载和更新附加分支的动态链接库,而且能够在多线程的情况下,执行该动态链接库中对应的代码。
采集器流程改造:
采集器常规处理流程如图2所示,采集器一般对某一类网站有相当固定的处理步骤(处理流程),比如新闻采集先采集版块页(常规处理1),再抽取新闻链接(常规处理2),然后采集新闻页(常规处理3),最后抽取新闻正文和发布时间等。
加上附加分支处理后的采集流程如图3所示,对如上的每个处理环节,均有可变的处理。附加分支实现:
将附加处理流程用c程序实现,并编译成动态库方式,其接口函数名用“func_”+标准分支号+“_”+附加分支号命名。
处理流程:
1.下发采集任务时,除了下发任务数据,还需下发标准分支号和附加分支号等相关数据,该采集任务还包括目标采集对象,即执行该采集任务时无需在人工获取被采集对象,而是执行该采集任务时由该采集任务自动获取采集对象;
2.采集程序遇到分支点时,如果有附加分支处理,则将标准分支号,附加分支号和相关数据发送给附加分支处理服务;
3.附加分支处理服务将上述信息转发给某个附加分支运行器
4.附加分支运行器找到对应的处理模块,调用该处理模块对输入数据进行处理,并将结果返回
5.结果通过服务前端返回给采集器,采集器拿到结果后,进行后续处理
附加分支处理模块更新流程
管理员将新生成的处理模块,打包成动态库文件,将其存储在数据库中
附加分支运行器作为后端,每隔几分钟同数据库同步一次,加载新的动态库文件
此外,附加分支处理服务作为前端,保存最近的数据并提供监控界面,用于监控服务的运行状态。
下特举实施例进一步说明本发明步骤:
例如,采集任务为采集论坛版块,有如下几个标准步骤:
1.采集论坛版块首页;
2.从论坛版块首页中抽取论坛帖子链接;
3.采集论坛帖子链接;
4.抽取论坛帖子的作者、发布时间和正文。
每个标准步骤是一个分支点,每个分支点有一个号码(标准分支号),在此例中用1-4标识。每个分支它有缺省的处理流程,也可以改成其他流程。
例如标准步骤2(2.从论坛版块首页中抽取论坛帖子链接),缺省处理对于某个论坛效果不好,则添加新的流程,写成动态库的形式,该动态库的主函数输入是一个网页,输出是一个链接集合,这就是一个附加分支,给它一个号码(附加分支号)如10001,这个号码用来标识附加分支。
在论坛任务下发时,下发如下数据:
【1:0】
【2:10001】
【3:0】
【4:0】
其中0表示使用标准流程,采集器执行到标准步骤2(2.从论坛版块首页中抽取论坛帖子链接)之前,看到其对应号码为10001,则不使用缺省处理,转为调用“附加分支处理服务”来处理,由服务前端将网页发送到附加分支执行器中,调用动态库处理,将结果返回到采集程序。
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还公开了一种基于附加分支处理服务的采集系统,其中包括:
任务获取模块,用于获取采集任务,该采集任务具有标准处理步骤的标准分支号以及和该标准分支号对应的附加分支号;
服务执行模块,根据标准分支号依次执行该采集任务中的标准处理步骤,并在每一个标准处理步骤执行前,根据该标准分支号对应的附加分支号判断是否调用该附加分支处理服务,若是,则通过调用该附加分支处理服务执行附加处理流程,并替代将要执行的标准处理步骤,否则执行将要执行的标准处理步骤。
所述的基于附加分支处理服务的采集系统,其中该附加处理流程以处理模块的形式存于附加分支运行器中,该附加分支处理服务检测该附加分支运行器的运行状况,若发现该附加分支运行器在运行过程中发生崩溃,则自动重启该附加分支运行器。
所述的基于附加分支处理服务的采集系统,其中该服务执行模块中通过调用该附加分支处理服务执行附加处理流程,具体包括:
该附加分支处理服务将该附加分支号和输入数据转发给该附加分支运行器,附加分支运行器找到对应的处理模块,调用该处理模块对输入数据进行处理,并将结果返回,以继续执行该采集任务中的下一个处理步骤。
所述的基于附加分支处理服务的采集系统,其中还包括:
同步模块,管理员将新生成的处理模块,打包成动态库文件,将其存储在数据库中,该附加分支运行器根据预设周期同该数据库同步一次,以加载新的动态库文件。
所述的基于附加分支处理服务的采集系统,其中还包括:该附加分支处理服务保存预设时间内产生的数据,以为该管理员提供监控界面,监控服务的运行状态。
本发明的技术进步包括:
1、针对特殊信源情况,采用附加分支的技术,能够应对信源的各种复杂情况。
2、针对附加分支单独开发,容易崩溃的情况,采用服务化方法(采用附加分支处理服务)执行附加分支,并且附加分支运行器可以在崩溃自动重启,可以避免附加分支崩溃带来的采集器崩溃问题。
3、针对附加分支可能会经常更新,为避免系统重启,采用附加分支存储于数据库中,运行器随时更新,附加分支可以随时更新,无需重启。
虽然本发明以上述实施例公开,但具体实施例仅用以解释本发明,并不用于限定本发明,任何本技术领域技术人员,在不脱离本发明的构思和范围内,可作一些的变更和完善,故本发明的权利保护范围以权利要求书为准。
Claims (10)
1.一种基于附加分支处理服务的采集方法,其特征在于,包括:
步骤1、获取采集任务,该采集任务具有标准处理步骤的标准分支号以及和该标准分支号对应的附加分支号;
步骤2、根据标准分支号依次执行该采集任务中的标准处理步骤,并在每一个标准处理步骤执行前,根据该标准分支号对应的附加分支号判断是否调用该附加分支处理服务,若是,则通过调用该附加分支处理服务执行附加处理流程,并替代将要执行的标准处理步骤,否则执行将要执行的标准处理步骤。
2.如权利要求1所述的基于附加分支处理服务的采集方法,其特征在于,该附加处理流程以处理模块的形式存于附加分支运行器中,该附加分支处理服务检测该附加分支运行器的运行状况,若发现该附加分支运行器在运行过程中发生崩溃,则自动重启该附加分支运行器。
3.如权利要求2所述的基于附加分支处理服务的采集方法,其特征在于,该步骤2中通过调用该附加分支处理服务执行附加处理流程,具体包括:
该附加分支处理服务将该附加分支号和输入数据转发给该附加分支运行器,附加分支运行器找到对应的处理模块,调用该处理模块对输入数据进行处理,并将结果返回,以继续执行该采集任务中的下一个标准处理步骤。
4.如权利要求3所述的基于附加分支处理服务的采集方法,其特征在于,还包括:
步骤3、管理员将新生成的处理模块,打包成动态库文件,将其存储在数据库中,该附加分支运行器根据预设周期同该数据库同步一次,以加载新的动态库文件。
5.如权利要求4所述的基于附加分支处理服务的采集方法,其特征在于,还包括:该附加分支处理服务保存预设时间内产生的数据,以为该管理员提供监控界面,监控服务的运行状态。
6.一种基于附加分支处理服务的采集系统,其特征在于,包括:
任务获取模块,用于获取采集任务,该采集任务具有标准处理步骤的标准分支号以及和该标准分支号对应的附加分支号;
服务执行模块,根据标准分支号依次执行该采集任务中的标准处理步骤,并在每一个标准处理步骤执行前,根据该标准分支号对应的附加分支号判断是否调用该附加分支处理服务,若是,则通过调用该附加分支处理服务执行附加处理流程,并替代将要执行的标准处理步骤,否则执行将要执行的标准处理步骤。
7.如权利要求6所述的基于附加分支处理服务的采集系统,其特征在于,该附加处理流程以处理模块的形式存于附加分支运行器中,该附加分支处理服务检测该附加分支运行器的运行状况,若发现该附加分支运行器在运行过程中发生崩溃,则自动重启该附加分支运行器。
8.如权利要求7所述的基于附加分支处理服务的采集系统,其特征在于,该服务执行模块中通过调用该附加分支处理服务执行附加处理流程,具体包括:
该附加分支处理服务将该附加分支号和输入数据转发给该附加分支运行器,附加分支运行器找到对应的处理模块,调用该处理模块对输入数据进行处理,并将结果返回,以继续执行该采集任务中的下一个标准处理步骤。
9.如权利要求8所述的基于附加分支处理服务的采集系统,其特征在于,还包括:
同步模块,管理员将新生成的处理模块,打包成动态库文件,将其存储在数据库中,该附加分支运行器根据预设周期同该数据库同步一次,以加载新的动态库文件。
10.如权利要求9所述的基于附加分支处理服务的采集系统,其特征在于,还包括:该附加分支处理服务保存预设时间内产生的数据,以为该管理员提供监控界面,监控服务的运行状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811008673.6A CN109388768A (zh) | 2018-08-31 | 2018-08-31 | 一种基于附加分支处理服务的采集方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811008673.6A CN109388768A (zh) | 2018-08-31 | 2018-08-31 | 一种基于附加分支处理服务的采集方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109388768A true CN109388768A (zh) | 2019-02-26 |
Family
ID=65417584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811008673.6A Pending CN109388768A (zh) | 2018-08-31 | 2018-08-31 | 一种基于附加分支处理服务的采集方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388768A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090037691A1 (en) * | 2001-03-22 | 2009-02-05 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
CN101751438A (zh) * | 2008-12-17 | 2010-06-23 | 中国科学院自动化研究所 | 自适应语义驱动的主题网页过滤系统 |
CN103634135A (zh) * | 2012-08-24 | 2014-03-12 | 曙光信息产业(北京)有限公司 | 一种基于元数据的数据采集方法 |
CN105718264A (zh) * | 2016-01-20 | 2016-06-29 | 国网山东省电力公司电力科学研究院 | 激光头驱动架构及方法 |
CN107463634A (zh) * | 2017-07-17 | 2017-12-12 | 广州特道信息科技有限公司 | 网页正文抽取方法及装置 |
-
2018
- 2018-08-31 CN CN201811008673.6A patent/CN109388768A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090037691A1 (en) * | 2001-03-22 | 2009-02-05 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
CN101751438A (zh) * | 2008-12-17 | 2010-06-23 | 中国科学院自动化研究所 | 自适应语义驱动的主题网页过滤系统 |
CN103634135A (zh) * | 2012-08-24 | 2014-03-12 | 曙光信息产业(北京)有限公司 | 一种基于元数据的数据采集方法 |
CN105718264A (zh) * | 2016-01-20 | 2016-06-29 | 国网山东省电力公司电力科学研究院 | 激光头驱动架构及方法 |
CN107463634A (zh) * | 2017-07-17 | 2017-12-12 | 广州特道信息科技有限公司 | 网页正文抽取方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590188B (zh) | 一种自动化垂直细分领域的爬虫爬取方法及其管理系统 | |
CN106557695B (zh) | 一种恶意应用检测方法和系统 | |
US20220035600A1 (en) | API Specification Generation | |
CN109829096B (zh) | 一种数据采集方法、装置、电子设备及存储介质 | |
CN110399550A (zh) | 一种信息推荐方法及装置 | |
US10762437B2 (en) | Self-learning based crawling and rule-based data mining for automatic information extraction | |
CN105243159A (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
US10621255B2 (en) | Identifying equivalent links on a page | |
CN107729564A (zh) | 一种分布式的聚焦网络爬虫网页爬取方法及系统 | |
CN112597373A (zh) | 一种基于分布式爬虫引擎的数据采集方法 | |
CN107391775A (zh) | 一种通用的网络爬虫模型实现方法及系统 | |
CN109753596B (zh) | 用于大规模网络数据采集的信源管理与配置方法和系统 | |
CN113568841B (zh) | 一种针对小程序的风险检测方法、装置及设备 | |
CN101571860A (zh) | 动态网页生成方法和装置、提取结构化数据的方法和装置 | |
CN107239563A (zh) | 舆情信息动态监控方法 | |
CN109840298A (zh) | 大规模网络数据的多信息来源采集方法和系统 | |
CN109819019B (zh) | 用于大规模网络数据采集的监控与统计分析方法和系统 | |
CN102902792B (zh) | 列表页识别系统及方法 | |
CN111125485A (zh) | 基于Scrapy的网站URL爬取方法 | |
CN108121743A (zh) | 一种通用网页模版的生成和使用方法、系统 | |
CN110457555A (zh) | 基于Docker的数据采集方法、装置及计算机设备、存储介质 | |
CN108038233B (zh) | 一种采集文章的方法、装置、电子设备及存储介质 | |
JP6763433B2 (ja) | 情報収集システム、情報収集方法、及び、プログラム | |
CN111062736A (zh) | 模型训练、线索排序方法、装置及设备 | |
CN112699291A (zh) | 一种基于爬虫系统的任务采集平台实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190226 |