java 网络爬虫 框架

有些人问,开发网络爬虫应该选择Nutch、Crawler4j、WebMagic、scrapy、WebCollector还是其他的?这里按照我的经验随便扯淡一下:

上面说的爬虫,基本可以分3类:

1.分布式爬虫:Nutch

2.JAVA单机爬虫:Crawler4j、WebMagic、WebCollector

3. 非JAVA单机爬虫:scrapy

第一类:分布式爬虫

爬虫使用分布式,主要是解决两个问题:

1)海量URL管理

2)网速

现在比较流行的分布式爬虫,是Apache的Nutch。但是对于大多数用户来说,Nutch是这几类爬虫里,最不好的选择,理由如下:

1)Nutch是为搜索引擎设计的爬虫,大多数用户是需要一个做精准数据爬取(精抽取)的爬虫。Nutch运行的一套流程里,有三分之二是为了搜索引擎而设计的。对精抽取没有太大的意义。也就是说,用Nutch做数据抽取,会浪费很多的时间在不必要的计算上。而且如果你试图通过对Nutch进行二次开发,来使得它适用于精抽取的业务,基本上就要破坏Nutch的框架,把Nutch改的面目全非,有修改Nutch的能力,真的不如自己重新写一个分布式爬虫框架了。

2)Nutch依赖hadoop运行,hadoop本身会消耗很多的时间。如果集群机器数量较少,爬取速度反而不如单机爬虫快。

3)Nutch虽然有一套插件机制,而且作为亮点宣传。可以看到一些开源的Nutch插件,提供精抽取的功能。但是开发过Nutch插件的人都知道,Nutch的插件系统有多蹩脚。利用反射的机制来加载和调用插件,使得程序的编写和调试都变得异常困难,更别说在上面开发一套复杂的精抽取系统了。而且Nutch并没有为精抽取提供相应的插件挂。Nutch的插件有只有五六个挂载点,而这五六个挂载点都是为了搜索引擎服务的,并没有为精抽取提供挂载点。大多数Nutch的精抽取插件,都是挂载在“页面解析”(parser)这个挂载点的,这个挂载点其实是为了解析链接(为后续爬取提供URL),以及为搜索引擎提供一些易抽取的网页信息(网页的meta信息、text文本)。

4)用Nutch进行爬虫的二次开发,爬虫的编写和调试所需的时间,往往是单机爬虫所需的十倍时间不止。了解Nutch源码的学习成本很高,何况是要让一个团队的人都读懂Nutch源码。调试过程中会出现除程序本身之外的各种问题(hadoop的问题、hbase的问题)。

5)很多人说Nutch2有gora,可以持久化数据到avro文件、hbase、mysql等。很多人其实理解错了,这里说的持久化数据,是指将URL信息(URL管理所需要的数据)存放到avro、hbase、mysql。并不是你要抽取的结构化数据。其实对大多数人来说,URL信息存在哪里无所谓。

6)Nutch2的版本目前并不适合开发。官方现在稳定的Nutch版本是nutch2.2.1,但是这个版本绑定了gora-0.3。如果想用hbase配合nutch(大多数人用nutch2就是为了用hbase),只能使用0.90版本左右的hbase,相应的就要将hadoop版本降到hadoop 0.2左右。而且nutch2的官方教程比较有误导作用,Nutch2的教程有两个,分别是Nutch1.x和Nutch2.x,这个Nutch2.x上写的是可以支持到hbase 0.94。但是实际上,这个Nutch2.x的意思是Nutch2.3之前、Nutch2.2.1之后的一个版本,这个版本在官方的SVN中不断更新。而且非常不稳定(一直在修改)。

所以,如果你不是要做搜索引擎,尽量不要选择Nutch作为爬虫。有些团队就喜欢跟风,非要选择Nutch来开发精抽取的爬虫,其实是冲着Nutch的名气(Nutch作者是Doug Cutting),当然最后的结果往往是项目延期完成。

如果你是要做搜索引擎,Nutch1.x是一个非常好的选择。Nutch1.x和solr或者es配合,就可以构成一套非常强大的搜索引擎了。如果非要用Nutch2的话,建议等到Nutch2.3发布再看。目前的Nutch2是一个非常不稳定的版本。
喜欢阅读
  • 纪少的恃宠娇妻

    纪少的恃宠娇妻

    为了完成母亲临死前千叮咛万嘱咐的遗愿,傅语沉同意替嫁给纪亦泽,谁知大婚后就被父亲傅兴安下了药,一心算盘着自己的退路,一边要想办法让他同意和傅兴安合作……

  • 情意绵绵:许你深情尽余欢

    情意绵绵:许你深情尽余欢

    天色黯淡下来,就是赛车手的天堂。飘雪的冬日,炙热的夏天,天大的恩仇,缠绵的情愫。到底谁是幕后主使,到底是谁在背叛……

  • 霍先生婚后再爱

    霍先生婚后再爱

    为了跟霍靳琛结婚,沈微雨用尽了手段,换来的却只有情敌的挑衅和一纸孕书。她终于忍无可忍决定离婚,冷落了她三年的丈夫冷漠一笑,“除非死,否则你这辈子都别想离婚!”死?不久后,媒体铺天盖地的报道着,霍氏总裁隐婚三年的妻子立下遗嘱,此生不再踏进霍家大门!

  • 强势宠爱:娇妻,乖一点!

    强势宠爱:娇妻,乖一点!

    公司倒闭,父母遇害,商业王国一夜倾塌。她步步为营,讨得他的疯狂宠爱,两人在感情的旋涡中越陷越深……被仇恨蒙蔽双眼的她盗取公司机密,亲手毁了他的公司结果却发现这是一场天大的误会,可大错已铸成……

  • 富可敌国

    富可敌国

    女友因为我穷给我戴了一顶绿帽,却不知家族禁令提前解除,现在的我富可敌国。

  • 美妙心灵·华丽转身

    美妙心灵·华丽转身

    这是关于一个有故事的农村姑娘,只身一人来到大城市北京,努力奋斗、努力工作的励志故事。并且在奋斗的路上,遇见了继父丢失的儿子——宁宁,也就是她青梅竹马的哥哥。他们是如何认出对方的?又是如何最终走在一起?种种疑团都在作品中为您呈现......

  • 血煞仙域

    血煞仙域

    天地浩荡,日月当空,皇天大陆,天骄并起,群雄逐鹿。八年前,少年江枫,被家族弃于妖兽山脉。然,八年后,强势归来,一人一剑,败天骄,压群雄,逆天崛起,制霸五域。圣女?只够资格给我暖床;圣子?只够资格给我背剑!

  • 恐怖殡仪馆

    恐怖殡仪馆

    我叫凌余,跟大胖一起在殡仪馆工作,有一天殡仪馆里来了一具身穿香奈儿的漂亮女尸,我把这套香奈儿偷了回去,送给了女朋友,接着,一连串的邪门事情发生了……接连的死亡,一步步逼近我跟大胖,我们又该如何逃脱死神的追逐?

  • 猜你喜欢
  • java网络爬虫框架
  • java比较好的爬虫框架
  • java最好用的爬虫框架
  • java爬虫框架推荐
  • java高级爬虫框架
  • java爬虫常用框架
  • java中的爬虫框架
  • java所有爬虫框架
  • java爬虫框架大全
  • java爬虫框架核心
  • 热门推荐
  • 我的体育老师dvd版在线播放
  • 高新区t11地址
  • 三星硬盘参数
  • canny算子 c
  • 孔雀开屏简笔画
  • 有刺的果实金樱子
  • swis
  • ES-CLV9B使用说明书
  • 科鲁兹变速箱模块故障
  • 仇保兴简历
  • 阿里克谢 沃罗别夫
  • 7xlive手机直播
  • excle如何统计个数
  • 宇宙追缉令 高清 下载
  • android 图片滑动切换
  • 兄弟干一杯庞龙歌曲
  • qingyi river
  • ice BB fun
  • aloha browser没有盾牌
  • 聚宏鑫这公司是真是假
  • All Right Reserved 资料库