[发明专利]一种文章实时智能抓取系统和方法无效
申请号: | 201210008389.5 | 申请日: | 2012-01-12 |
公开(公告)号: | CN102609456A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 吴华鹏;曾明;厉锟 | 申请(专利权)人: | 凤凰在线(北京)信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京瑞思知识产权代理事务所(普通合伙) 11341 | 代理人: | 李涛 |
地址: | 100029 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文章 实时 智能 抓取 系统 方法 | ||
1.一种文章实时智能抓取系统,其特征在于,所述系统包括实时抓取模块、网页抽取系统、文档近似排重模块、文档自动分类模块和文章发布模块。
2.根据权利要求1所述的系统,其中所述实时抓取模块包括线上和线下运行子模块,线上运行子模块包括:
任务提取模块,从任务job集合中轮流提取一个job;
任务解析模块,对每一个任务job进行解析,解析结果将会形成一些属性和规则;
任务抓取时间范围检验模块,查询任务的时间范围参数,如果时间范围不包含当前时间,将不抓取,跳过本job,否则,进行抓取时间间隔检验;
任务抓取时间间隔检验模块,查询任务的抓取时间间隔,如果时间间隔指定下一次抓取时间大于当前,则将不抓取,跳过本job,否则,进行任务抓取;
任务调度模块,根据任务解析模块的job其它属性进行job调度,调度时候会判断,如果这个job以往已经存在,则不分发,仍然采用本地服务器来抓取;否则,选择服务器群中现jobs数目较少的一台服务器,以实现抓取任务的均衡,从而优化总体的抓取速度;同时考虑尽量避免一台服务器上同网站job太多,以防止单台服务器对单个网站抓取压力太大;
任务下载模块,进行任务的具体下载,去代理库中取适当数目的代理,一般是5个;如果没有代理可取,则采用非代理抓取;同时将无代理和上述5个代理合并,形成代理集合;根据解析得到的任务参数,从代理集合中随机选择一个代理,进行任务的本轮下载;
任务抓取频率调整模块,根据job的抓取间隔基数,如果本轮抓取发现更新,则随机减少下一轮次抓取时间间隔;如果没有发现更新,则随机放大下一轮次的抓取间隔;但是保证时间间隔是job的抓取间隔基数的[0.5,2]倍数范围内。
3.根据权利要求1所述的系统,其中所述实时抓取模块包括线上和线下运行子模块,线下运行子模块包括:
任务抓取时间范围发现模块,执行历史抓取日志智能分析工作,从中分析出每一个任务job的时间范围;
任务抓取时间间隔发现模块,读入昨天的抓取日志,分析每一个job的一天所有轮次的抓取情况,从中分析出每一个job的更新情况;如果发现job的当前间隔基数保证了50%以上轮次可以抓取到更新,则不调整;否则适当放大当前间隔基数,以降低无谓抓取请求;
免费代理收集和验证模块,从互联网免费代理分享网站下载当天的免费代理集合,对这些免费代理进行验证;随机选择历史抓取链接形成验证url集合,使用每一个代理来执行若干次的url抓取,剔除掉不能成功抓取或者抓取速度太慢的代理,留下成功率高同时速度快的代理,形成当天的代理库,以为线上抓取提供代理支持。
4.一种文章实时智能抓取方法,其特征在于,所述方法包括实时抓取步骤、网页抽取步骤、文档近似排重步骤、文章自动分类步骤和文章发布步骤;所述实时抓取步骤还包括线上和线下运行子步骤。
5.根据权利要求4所述的方法,所述线上运行子步骤包括:
步骤1,从任务job集合中轮流提取一个job;
步骤2,job解析,对每一个job进行解析,解析结果将会形成一些属性和规则;
步骤3,时间范围判定,查询任务的时间范围参数,如果时间范围不包含当前时间,将不抓取,返回步骤1,否则进入下一步骤;
步骤4,时间间隔判定,查询任务的抓取时间间隔,如果时间间隔指定下一次抓取时间大于当前,则将不抓取,返回步骤1,否则进入下一步骤;
步骤5,job调度,根据任务解析模块的job其它属性进行job调度,调度时候会判断,如果这个job以往已经存在,则不分发,仍然采用本地服务器来抓取;否则,选择服务器群中现jobs数目较少的一台服务器,以实现抓取任务的均衡,从而优化总体的抓取速度;同时考虑尽量避免一台服务器上同网站job太多,以防止单台服务器对单个网站抓取压力太大;
步骤6,任务下载,去代理库中取适当数目的代理,一般是5个;如果没有代理可取,则采用非代理抓取;同时将无代理和上述5个代理合并,形成代理集合;根据解析得到的任务参数,从代理集合中随机选择一个代理,进行任务的本轮下载;
步骤7,抓取频率调整,根据job的抓取间隔基数,如果本轮抓取发现更新,则随机减少下一轮次抓取时间间隔;如果没有发现更新,则随机放大下一轮次的抓取间隔;但是保证时间间隔是job的抓取间隔基数的[0.5,2]倍数范围内;频率调整完成后,返回步骤1,重复执行整个流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于凤凰在线(北京)信息技术有限公司,未经凤凰在线(北京)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210008389.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于水体中的浮舱式潜水电泵及其安装方法
- 下一篇:注射装置