著录项信息
专利名称 | 一种面向网页采集任务的插件管理方法及其装置 |
申请号 | CN201410004005.1 | 申请日期 | 2014-01-03 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-07-08 | 公开/公告号 | CN104765592A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/445 | IPC分类号 | G;0;6;F;9;/;4;4;5查看分类表>
|
申请人 | 任子行网络技术股份有限公司 | 申请人地址 | 广东省深圳市高新区科技中二路软件园2号楼6层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 任子行网络技术股份有限公司 | 当前权利人 | 任子行网络技术股份有限公司 |
发明人 | 彭威;杨长龙;唐新民;沈智杰;景晓军 |
代理机构 | 深圳市顺天达专利商标代理有限公司 | 代理人 | 郭伟刚 |
摘要
本发明公开了一种面向网页采集任务的插件管理方法及其装置,该方法包括以下步骤:在一网页内选中任意的网页内容,根据所述网页内容生成与所述网页内容对应的抽取规则,同时,根据所述抽取规则生成与所述抽取规则对应的插件;对所述插件进行测试,当所述插件通过测试后,加载所述插件完成网页内容的采集操作,同时,管理所述插件的使用权限,并对所述插件采取相应的维护操作。实施本发明,通过结合Java脚本语言优势,以及现有的版本控制服务器,提高插件的开发效率,实现插件的自动化管理,从而大大降低插件开发和插件维护的成本。同时,在插件开发时,无需重启程序即可以支持插件的动态重复加载,在插件管理时,管理操作更为安全、便捷。
1.一种面向网页采集任务的插件管理方法,其特征在于,所述方法包括以下步骤:
S1,在一网页内选中任意的网页内容,根据所述网页内容生成与所述网页内容对应的抽取规则,同时,根据所述抽取规则生成与所述抽取规则对应的插件;
S2,对所述插件进行测试,当所述插件通过测试后,加载所述插件完成网页内容的采集操作,同时,管理所述插件的使用权限,并对所述插件采取相应的维护操作;
S3,爬虫控制节点向插件管理中心发送插件下载请求;
S4,所述插件管理中心获取调用所述爬虫控制节点接口的用户的身份信息;
S5,所述插件管理中心验证所述身份信息,当所述身份信息通过验证时,所述插件管理中心通过所述下载请求;
S6,根据所述下载请求内包含的插件版本信息,版本控制服务器选择相应版本的插件以供下载;
S7,所述爬虫控制节点动态加载所述插件,并开始在所述网页内容内采集所需信息;
其中,所述步骤S1具体包括以下子步骤:
S11,输入网络链接地址,下载与所述网络链接地址对应的网页界面;
S12,将所述网页界面解析为相应的文档对象结构;
S13,分析所述文档对象结构,并根据所述选中的网页内容生成对应的Java脚本抽取规则;
S14,根据所述Java脚本抽取规则生成Java脚本插件,并选择Java脚本插件的配置模式,所述配置模式包括,选择上传所述Java脚本插件、在所述网页界面内录入所述抽取规则、在所述网页界面内编写所述Java脚本插件;
S15,将所述Java脚本抽取规则或者所述Java脚本插件发送到插件管理中心;
所述步骤S2具体包括以下子步骤:
S21,根据用户提供的身份信息对用户的身份进行权限校验;
S22,当用户的身份校验成功后,获取与用户对应的权限信息,并根据所述权限信息向用户提供插件下载、插件上传、或者插件查询的操作权限;
S23,当爬虫控制节点获取到所述插件时,在正常工作状态下,重复动态加载所述插件。
2.根据权利要求1所述的面向网页采集任务的插件管理方法,其特征在于,所述步骤S1还包括以下子步骤:
S15,选择要进行测试的插件;
S16,输入用于测试所述插件的网络链接地址;
S17,选择测试模式,其中,所述测试模式包括单元测试以及集成测试;
S18,获取测试结果,并分析处理所述测试的结果。
3.根据权利要求1所述的面向网页采集任务的插件管理方法,其特征在于,所述步骤S2还包括以下子步骤:
S24,判断用户的操作模式,所述操作模式包括:删除所述插件、增加所述插件、下载所述插件以及修改所述插件;
S25,根据所述操作模式以及所述插件的版本信息,对所述插件进行维护,同时,根据用户需求对所述插件进行相应的维护操作。
4.一种基于权利要求1所述方法的面向网页采集任务的插件管理装置,其特征在于,所述装置包括:插件开发模块以及插件管理中心,其中,所述插件开发模块包括用于对网页内容进行分析的网页分析器、用于插件进行相关配置的插件配置客户端以及用于对所述插件进行测试的插件测试客户端;
所述插件管理中心包括用于向用户提供所述插件的下载、上传、查询服务端插件服务模块以及对插件版本进行控制的版本控制模块。
一种面向网页采集任务的插件管理方法及其装置\n技术领域\n[0001] 本发明涉及计算机互联网领域,尤其涉及一种面向网页采集任务的插件管理方法及其装置。\n背景技术\n[0002] 在现有技术中,定向采集系统是网络蜘蛛的一种,它是网络数据获取系统的核心部分。它通过对互联网上已知信息(即网络链接,URL:Universal Resource Locator)的不断抓取海量网页内容,获取其中所有主题相关内容。\n[0003] 目前,常见的网页采集方法有两种:\n[0004] 一种是设置起始的URL,采集系统就自动地按照网站结构的层次来设置URL的优先级,并按照这个级别进行网页的抓取。另外一种偏向于个性化采集,需要根据配置的抽取规则,来提取和主题相关的内容。\n[0005] 对于第二种,网页定制化采集需要维护大量的抽取规则。简单的网页,可以通过通用的抽取规则进行匹配,如正则表达式等,但是对于复杂网页,则需要额外的规则逻辑来处理,而这部分需进行代码开发。开发的代码以插件的形式存在,通过编译、打包等,动态更新到线上的采集系统中去。\n[0006] Java是一种最常见的爬虫插件开发语言,但是Java虚拟机不支持运行时类的动态重复加载机制,所以在基于Java语言开发的插件维护时需要编译、打包、重启Java虚拟机等操作,工作繁琐,出错几率高。\n[0007] 另外,插件的版本控制也比较繁琐,需要记录每个插件的版本号,在插件维护过程容易出错。\n[0008] 从上面的问题我们可以看出,现有的插件开发体系已经不能满足日益发展的互联网采集技术的需求,需要寻找一种高效、便捷的插件开发以及插件管理模式。\n发明内容\n[0009] 针对现有技术中,基于Java语言开发插件时,维护工作需要进行编译、打包、重启Java虚拟机等操作,工作繁琐,出错几率高,同时,插件的版本控制也比较繁琐,需要记录每个插件的版本号,在插件维护过程容易出错的缺陷,本发明提出了一种面向网页采集任务的插件管理方法及其装置。\n[0010] 本发明解决现有技术问题所采用的技术方案是构造一种面向网页采集任务的插件管理方法,该方法包括以下步骤:\n[0011] S1,在一网页内选中任意的网页内容,根据所述网页内容生成与所述网页内容对应的抽取规则,同时,根据所述抽取规则生成与所述抽取规则对应的插件;\n[0012] S2,对所述插件进行测试,当所述插件通过测试后,加载所述插件完成网页内容的采集操作,同时,管理所述插件的使用权限,并对所述插件采取相应的维护操作。\n[0013] 所述步骤S1具体包括以下子步骤:\n[0014] S11,输入网络链接地址,下载与所述网络链接地址对应的网页界面;\n[0015] S12,将所述网页界面解析为相应的文档对象结构;\n[0016] S13,分析所述文档对象结构,并根据所述选中的网页内容生成对应的Java脚本抽取规则;\n[0017] S14,根据所述Java脚本抽取规则生成Java脚本插件,并选择Java脚本插件的配置模式,所述配置模式包括,选择上传所述Java脚本插件、在所述网页界面内录入所述抽取规则、在所述网页界面内编写所述Java脚本插件;\n[0018] S15,将所述插件抽取规则或者所述Java脚本插件发送到插件管理中心。\n[0019] 所述步骤S1还包括以下子步骤:\n[0020] S15,选择要进行测试的插件;\n[0021] S16,输入用于测试所述插件的网络链接地址;\n[0022] S17,选择测试模式,其中,所述测试模式包括单元测试以及集成测试;\n[0023] S18,获取测试结果,并分析处理所述测试的结果。\n[0024] 所述步骤S2具体包括以下子步骤:\n[0025] S21,根据用户提供的身份信息对用户的身份进行权限校验;\n[0026] S22,当用户的身份校验成功后,获取与用户对应的权限信息,并根据所述权限信息向用户提供插件下载、插件上传、或者插件查询的操作权限;\n[0027] S23,当爬虫控制节点获取到所述插件时,在正常工作状态下,重复动态加载所述插件。\n[0028] 所述步骤S2还包括以下子步骤:\n[0029] S24,判断用户的操作模式,所述操作模式包括:删除所述插件、增加所述插件、下载所述插件以及修改所述插件;\n[0030] S25,根据所述操作模式以及所述插件的版本信息,对所述插件进行维护,同时,根据用户需求对所述插件进行相应的维护操作。\n[0031] 在所述步骤S2之后还有步骤S3~S7,\n[0032] S3,爬虫控制节点向插件管理中心发送插件下载请求;\n[0033] S4,所述插件管理中心获取调用所述爬虫控制节点接口的用户的身份信息;\n[0034] S5,所述插件管理中心验证所述身份信息,当所述身份信息通过验证时,所述插件管理中心通过所述下载请求;\n[0035] S6,根据所述下载请求内包含的插件版本信息,版本控制服务器选择相应版本的插件以供下载;\n[0036] S7,所述爬虫控制节点动态加载所述插件,并开始在所述网页内容内采集所需信息。\n[0037] 一种面向网页采集任务的插件管理装置,所述装置包括:插件开发模块以及插件管理中心,其中,所述插件开发模块包括用于对网页内容进行分析的网页分析器、用于插件进行相关配置的插件配置客户端以及用于对所述插件进行测试的插件测试客户端;\n[0038] 所述插件管理中心包括用于向用户提供所述插件的下载、上传、查询服务端插件服务模块以及对插件版本进行控制的版本控制模块\n[0039] 实施本发明,通过结合Java脚本语言优势,以及现有的版本控制服务器,提高插件的开发效率,实现插件的自动化管理,从而大大降低插件开发和插件维护的成本。同时,在插件开发时,无需重启程序即可以支持插件的动态重复加载,在插件管理时,管理操作更为安全、便捷。\n附图说明\n[0040] 下面将结合附图及实施例对本发明作进一步说明,附图中:\n[0041] 图1是本发明较佳实施例提供的面向网页采集任务的插件管理方法流程图;\n[0042] 图2是图1示出的步骤S1的具体子步骤流程图;\n[0043] 图3是图1示出的步骤S1的另一子步骤流程图;\n[0044] 图4是图1示出的步骤S2的具体子步骤流程图;\n[0045] 图5是图1示出的步骤S2的另一子步骤流程图;\n[0046] 图6是本发明另一较佳实施例提供的面向网页采集任务的插件管理方法流程图;\n[0047] 图7是本发明较佳实施例提供的面向网页采集任务的插件管理装置的结构框图。\n具体实施方式\n[0048] 图1是本发明较佳实施例提供的面向网页采集任务的插件管理方法流程图。本方法包括以下步骤:\n[0049] S1,在一网页内选中任意的网页内容,根据所述网页内容生成与所述网页内容对应的抽取规则,同时,根据所述抽取规则生成与所述抽取规则对应的插件。搜索引擎面对的是互联网大量的网页,一般通过网络爬虫高效抓取这些网页到本地镜像。其中,爬虫类型主要有以下几种:\n[0050] 1,批量型爬虫:有明确的抓取范围和目标,当蜘蛛完成目标和任务后就停止抓取。\n具体目标是是抓取网页数量、网页大小、抓取时间等。\n[0051] 2,增量型爬虫:持续不断的抓取,对于抓取到的网页会定期抓取更新。因为互联网中的网页是随时处于更新状态中,增量型爬虫需要能够反映出这种更新。\n[0052] 3,垂直性爬虫:针对特定主题或者特定的行业网页。以健康网站为例,这类专门的爬虫会只抓取健康相关主题,其它主题内容的网页则不抓取。因此,一般在垂直类行业网站是通过这种爬虫去抓取的。\n[0053] 可以理解,爬虫优先抓取重要的网页,评价页面是否重要,爬虫会根据页面内容原创程度以及链接权重等因素,对抓取的方式和内容进行计算。有以下几种抓取规则:\n[0054] 1,宽度优先抓取规则:爬虫在抓取一个网页后,继续将该网页所包含的其它页面按顺序进行进一步抓取。由于大多数网页都是按优先级进行排序,重要的页面会优先在页面上进行推荐。\n[0055] 2,PageRank抓取规则:该规则用来衡量网页权重,通过PageRank算法可以找出更重要的页面,然后爬虫优先去抓取这些重要性较高的页面。\n[0056] 3,大站优先抓取规则:较大规模的网站通常拥有更多的内容页面,并且质量也会更高。因此,爬虫优先分析网站归类与属性,如果这个网站已经收录很多内容,或者在搜索引擎系统中权重很高,则优先考虑收录。\n[0057] S2,对所述插件进行测试,当所述插件通过测试后,加载所述插件完成网页内容的采集操作,同时,管理所述插件的使用权限,并对所述插件采取相应的维护操作。可以理解,当在步骤S1中生成用户所需的插件后,根据插件的类型以及用户的实际需求,对生成的插件进行系统的管理,其中,管理的内容包括:对插件的使用权限进行管理(例如下载权限、上传权限、修改权限、查询权限等)、对插件的版本信息进行维护(例如向用户提供最新版本的插件、或者向用户提供符合用户系统版本的插件)。\n[0058] 图2是图1示出的步骤S1的具体子步骤流程图。步骤S1具体包括以下子步骤:\n[0059] S11,输入网络链接地址,下载与所述网络链接地址对应的网页界面。\n[0060] S12,将所述网页界面解析为相应的文档对象结构。其中,文档对象结构基于文档对象模型(Document Object Model,简称DOM),它可以动态地访问程序和脚本,更新其内容、结构。文档可以进一步被处理,处理的结果可以加入到当前的页面。DOM是一种基于树的API(应用程序开发接口)文档。同时,在DOM树中,有一个根节点,所有其他的节点都是根节点的后代,因此,采用此种文档结构,提高了抓取效率。\n[0061] S13,分析所述文档对象结构,并根据所述选中的网页内容生成对应的Java脚本抽取规则。\n[0062] S14,根据所述Java脚本抽取规则生成Java脚本插件,并选择Java脚本插件的配置模式,所述配置模式包括,选择上传所述Java脚本插件、在所述网页界面内录入所述抽取规则、在所述网页界面内编写所述Java脚本插件。\n[0063] S15,将所述插件抽取规则或者所述Java脚本插件发送到插件管理中心。首先,建立插件管理中心,该插件管理中心依据特定的索引逻辑对上传到该插件管理中心的插件进行管理,例如,根据插件类型进行分类存储、根据插件版本号进行分类存储等等。\n[0064] 图3是图1示出的步骤S1的另一子步骤流程图。步骤S1还包括以下子步骤:\n[0065] S15,选择要进行测试的插件。\n[0066] S16,输入用于测试所述插件的网络链接地址。\n[0067] S17,选择测试模式,其中,所述测试模式包括单元测试以及集成测试。对于单元测试,可以比对测试页面左右两边的测试数据,其中,一边为插件测试结果,另一边为带有根据抽取规则框选相应内容的原网页。集成测试会将测试数据录入到缓存数据库,会提供简单的查询功能。\n[0068] S18,获取测试结果,并分析处理所述测试的结果。例如,针对该插件的性能进行测试,得到抓取效率值、抓取重要内容的权重值等等。\n[0069] 图4是图1示出的步骤S2的具体子步骤流程图。步骤S2具体包括以下子步骤:\n[0070] S21,根据用户提供的身份信息对用户的身份进行权限校验。可以理解,当存在多用户时,根据不同的用户可以设置相应的权限范围,例如,针对普通用户,设置的权限范围是:只能对插件进行下载操作或者查询操作,针对管理员用户,则可以提供更多的权限,例如,对插件的编辑操作或者删除操作。\n[0071] S22,当用户的身份校验成功后,获取与用户对应的权限信息,并根据所述权限信息向用户提供插件下载、插件上传、或者插件查询的操作权限。\n[0072] S23,当爬虫控制节点获取到所述插件时,在正常工作状态下,重复动态加载所述插件。因此,不需要在系统启动时事先进行插件的加载,可以在需要使用该插件时进行加载,当使用完毕时,停止该插件的抓取工作。\n[0073] 图5是图1示出的步骤S2的另一子步骤流程图,步骤S2还包括以下子步骤:\n[0074] S24,判断用户的操作模式,所述操作模式包括:删除所述插件、增加所述插件、下载所述插件以及修改所述插件。\n[0075] S25,根据所述操作模式以及所述插件的版本信息,对所述插件进行维护,同时,根据用户需求对所述插件进行相应的维护操作。本发明采用GIt(分布式版本控制系统)或者Svn(subversion)进行插件的维护操作。其中,Svn是使用广泛的版本控制管理工具,而Git易于本地增加分支和分布式的特性,可离线提交。Subversion属于集中式的版本控制系统集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有插件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的插件或者提交插件更新。Git属于分布式的版本控制系统,Git记录插件版本历史,主要针对插件数据的整体是否发生变化。同时,Git不保存文件内容前后变化的差异数据。Git是把变化的插件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。\n[0076] 图6是本发明另一较佳实施例提供的面向网页采集任务的插件管理方法流程图。\n在所述步骤S2之后还有步骤S3~S7,\n[0077] S3,爬虫控制节点向插件管理中心发送插件下载请求。\n[0078] S4,所述插件管理中心获取调用所述爬虫控制节点接口的用户的身份信息。\n[0079] S5,所述插件管理中心验证所述身份信息,当所述身份信息通过验证时,所述插件管理中心通过所述下载请求。可以理解,当用户的身份信息未通过验证时,拒绝当前用户获取该插件。\n[0080] S6,根据所述下载请求内包含的插件版本信息,版本控制服务器选择相应版本的插件以供下载。如上例所述,在版本控制服务器建立针对所有插件的索引信息,根据该索引信息获取所需版本的插件。\n[0081] S7,所述爬虫控制节点动态加载所述插件,并开始在所述网页内容内采集所需信息。当爬虫控制节点需要抓取网页内容时,分析所需抓取的内容和需求,根据内容和需求选取相应功能的插件,同时,选取该插件相应的版本,加载该版本的插件,实施网页内容抓取操作,当该插件完成抓取任务时,停止加载该插件。\n[0082] 图7是本发明较佳实施例提供的面向网页采集任务的插件管理装置的结构框图。\n该装置包括:插件开发模块10以及插件管理中心20,其中:\n[0083] 插件开发模块10包括用于对网页内容进行分析的网页分析器11、用于插件进行相关配置的插件配置客户端12以及用于对所述插件进行测试的插件测试客户端13。\n[0084] 插件管理中心20包括用于向用户提供所述插件的下载、上传、查询服务的插件服务模块21以及对插件版本进行控制的版本控制模块22。上述各个模块的功能与上述方法步骤相对应,在此不再赘述。\n[0085] 实施本发明,通过结合Java脚本语言优势,以及现有的版本控制服务器(如上例所述的SVN、Git),提高插件的开发效率,实现插件的自动化管理,从而大大降低插件开发和插件维护的成本。同时,在插件开发时,无需重启程序即可以支持插件的动态重复加载,在插件管理时,管理操作更为安全、便捷。\n[0086] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
法律信息
- 2018-09-18
- 2015-08-05
实质审查的生效
IPC(主分类): G06F 9/44
专利申请号: 201410004005.1
申请日: 2014.01.03
- 2015-07-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2015-07-01
|
2013-12-26
| | |
2
| |
2010-11-24
|
2010-06-25
| | |
3
| |
2009-11-18
|
2009-06-24
| | |
4
| |
2012-06-06
|
2010-12-03
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |