一种面向网页采集任务的插件管理方法及其装置的制造方法
【技术领域】
[0001]本发明涉及计算机互联网领域,尤其涉及一种面向网页采集任务的插件管理方法及其装置。
【背景技术】
[0002]在现有技术中,定向采集系统是网络蜘蛛的一种,它是网络数据获取系统的核心部分。它通过对互联网上已知信息(即网络链接,URL:Universal Resource Locator)的不断抓取海量网页内容,获取其中所有主题相关内容。
[0003]目前,常见的网页采集方法有两种:
[0004]一种是设置起始的URL,采集系统就自动地按照网站结构的层次来设置URL的优先级,并按照这个级别进行网页的抓取。另外一种偏向于个性化采集,需要根据配置的抽取规则,来提取和主题相关的内容。
[0005]对于第二种,网页定制化采集需要维护大量的抽取规则。简单的网页,可以通过通用的抽取规则进行匹配,如正则表达式等,但是对于复杂网页,则需要额外的规则逻辑来处理,而这部分需进行代码开发。开发的代码以插件的形式存在,通过编译、打包等,动态更新到线上的采集系统中去。
[0006]Java是一种最常见的爬虫插件开发语言,但是Java虚拟机不支持运行时类的动态重复加载机制,所以在基于Java语言开发的插件维护时需要编译、打包、重启Java虚拟机等操作,工作繁琐,出错几率高。
[0007]另外,插件的版本控制也比较繁琐,需要记录每个插件的版本号,在插件维护过程容易出错。
[0008]从上面的问题我们可以看出,现有的插件开发体系已经不能满足日益发展的互联网采集技术的需求,需要寻找一种高效、便捷的插件开发以及插件管理模式。
【发明内容】
[0009]针对现有技术中,基于Java语言开发插件时,维护工作需要进行编译、打包、重启Java虚拟机等操作,工作繁琐,出错几率高,同时,插件的版本控制也比较繁琐,需要记录每个插件的版本号,在插件维护过程容易出错的缺陷,本发明提出了一种面向网页采集任务的插件管理方法及其装置。
[0010]本发明解决现有技术问题所采用的技术方案是构造一种面向网页采集任务的插件管理方法,该方法包括以下步骤:
[0011]SI,在一网页内选中任意的网页内容,根据所述网页内容生成与所述网页内容对应的抽取规则,同时,根据所述抽取规则生成与所述抽取规则对应的插件;
[0012]S2,对所述插件进行测试,当所述插件通过测试后,加载所述插件完成网页内容的采集操作,同时,管理所述插件的使用权限,并对所述插件采取相应的维护操作。
[0013]所述步骤SI具体包括以下子步骤:
[0014]S11,输入网络链接地址,下载与所述网络链接地址对应的网页界面;
[0015]S12,将所述网页界面解析为相应的文档对象结构;
[0016]S13,分析所述文档对象结构,并根据所述选中的网页内容生成对应的Java脚本抽取规则;
[0017]S14,根据所述Java脚本抽取规则生成Java脚本插件,并选择Java脚本插件的配置模式,所述配置模式包括,选择上传所述Java脚本插件、在所述网页界面内录入所述抽取规则、在所述网页界面内编写所述Java脚本插件;
[0018]S15,将所述插件抽取规则或者所述Java脚本插件发送到插件管理中心。
[0019]所述步骤SI还包括以下子步骤:
[0020]S15,选择要进行测试的插件;
[0021]S16,输入用于测试所述插件的网络链接地址;
[0022]S17,选择测试模式,其中,所述测试模式包括单元测试以及集成测试;
[0023]S18,获取测试结果,并分析处理所述测试的结果。
[0024]所述步骤S2具体包括以下子步骤:
[0025]S21,根据用户提供的身份信息对用户的身份进行权限校验;
[0026]S22,当用户的身份校验成功后,获取与用户对应的权限信息,并根据所述权限信息向用户提供插件下载、插件上传、或者插件查询的操作权限;
[0027]S23,当爬虫控制节点获取到所述插件时,在正常工作状态下,重复动态加载所述插件。
[0028]所述步骤S2还包括以下子步骤:
[0029]S24,判断用户的操作模式,所述操作模式包括:删除所述插件、增加所述插件、下载所述插件以及修改所述插件;
[0030]S25,根据所述操作模式以及所述插件的版本信息,对所述插件进行维护,同时,根据用户需求对所述插件进行相应的维护操作。
[0031 ] 在所述步骤S2之后还有步骤S3?S7,
[0032]S3,爬虫控制节点向插件管理中心发送插件下载请求;
[0033]S4,所述插件管理中心获取调用所述爬虫控制节点接口的用户的身份信息;
[0034]S5,所述插件管理中心验证所述身份信息,当所述身份信息通过验证时,所述插件管理中心通过所述下载请求;
[0035]S6,根据所述下载请求内包含的插件版本信息,版本控制服务器选择相应版本的插件以供下载;
[0036]S7,所述爬虫控制节点动态加载所述插件,并开始在所述网页内容内采集所需信肩、O
[0037]—种面向网页采集任务的插件管理装置,所述装置包括:插件开发模块以及插件管理中心,其中,所述插件开发模块包括用于对网页内容进行分析的网页分析器、用于插件进行相关配置的插件配置客户端以及用于对所述插件进行测试的插件测试客户端;
[0038]所述插件管理中心包括用于向用户提供所述插件的下载、上传、查询服务端插件服务模块以及对插件版本进行控制的版本控制模块
[0039]实施本发明,通过结合Java脚本语言优势,以及现有的版本控制服务器,提高插件的开发效率,实现插件的自动化管理,从而大大降低插件开发和插件维护的成本。同时,在插件开发时,无需重启程序即可以支持插件的动态重复加载,在插件管理时,管理操作更为安全、便捷。
【附图说明】
[0040]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0041]图1是本发明较佳实施例提供的面向网页采集任务的插件管理方法流程图;
[0042]图2是图1示出的步骤SI的具体子步骤流程图;
[0043]图3是图1示出的步骤SI的另一子步骤流程图;
[0044]图4是图1示出的步骤S2的具体子步骤流程图;
[0045]图5是图1示出的步骤S2的另一子步骤流程图;
[0046]图6是本发明另一较佳实施例提供的面向网页采集任务的插件管理方法流程图;
[0047]图7是本发明较佳实施例提供的面向网页采集任务的插件管理装置的结构框图。
【具体实施方式】
[0048]图1是本发明较佳实施例提供的面向网页采集任务的插件管理方法流程图。本方法包括以下步骤:
[0049]SI,在一网页内选中任意的网页内容,根据所述网页内容生成与所述网页内容对应的抽取规则,同时,根据所述抽取规则生成与所述抽取规则对应的插件。搜索引擎面对的是互联网大量的网页,一般通过网络爬虫高效抓取这些网页到本地镜像。其中,爬虫类型主要有以下几种:
[0050]1,批量型爬虫:有明确的抓取范围和目标,当蜘蛛完成目标和任务后就停止抓取。具体目标是是抓取网页数量、网页大小、抓取时间等。
[0051]2,增量型爬虫:持续不断的抓取,对于抓取到的网页会定期抓取更新。因为互联网中的网页是随时处于更新状态中,增量型爬虫需要能够反映出这种更新。
[0052]3,垂直性爬虫:针对特定主题或者特定的行业网页。以健康网站为例,这类专门的爬虫会只抓取健康相关主题,其它主题内容的网页则不抓取。因此,一般在垂直类行业网站是通过这种爬虫去抓取的。
[0053]可以理解,爬虫优先抓取重要的网页,评价页面是否重要,爬虫会根据页面内容原创程度以及链接权重等因素,对抓取的方式和内容进行计算。有以下几种抓取规则:
[0054]1,宽度优先抓取规则:爬虫在抓取一个网页后,继续将该网页所包含的其它页面按顺序进行进一步抓取。由于大多数网页都是按优先级进行排序,重要的页面会优先在页面上进行推荐。
[0055]2,PageRank抓取规则:该规则用来衡量网页权重,通过PageRank算法可以找出更重要的页面,然后爬虫优先去抓取这些重要性较高的页面。
[0056]3,大站优先抓取规则:较大规模的网站通常拥有更多的内容页面,并且质量也会更高。因此,爬虫优先分析网站归类与属性,如果这个网站已经收录很多内容,或者在搜索引擎系统中权重很高,则优先考虑收录。
[0057]S2,对所述插件进行测试,当所述插件通过测试后,加载所述插件完成网页内容的采集操作,同时,管理所述插件的使用权限,并对所述插件采取相应的维护操作。可以理解,当在步骤SI中生成用户所需的插件后,根据插件的类型以及用户的实际需求,对生成的插件进行系统的管理,其中,管理的内容包括:对插件的使用权限进行管理(例如下载权限、上传权限、修改权限、查询权限等)、对插件的版本信息进行维护(例如向用户提供最新版本的插件、或者向用户提供符合用户系统版本的插件)。
[0058]图2是图1示出的步骤SI的具体子步骤流程图。步骤SI具体包括以下子步骤:
[0059]S11,输入网络链接地址,下载与所述网络链接地址对应的网页界面。
[0060]S12,将所述网页界面解析为相应的文档对象结构。其中,文档对象结构基于文档对象模型(Document Object Model,简称DOM),它可以动态地访问程序和脚本,更新其内容、结构。文档可以进一步被处理,处理的结果可以加入到当前的页面。DOM是一种基于树的API (应用程序开发接口)文档。同时,在DOM树中,有一个根节点,所有其他的节点都是根节点的后代,因此,采用此种文档结构,提高了抓取效率。
[0061]S13,分析所述文档对象结构,并根据所述选中的网页内容生成对应的Java脚本抽取规则。
[0062]S14,根据所述Java脚本抽取规则生