发明名称 一种文章实时智能抓取系统和方法
摘要 一种文章实时智能抓取系统,包括实时抓取模块、网页抽取系统、文档近似排重模块、文档自动分类模块和文章发布模块。所述实时抓取模块还包括线上运行的7个模块:任务提取模块、任务解析模块、任务抓取时间范围检验模块、任务抓取时间间隔检验模块、任务调度模块、任务下载模块、任务抓取频率调整模块;还包括线下运行的3个模块:任务抓取时间范围发现模块、任务抓取时间间隔发现模块、免费代理收集和验证模块。
申请公布号 CN102402627B 申请公布日期 2013.08.14
申请号 CN201110455139.1 申请日期 2011.12.31
申请人 凤凰在线(北京)信息技术有限公司 发明人 吴华鹏;曾明;厉锟;陈大伟
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京瑞思知识产权代理事务所(普通合伙) 11341 代理人 李涛
主权项 一种文章实时智能抓取系统,其特征在于,所述系统包括实时抓取模块、网页抽取系统、文档近似排重模块、文档自动分类模块和文章发布模块;所述实时抓取模块包括线上和线下运行子模块; 其中所述线上运行子模块包括: 任务提取模块,从任务job集合中轮流提取一个job; 任务解析模块,对每一个任务job进行解析,解析结果将会形成一些属性和规则; 任务抓取时间范围检验模块,查询任务的时间范围参数,如果时间范围不包含当前时间,将不抓取,跳过本job,否则,进行抓取时间间隔检验; 任务抓取时间间隔检验模块,查询任务的抓取时间间隔,如果时间间隔指定下一次抓取时间大于当前,则将不抓取,跳过本job,否则,进行任务抓取; 任务调度模块,根据任务解析模块的job其它属性进行job调度,调度时候会判断,如果这个job以往已经存在,则不分发,仍然采用本地服务器来抓取;否则,选择服务器群中现jobs数目较少的一台服务器,以实现抓取任务的均衡,从而优化总体的抓取速度;同时考虑尽量避免一台服务器上同网站job太多,以防止单台服务器对单个网站抓取压力太大; 任务下载模块,进行任务的具体下载,去代理库中取适当数目的代理;如果没有代理可取,则采用非代理抓取;同时将无代理和上述所取代理合并,形成代理集合;根据解析得到的任务参数,从代理集合中随机选择一个代理,进行任务的本轮下载; 任务抓取频率调整模块,根据job的抓取间隔基数,如果本轮抓取发现更新,则随机减少下一轮次抓取时间间隔;如果没有发现更新,则随机放大下一轮次的抓取间隔;但是保证时间间隔是job的抓取间隔基数的[0.5,2]倍数范围内; 其中所述线下运行子模块包括: 任务抓取时间范围发现模块,执行历史抓取日志智能分析工作,从中分析出每一个任务job的时间范围; 任务抓取时间间隔发现模块,读入昨天的抓取日志,分析每一个job的一天所有轮次的抓取情况,从中分析出每一个job的更新情况;如果发现job的当前间隔基数保证了50%以上轮次可以抓取到更新,则不调整;否则适当放大当前间隔 基数,以降低无谓抓取请求; 免费代理收集和验证模块,从互联网免费代理分享网站下载当天的免费代理集合,对这些免费代理进行验证;随机选择历史抓取链接形成验证url集合,使用每一个代理来执行若干次的url抓取,剔除掉不能成功抓取或者抓取速度太慢的代理,留下成功率高同时速度快的代理,形成当天的代理库,以为线上抓取提供代理支持。
地址 100029 北京市海淀区海淀路165号凤凰会馆605号