WebCollector分布式爬取

WebCollector-Hadoop是WebCollector的分布式版本,目前为beta版本

项目地址:WebCollector-Hadoop

WebCollector-Hadoop需要运行在Hadoop上,因此最好在Linux中运行。

用本地模式运行WebCollector-Hadoop并不需要配置hadoop环境,WebCollector-Hadoop项目是一个maven项目,本身包含了hadoop核心jar包,直接运行项目即可使用hadoop本地模式运行爬虫。

如果希望将爬虫发布在集群上,使用maven的assembly功能,将整个项目打包成一个完整的jar包,即用命令行进入项目的根目录,执行:

mvn assembly:assembly

打包完毕后,可以在项目的target文件夹中找到一个形如xxxxx-with-dependencies.jar的jar包,用hadoop命令提交这个jar包即可:

hadoop -jar xxxxx.jar 主类

这样就可以在集群上运行WebCollector-Hadoop。

WebCollector-Hadoop的URL维护机制(任务生成、URL去重等)主要学习自Nutch。Nutch是一个为搜索引擎定制的泛爬爬虫,但WebCollector-Hadoop是一个既支持泛爬、又支持定向爬取和精抽取的爬虫。Nutch的URL维护机制中有一套面向搜索引擎的更新、打分机制,WebCollector-Hadoop将这套机制替换为一套适合精数据采集的机制。

这里不得不说的一点是,小规模的集群对爬虫速度的提升并没有太大的帮助,有时候反而慢于单机爬虫(每个机器各开一个单机爬虫)。对于一般的业务,建议还是将任务分离,在每台机器上使用单机爬虫采集比较好,分布式爬虫毕竟有自己的局限性。

目前WebCollector-Hadoop处于beta版,仍在不断改进中。

通过捐款支持WebCollector

维护WebCollector及教程需要花费较大的时间和精力,如果你喜欢WebCollector的话,欢迎通过捐款的方式,支持开发者的工作,非常感谢!

你可以使用支付宝钱包扫描下方的二维码进行捐款, 或者通过向支付宝帐号 [email protected]转帐进行捐款。

WebCollector分布式爬取_第1张图片

你可能感兴趣的:(webcollector)