文档详情

一种文章实时智能抓取系统和方法

ting****789
实名认证
店铺
DOCX
41.53KB
约15页
文档ID:308877974
一种文章实时智能抓取系统和方法_第1页
1/15

一种文章实时智能抓取系统和方法专利名称:一种文章实时智能抓取系统和方法技术领域:本发明涉及互联网技术中抓取技术、web挖掘技术、信息抽取技术、自然语言处理技术领域;可以应用于需要大规模精准、实时地抓取文章的门户网站、搜索引擎网站等互联网领域背景技术:本发明专利还具有更多传统抓取系统没有的优点通过同站学习可以自动将网站中非文章页面比如频道页、专题页、列表页、广告页过滤;可以对抓取文章进行近似文档排重;可以对抓取文章进行语义理解,自动分类,自动生成摘要和关键词;可以准确寻找某文章数目50以内的分页序列并对分页内容进行顺序合并;可以对网站抓取范围进行灵活配置支持抓取网站、频道、任意页面上一个或多个列表区域所属的文章在实际应用中,本抓取系统转载文章质量很高,可以直接对外发布面向用户,同时自动适应上千个抓取网站的模版变化,极大的减少了抓取需要的人力参与,在大面积改善门户类网站的新闻覆盖度和实时性同时,也降低了门户类网站的人力成本在所有门户类网站中,本专利都有应用场景,可以有效改善其新闻的覆盖度和实时性,同时降低人力成本同时新闻类搜索引擎中,本专利也可以应用信息抽取领域现在有很多技术方案,核心都是如何生成和维护抽取包装器。

技术上主要分下面两类I)采用机器自动生成抽取包装器技术的抽取系统可以大量抓取文章,但是无法做到文章的精准抽取,抓取文章的可用性低;2)采用人工生成抽取包装器技术的抽取系统,文章抽取结果精准,但是要对互联网上千个网站进行抽取包装器的生成和更新维护工作,只能依赖大量的人力参与;本发明专利的抽取模块以自主研发的“基于同站学习和自动规则生成的文章自动抽取”方法为核心,很好地解决了上面两个问题在实际应用中,本技术方案实现了抽取包装器的机器自动生成和维护,使抽取不需要大量的人力参与;同时还实现了文章的精准抽取,抽取结果很少冗余和遗漏,可用性很闻本发明中涉及一下技术术语,解释如下抽取包装器网页信息抽取是信息抽取中的一类,网页信息抽取的包装器生成技术目前发展成为一个较为独立的领域包装器是由一系列抽取规则以及应用这些规则的计算机代码组成的,专门从特定信息源中抽取需要的信息并返回结果的程序;基于同站学习和自动规则生成的文章自动抽取方法:本发明包含的一个包装器自动生成方法,可以精准智能的从网页中抽取出文章信息;同站学习桉网站为单位,收集一个网站足够量的网页,一起讲行机器统计学习, 进而从中生成需要的规则;爬虫(或者抓取爬虫):抓取系统中单独指负责网页下载的模块;本系统研发的抽取包装器包括两个库Stvle树或者路径库Style的集合库。

Style指的是某个DOM节点在DOM树中进行节点上寻,直到到 body节点,构建出的这样一条路径及其权重信息在库中,路径都以网站为单位组织,同路径合并成一条,并记录频率作为权重;樽式库此处所谓模式包括I) 一个是方法中分段后每一段的如下特征码模式=md5((内容text/img) + 段落 tag 前向遍历序列+site name) +value其中value是权重信息,也即模式的出现频率2)还有一个是对这些段进行统计学习后生成的自动正则模式=正则代理技术代理技术是指代理服务器接收客户请求后会检查验证其合法性,如其合法,代理服务器像一台客户机一样取回所需的信息再转发给客户;实时抓取强调抓取的时效性的一种抓取技术目标是抓取源站更新内容后能够实时抓取到发明内容本发明较好的解决了上述问题根据本发明的文章实时智能抓取系统,包括实时抓取模块、网页抽取系统、文档近似排重模块、文档自动分类模块和文章发布模块其中所述实时抓取模块包括线上和线下两个子模块线上运行子模块如下任务提取模块,从任务(job)集合中轮流提取一个job ;任务解析模块,对每一个任务(job)进行解析,解析结果将会形成一些属性和规则;任务抓取时间范围检验模块,查询任务的时间范围参数,如果时间范围不包含当前时间,将不抓取,跳过本job,否则,进行抓取时间间隔检验;任务抓取时间间隔检验模块,查询任务的抓取时间间隔,如果时间间隔指定下一次抓取时间大于当前,则将不抓取,跳过本job,否则,进行任务抓取;任务调度模块,根据任务解析模块的job其它属性进行job调度,调度时候会判断,如果这个job以往已经存在,则不分发,仍然采用本地服务器来抓取;否则,选择服务器群中现jobs数目较少的一台服务器,以实现抓取任务的均衡,从而优化总体的抓取速度; 同时考虑尽量避免一台服务器上同网站job太多,以防止单台服务器对单个网站抓取压力太大;任务下载模块,进行任务的具体下载,去代理库中取适当数目的代理,一般是5 个;如果没有代理可取,则采用非代理抓取;同时将无代理和上述5个代理合并,形成代理集合;根据解析得到的任务参数,从代理集合中随机选择一个代理,进行任务的本轮下载;任务抓取频率调整模块,根据job的抓取间隔基数,如果本轮抓取发现更新,则随机减少下一轮次抓取时间间隔;如果没有发现更新,则随机放大下一轮次的抓取间隔;但是保证时间间隔是job的抓取间隔基数的[O. 5,2]倍数范围内;所述实时抓取模块还包括如下线下运行子模块任务抓取时间范围发现模块,执行历史抓取日志智能分析工作,从中分析出每一个任务(job)的时间范围;任务抓取时间间隔发现模块,读入昨天的抓取日志,分析每一个job的一天所有轮次的抓取情况,从中分析出每一个job的更新情况;如果发现job的当前间隔基数保证了 50%以上轮次可以抓取到更新,则不调整;否则适当放大当前间隔基数,以降低无谓抓取请求;免费代理收集和验证模块,从互联网免费代理分享网站下载当天的免费代理集合,对这些免费代理进行验证;随机选择历史抓取链接形成验证url集合,使用每一个代理来执行若干次的url抓取,剔除掉不能成功抓取或者抓取速度太慢的代理,留下成功率高同时速度快的代理,形成当天的代理库,以为线上抓取提供代理支持。

本发明所述的网页抽取系统,也即文章类型网页智能抽取系统,包括(I)待抽取网页载入模块,定时查询本地索引,发现新索引就按照索引将网页载入系统内存中;(2)包装器查询模块,对所有待抽取的网页,查询具体抽取包装器信息,如果查询到,就按照抽取包装器,进入抽取模块,进行具体抽取,否则,将网页标记为抽取失败;(3)网页抽取模块,从网页中抽取出具体文章信息,借助已有的抽取包装器;(4)抽取失败网页收集模块,将本轮抽取失败的网页收集起来,按网站分类,以方便进行集中学习;(5)学习判断模块,按同网站查询抽取失败网页集合,根据每一网站的失败网页数量,计算此网站本轮抽取成功失败比例,决定是否进入网页学习模块;(6)网页学习模块,对所有失败网页进行机器学习,最后生成新的抽取包装器;(7)抽取包装器管理模块,对系统的抽取包装器进行管理,也即对路径库和模式库进行管理,,并提供包装器使用接口给网页抽取模块,提供包装器更新接口给网页学习模块所述网页抽取模块还包括HTML解析模块,对传入网页,解析html构建DOM树;正文域寻找模块,根据包装器信息,寻找正文域;文章头和分页信息提取模块,用于提取文章头信息和文章分页信息;正文域修正模块,用于修正正文域;正文域分块模块,用于对正文域分块,同时进行分块属性判定和冗余分块去除;分段过滤模块,用于对正文域进行分段,同时逐段过滤;数据整理模块,用于合并和整理信息,生成最后文章类型的结果。

所述网页学习模块还包括HTML解析模块,对传入网页,解析html构建DOM树;正文域寻找模块,用于寻找正文域;路径库更新模块,用于入库合并,同时对路径库进行整理;文章头和分页信息提取模块,用于提取文章头信息和文章分页信息;正文域修正模块,用于修正正文域;正文域分块模块,用于对正文域分块,同时进行分块属性判定和冗余分块去除;分段学习模块,进行正文域分段,逐段构建模式,入模式库合并;模式归纳模块,对所有模式进行归纳,生成规则,入模式库合并;包装器整理模块,对系统包装器进行整理,去除已经无效的信息所述正文域分块模块,还包括频繁模式识别模块,采用MDR方法来识别频繁模式;分块模块,对得到的频繁模式,进行分块标题寻找、分块父节点上寻,以得到最合适的分块节点组合,然后组合形成分块;分块标记模块,在正文域DOM树中对所有识别出来的分块进行标记本发明还提供了一种文章实时智能抓取方法,所述方法包括实时抓取步骤、网页抽取步骤、文档近似排重步骤、文章自动分类步骤和文章发布步骤所述实时抓取步骤包括线上和线下运行子步骤,其中所述线上运行子步骤包括步骤I,从任务(job)集合中轮流提取一个job ;步骤2,job解析,对每一个job进行解析,解析结果将会形成一些属性和规则;步骤3,时间范围判定,查询任务的时间范围参数,如果时间范围不包含当前时间, 将不抓取,返回步骤1,否则进入下一步骤;步骤4,时间间隔判定,查询任务的抓取时间间隔,如果时间间隔指定下一次抓取时间大于当前,则将不抓取,返回步骤1,否则进入下一步骤;步骤5,job调度,根据任务解析模块的job其它属性进行job调度,调度时候会判断,如果这个job以往已经存在,则不分发,仍然采用本地服务器来抓取;否则,选择服务器群中现jobs数目较少的一台服务器,以实现抓取任务的均衡,从而优化总体的抓取速度; 同时考虑尽量避免一台服务器上同网站job太多,以防止单台服务器对单个网站抓取压力太大;步骤6,任务下载,去代理库中取适当数目的代理,一般是5个;如果没有代理可取,则采用非代理抓取;同时将无代理和上述5个代理合并,形成代理集合;根据解析得到的任务参数,从代理集合中随机选择一个代理,进行任务的本轮下载;步骤7,抓取频率调整,根据job的抓取间隔基数,如果本轮抓取发现更新,则随机减少下一轮次抓取时间间隔;如果没有发现更新,则随机放大下一轮次的抓取间隔;但是保证时间间隔是job的抓取间隔基数的倍数范围内;频率调整完成后,返回步骤 I,重复执行整个流程;所述实时抓取步骤还包括如下线下运行子步骤步骤1,分析日志发现时间范围,执行历史抓取日志智能分析工作,从中分析出每一个任务(job)的时间范围;步骤2,分析日志发现新时间间隔,读入昨天的抓取日志,分析每一个job的一天所有轮次的抓取情况,从中分析出每一个job的更新情况;如果发现job的当前间隔基数保证了 50%以上轮次可以抓取到更新,则不调整;否则适当放大当前间隔基数,以降低无谓抓取请求;步骤3,免费代理搜集和验证,从互联网免费代理分享网站下载当天的免费代理集合,对这些免费代理进行验证;随机选择历史抓取链接形成验证url集合,使用每一个代理来执行若干次的url抓取,剔除掉不能成功抓取或者抓取速度太慢的代理,留下成功率高同时速度快的代理,形成当天的代理库,以为线上抓取提供代理支持。

所述网页抽取步骤,还说明了一种文章类型网页智能抽取方法,包括如下步骤步骤1,待抽取网页载入每隔一段时间就载入所有待抽取的网页集合;如果没有待抽取网页,直接进入步骤6;步骤2,包装器查询对所有待抽取的网页,查询具体抽取包装器信息,如果查询到,就进入步骤4,进行具体抽取;否则,抽取失败,进入步骤5 ;步骤3,网页抽取按照包装器,对网页进行具体抽取,抽取结束后将抽取结果组织成文章类型;步骤4,标记抽取失败将抽取失败网页标记,以方便步骤6收集,同时转步骤2 ;步骤5,收集所有抽取失败网页,形成抽取失败网页集合;步骤6,学习判断按同网站查询抽取失败网页集合,对每一网站的失败网页集合, 判断此网站本轮抽取成功失败比例,决定是否进行机器学习;如果学习,加入待学习网页集合;步骤7,网页学习对每一个网站的所有失败网页进行学习,生成新的抽取包装器;步骤8,抽取包装器管理将新的抽取包装器放入包装器集合中;步骤9,结束文章类型网页智能抽取方法核心环节是抽取环节、学习环节抽取环节,即,上述步骤3,包括如下步骤步骤3. I,HTML解析对传入网页,解析html构建DOM树;先对html做预处理,包括字符格式转换,script/s。

下载提示
相似文档
正为您匹配相似的精品文档