`
loveczp
  • 浏览: 4251 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

基于hadoop的网络爬虫设计1.0

阅读更多

一。用hadoop作网络爬虫的原因

爬虫程序的海量计算特性要求必须要用分布式方式来实现。一般爬虫爬取的是整个互联网上的所有或部分数据,这个数据量一般是P byte级,至少也是T byte级,因此用分布式的方式来获取这是不二之选。在众多的分布式计算框架里hadoop绝对是个中翘楚,从hadoop的用户名单中可以看出hadoop的应用范围已经非常广泛,hadoop本身已经接近成熟。因此hadoop是首选。

hadoop提供了自动的集群管理,任务分配,负载平衡。因此在hadoop之上构建爬虫程序可以省略这部分代码,这将极大的减少代码量。

二。主要思路

1.遍历整个网络的算法:网页之间是通过link连接起来的,link把所有的页面连接成了一个网,这个网可以用数据结构里的图来表示,用遍历图的算法就可以遍历整个网络了。

2任务切分:以站点为单位来切分爬取工作,每个站点对应一个map任务。系统要维护一个全局站点表,站点表用来记录那些站点已经爬取过,那些尚未爬取,那些正在爬取,并且还要向其中加入新发现的站点。

3.map阶段:每个map完成一个站点的爬取任务,同时把发现的新站点加入到全局站点表。生成的<k,v>就是<url ,url对应的页面数据>。此时要维护一个url的hashtable用来记录已经爬取到的页面,并防止相同的页面被重复爬取。

4.reduce阶段:主要任务是把所有的<url ,url对应的页面数据>存储到hdfs货hbase种去。

三。心得

爬虫程序并不是hadoop典型应用场景。hadoop一般应用于海量数据分析和挖掘,这种场景中首先存在着海量输入数据,并且最终得产出物事一个数据量很小的分析数据,在map过程中对海量数据进行划分成小块并进行分布式处理,在reduce的过程中将大量的中间数据进行合并,并最终得到较小的分析结果。

爬虫程序几乎没有输入,并且最终的产出物是海量数据,这和hadoop的典型应用完全是相反的。在爬虫程序的应用场景中reduce阶段几乎是多余的,几乎可以把reduce阶段的工作放到map的末尾来做。

虽然不符合hadoop的典型应用场景,但爬虫程序一样可以从hadoop上获得极大的好处(自动的集群管理,任务分配,负载平衡)。

 

分享到:
评论

相关推荐

    基于Hadoop分布式爬虫设计综述.docx

    基于Hadoop分布式爬虫设计是当今互联网发展的最大挑战之一,旨在快速高效和安全地让网络用户在浩瀚的信息海洋中找到并获取自己所需的资源。本文主要阐述了基于Hadoop分布式文件系统HDFS及其分布式计算框架MapReduce...

    基于Hadoop平台实现一个分布式网络爬虫

    本研究主要探讨了基于Hadoop平台的分布式网络爬虫的设计与实现,具体包括爬虫系统的需求分析、关键技术的选择及其实现方案等。 ##### 1.4 需求分析 - **功能分析**:系统需具备网页抓取、解析、存储等功能模块,...

    基于Hadoop的分布式主题网络爬虫的设计与实现.pdf

    总结而言,该文档介绍了如何利用Hadoop生态系统中的关键技术和工具来设计和实现一个高效的分布式主题网络爬虫。这种爬虫不仅能够高效地抓取和存储海量网络数据,同时在保证数据相关性的同时,还具备良好的扩展性和...

    基于Hadoop的分布式网络爬虫设计与实现.docx

    ### 基于Hadoop的分布式网络爬虫设计与实现 #### 一、研究背景与意义 随着互联网的快速发展,网络上存在着大量的信息资源。如何有效地获取这些信息并进行处理和分析,成为了一个亟待解决的问题。传统的单机网络...

    基于hadoop商品推荐系统课程设计.zip

    《基于Hadoop的商品推荐系统课程设计》 在大数据时代,推荐系统已经成为电商平台不可或缺的一部分,它能够根据用户的历史行为和偏好,智能地为用户提供个性化的产品或服务推荐,从而提高用户满意度和平台的销售业绩...

    基于Hadoop图书推荐系统源码+数据库.zip

    基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书...

    基于Hadoop的分布式并行增量爬虫技术研究

    基于Hadoop的分布式并行增量爬虫技术研究涉及的IT知识点主要包括以下几个方面: 1. Hadoop分布式存储与计算框架 Hadoop是一个开源的分布式存储和计算框架,它能高效地处理大量数据。Hadoop的核心是HDFS(Hadoop ...

    2022毕业设计,基于 Hadoop 的游戏数据分析系统源码.zip

    【标题】:“2022毕业设计,基于 Hadoop 的游戏数据分析系统源码” 这个毕业设计项目主要聚焦于使用Hadoop框架开发一个游戏数据分析系统。Hadoop是Apache软件基金会的一个开源分布式计算平台,专为处理和存储大规模...

    基于Hadoop的电影推荐系统的设计与实现源码(毕业设计)java+Hadoop

    基于Hadoop的电影推荐系统的设计与实现源码(毕业设计)java+Hadoop,使用Hadoop2.7,jdk1.8;分为前台,后台和推荐三个子系统,可直接运行。sql私信

    基于Hadoop的成绩分析系统.docx

    本文档介绍了基于Hadoop的成绩分析系统的设计和实现。Hadoop是一个分布式开源计算平台,具有高可靠性、高扩展性、高效性和高容错性等特点。该系统使用Hadoop的分布式文件系统HDFS和MapReduce来存储和处理大量的学生...

    基于Hadoop的档案共享系统毕业设计(含代码)

    基于Hadoop的档案共享系统是南阳理工学院软件工程专业的一项毕业设计成果,旨在解决传统档案管理方式下信息查找效率低下的问题,通过引入Hadoop这一先进的大数据处理框架,提升档案管理的现代化水平,满足日益增长的...

    基于Hadoop的分布式网络爬虫技术的设计与实现.pdf

    #资源达人分享计划#

    基于hadoop的web云盘系统

    这是一个基于hadoop的云盘系统,实现的界面是用javaweb完成的,使用的是spring Struts2 hibernate集合框架,配有sql文件。直接导入后运行这是一个基于hadoop的云盘系统,实现的界面是用javaweb完成的,使用的是...

    基于hadoop的好友推荐系统

    【标题】"基于Hadoop的好友推荐系统"揭示了如何利用大数据处理框架Hadoop来构建一个高效、可扩展的社交网络中的好友推荐功能。在现代的社交媒体平台中,好友推荐是提升用户粘性和互动性的重要手段,通过分析用户的...

Global site tag (gtag.js) - Google Analytics