您的位置:网站首页 > Java工具 > 正文

基于Java的大型分布式网络爬虫体系结构

类别:Java工具 日期:2018-8-20 4:48:19 人气: 来源:

  分布式网络爬虫包含多个爬虫,每个爬虫需要完成的任务和单个的爬行器类似,它们从互联网上下载网页,并把网页保存在本地的磁盘,从中抽取URL并沿着这些URL的指向继续爬行。由于并行爬行器需要分割下载任务,可能爬虫会将自己抽取的URL发送给其他爬虫。这些爬虫可能分布在同一个局域网之中,或者分散在不同的地理。

  1、基于局域网分布式网络爬虫:这种分布式爬行器的所有爬虫在同一个局域网里运行,通过高速的网络连接相互通信。这些爬虫通过同一个网络去访问外部互联网,下载网页,所有的网络负载都集中在他们所在的那个局域网的出口上。由于局域网的带宽较高,爬虫之间的通信的效率能够得到;但是网络出口的总带宽上限是固定的,爬虫的数量会受到局域网出口带宽的。

  2、基于广域网分布式网络爬虫:当并行爬行器的爬虫分别运行在不同地理(或网络),我们称这种并行爬行器为分布式爬行器。例如,分布式爬行器的爬虫可能位于中国,日本,和美国,分别负责下载这三地的网页;或者位于CHINANET,CERNET,CEINET,分别负责下载这三个网络的中的网页。分布式爬行器的优势在于可以子在一定程度上分散网络流量,减小网络出口的负载。如果爬虫分布在不同的地理(或网络),需要间隔多长时间进行一次相互通信就成为了一个值得考虑的问题。爬虫之间的通讯带宽可能是有限的,通常需要通过互联网进行通信。

  分布式网络爬虫是一项十分复杂系统。需要考虑很多方面因素。我和小保姆性能可以说是它这重要的指标。当然硬件层面的资源也是必须的。

  核心层由控制者统一调度,将任务发给工人队列中的工人进行爬取操作。各个结点动态的向模块发送模块状态等信息,统一由展示层展示。

  目前已经将fourinone、jeesite、webmagic整合进来,并且进一步进行改进。想最终做成一个基于设计器的动态可配置的分布式爬虫系统,这个是第一阶段的目标。

  1、sourceer,可以接入多种数据源,接口已经定义(加入builder封装,可以使用简单爬虫)。

  2、web架构工程(web工程上传并测试成功,权限、基础框架,导入等已经录成视频,删除activiti,删除cms部分)。

  5、文章等各种去重方式及算法(目前已实现bloomfilter,指纹算法去重,已经实现simhash,分词算法(ansj))。

  本文由 恒宇国际(www.neivn.cn)整理发布

关键词:java 爬虫
0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved